protected override IEnumerator Cast() { target = ActorProxy.GetRandomEnemyCanBeAttacked(); if (target == null) { ActorProxy.Destroy(); yield break; } var iceBallAction = new IceBallAction(); RunningAction = iceBallAction; yield return(iceBallAction.ActionWithSync(ActorProxy, target.ActorProxy)); RunningAction = null; }