public override void OnHeartBeat() { base.OnHeartBeat(); if (IsHealthBarVisibleWholeTime) { if (_uiEnemyStateView == null) { _uiEnemyStateView = ObjectManager.GetInstance.GetObject <UIEnemyStateView>(ObjectManager.PoolTag.General, HUDManager.GetInstance.EnemyHealthBarPrefab, null, GameManager.GetInstance.UIRootTransform); if (MaxLifeSpanCount != 0) { _uiEnemyStateView.SetType(UIEnemyStateView.GaugeType.LifeCount); } _uiEnemyStateView.SetTrigger(this); } _uiEnemyStateView.UpdateState(); } if (State == UnitState.Dead) { if (DecayTimeLeft <= 0) { MaterialApplier.RevertTrigger(); ObjectManager.RemoveObject(this); } return; } if (UnitActivity == Activity.Hunt && IsInAttackRange) { TryPushNextPattern(); } PatternGroup.ForEach(pattern => { pattern.PatternCooldown = Math.Max(0, pattern.PatternCooldown - 1); }); Delay = Math.Max(0, Delay - 1); }
void Start() { matApp = new MaterialApplier(backGroundMeshRender, TopPlaneMeshRender, BottonRightPlaneMeshRender, BottonLeftPlaneMeshRender); }