public Logic(ThrowStage stage) : base(stage.Shape) { _stage = stage; SetHandler(stage.Outlet, onPull: () => Pull(stage.Inlet)); SetHandler(stage.Inlet, onPush: DoNothing); }
public void Init(EnemyAI ai) { stage = ThrowStage.Preparing; time = UnityEngine.Time.time; ai.enemyAnimation.SetState(EnemyAnimation.State.@throw); Debug.Log("ThrowState :: Init"); }
public void SpawnBall(EnemyAI ai) { stage = ThrowStage.Throwing; Vector3 ballPos = ai.transform.Find("ball").transform.position; // Timo var ob = UnityEngine.Object .Instantiate(ai.throwingBall, ballPos, ai.transform.rotation) .GetComponent <AIBall>(); var vec = ai.GetTargetVector(); ob.SetValues(ballPos, -vec, ai.GetTargetDistance(), -vec.y); ai.CurrentState = new IdleState(); }