Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
 void Start()
 {
     matApp = new MaterialApplier(backGroundMeshRender, TopPlaneMeshRender, BottonRightPlaneMeshRender, BottonLeftPlaneMeshRender);
 }