breakpoint
before update unity version
This commit is contained in:
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"name": "BITKit.Entities.Player.Character",
|
||||
"rootNamespace": "",
|
||||
"references": [
|
||||
"GUID:14fe60d984bf9f84eac55c6ea033a8f4",
|
||||
"GUID:709caf8d7fb6ef24bbba0ab9962a3ad0",
|
||||
"GUID:f822dbf6fdfd4a5469cccaa2e4eed3b6",
|
||||
"GUID:f51ebe6a0ceec4240a699833d6309b23",
|
||||
"GUID:d525ad6bd40672747bde77962f1c401e",
|
||||
"GUID:49b49c76ee64f6b41bf28ef951cb0e50",
|
||||
"GUID:7efac18f239530141802fb139776f333",
|
||||
"GUID:9354affc93e0f3e4a904785e7d4c0f59"
|
||||
],
|
||||
"includePlatforms": [],
|
||||
"excludePlatforms": [],
|
||||
"allowUnsafeCode": false,
|
||||
"overrideReferences": false,
|
||||
"precompiledReferences": [],
|
||||
"autoReferenced": true,
|
||||
"defineConstraints": [],
|
||||
"versionDefines": [],
|
||||
"noEngineReferences": false
|
||||
}
|
@@ -1,109 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using BITKit.PlayerCamera;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering;
|
||||
namespace BITKit.Entities.Player.Character
|
||||
{
|
||||
public class EntityCharacter : EntityPlayerBehavior
|
||||
{
|
||||
[Header(Constant.Header.Components)]
|
||||
[SerializeField] private Renderer[] fpvRenderer = Array.Empty<Renderer>();
|
||||
[SerializeField] private Renderer[] tpvRenderer = Array.Empty<Renderer>();
|
||||
[SerializeField] private Renderer[] fpvOverrideRenderers = Array.Empty<Renderer>();
|
||||
[SerializeField] private Transform[] tpvRendererGroup = Array.Empty<Transform>();
|
||||
[Header(Constant.Header.Reference)]
|
||||
[SerializeReference, SubclassSelector] public IReference getDamage;
|
||||
|
||||
[Inject(true)] private IHealth _health;
|
||||
|
||||
[Inject(true)] private IPlayerCameraService _cameraService;
|
||||
|
||||
[Inject(true)] private IEntityOverride _entityOverride;
|
||||
|
||||
private Renderer[] _tpvRendererGroup;
|
||||
|
||||
public override void OnStart()
|
||||
{
|
||||
if (_health is not null)
|
||||
{
|
||||
_health.OnSetAlive += _ => UpdateMeshState();
|
||||
_health.OnDamageRelease += OnDamageRelease;
|
||||
}
|
||||
|
||||
if (_cameraService is not null)
|
||||
_cameraService.OnCameraActivated += _ => UpdateMeshState();
|
||||
|
||||
if(_entityOverride is not null)
|
||||
_entityOverride.OnOverride += _ => UpdateMeshState();
|
||||
|
||||
_tpvRendererGroup = tpvRendererGroup.SelectMany(x => x.GetComponentsInChildren<Renderer>(true)).ToArray();
|
||||
}
|
||||
public override void OnPlayerInitialized()
|
||||
{
|
||||
UpdateMeshState();
|
||||
}
|
||||
public override void OnPlayerDispose()
|
||||
{
|
||||
SetFPV(false);
|
||||
}
|
||||
// private void OnSetHP(int hp)
|
||||
// {
|
||||
// UnityEntity.Invoke<string>(Constant.Animation.Play, getDamage.Value);
|
||||
// }
|
||||
private void OnDamageRelease(DamageMessage damageMessage)
|
||||
{
|
||||
UnityEntity.Invoke<string>(Constant.Animation.Play, getDamage.Value);
|
||||
}
|
||||
|
||||
private void UpdateMeshState()
|
||||
{
|
||||
switch (_health, _cameraService)
|
||||
{
|
||||
case (null, null):
|
||||
SetFPV(true);
|
||||
break;
|
||||
case (null, not null):
|
||||
SetFPV(_cameraService.IsCameraActivated);
|
||||
break;
|
||||
case (not null, null):
|
||||
SetFPV(_health.IsAlive);
|
||||
break;
|
||||
case (not null, not null):
|
||||
SetFPV(_health.IsAlive && _cameraService.IsCameraActivated);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void SetFPV(bool isFpv)
|
||||
{
|
||||
var shadowMode = isFpv ?
|
||||
ShadowCastingMode.ShadowsOnly :
|
||||
ShadowCastingMode.On;
|
||||
foreach (var x in fpvRenderer)
|
||||
{
|
||||
x.enabled = isFpv;
|
||||
}
|
||||
foreach (var x in tpvRenderer)
|
||||
{
|
||||
x.shadowCastingMode = shadowMode;
|
||||
}
|
||||
foreach (var x in _tpvRendererGroup)
|
||||
{
|
||||
x.shadowCastingMode =
|
||||
_entityOverride is not null
|
||||
? _entityOverride.IsOvering ? ShadowCastingMode.On : shadowMode
|
||||
: shadowMode;
|
||||
}
|
||||
|
||||
if (_entityOverride is not null)
|
||||
{
|
||||
foreach (var x in fpvOverrideRenderers)
|
||||
{
|
||||
x.enabled = isFpv && _entityOverride.IsOvering;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -163,7 +163,7 @@ namespace BITKit.Entities
|
||||
damageMessage.Initiator?.Invoke(damageMessage);
|
||||
damageMessage.Target?.Invoke(damageMessage);
|
||||
|
||||
if (heal?.IsAlive is false)
|
||||
if (heal!.IsAlive)
|
||||
{
|
||||
OnEntityDamaged?.Invoke(damageMessage);
|
||||
|
||||
|
Reference in New Issue
Block a user