Exemplo n.º 1
0
        private void EnemyAtt(object sender, GameEventArgs e)
        {
            EnemySelectionEventArgs ne    = (EnemySelectionEventArgs)e;
            TargetableObject        enemy = (TargetableObject)sender;

            ResolveEnemyEffects(enemy, ne.effects);
        }
Exemplo n.º 2
0
        public static EnemySelectionEventArgs Create([NotNull] List <Effect> effects)
        {
            if (effects == null)
            {
                throw new ArgumentNullException(nameof(effects));
            }
            EnemySelectionEventArgs result = ReferencePool.Acquire <EnemySelectionEventArgs>();

            result.effects = new List <Effect>(effects);
            return(result);
        }
Exemplo n.º 3
0
        protected override void OnUpdate(IFsm <EnemyLogic> enemyOwner, float elapseSeconds, float realElapseSeconds)
        {
            base.OnUpdate(enemyOwner, elapseSeconds, realElapseSeconds);
            accTime -= Time.deltaTime;
            if (!(accTime <= 0))
            {
                return;
            }
            var enemy = enemyOwner.Owner;
            var att   = enemy.enemyData.EnemyPattern[enemy.attackIdx];

            GameEntry.Widget.HideIntent(enemyOwner.Owner);
            GameEntry.Event.FireNow(enemy, EnemySelectionEventArgs.Create(att));
            enemyOwner.Owner.CachedTransform.DOShakePosition(0.3f);
            ChangeState <EnemyResetState>(enemyOwner);
        }