public async void Execute() { var dt = Time.deltaTime; _timer += dt; if (_timer >= 1.5f) { var playerEntity = _contexts.game.playerTagEntity; _timer = 0; var x = Random.Range(-9f, 9f); var y = Random.Range(-5f, 5f); var pos = new Vector2(x, y) + playerEntity.posComp.Value; var enemyEntity = EnemyUtil.CreateEnemyEntity(_contexts, new Vector2(x, y), Random.Range(0, 360f)); await Task.Delay( (int)(enemyEntity.GetStat(StatFlag.FollowStartTime) * 1000)); if (!enemyEntity.IsValid()) { return; } enemyEntity.AddTargetComp( playerEntity.idComp.Value, ActorTag.Player, FindTargetType.Given, LostTargetActionType.None); } }
protected override void OnDestroyEntityHandler() { EnemyUtil.CreateCoin(_selfEntity); base.OnDestroyEntityHandler(); }