private void EnemyAtt(object sender, GameEventArgs e) { EnemySelectionEventArgs ne = (EnemySelectionEventArgs)e; TargetableObject enemy = (TargetableObject)sender; ResolveEnemyEffects(enemy, ne.effects); }
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); }
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); }