private void UpdateAnimaton() { AnimatorStateInfo info = Anim.GetCurrentAnimatorStateInfo(0); switch (State) { case E_State.Idle: if (!info.IsName("Idle")) { Anim.SetInteger("State", (int)State); } break; case E_State.Laser: if (!info.IsName("Laser")) { Anim.SetInteger("State", (int)State); } else { if (info.normalizedTime >= 0.15f && info.normalizedTime < 1) { Fire(); } else if (info.normalizedTime >= 1) { State = E_State.Idle; } } break; case E_State.Throw: if (!info.IsName("Throw")) { Anim.SetInteger("State", (int)State); } else { if (info.normalizedTime >= 0.24f && !HasStonrBornEffect) { HasStonrBornEffect = true; EffectManager.Instance.Spawn(EffectName.Effect_WStone_Born, StoneBornPoint.transform); } if (info.normalizedTime >= 0.44f && !HasStone) { HasThrow = false; HasStone = true; Stone = WeaponManager.Instance.CreateWeapon(ModelName.WStone); Stone.transform.SetParent(StoneBornPoint.transform); Stone.transform.localPosition = Vector3.zero; StoneList.Add(Stone); } if (info.normalizedTime >= 0.76f && !HasThrow) { HasThrow = true; Throw(); } if (info.normalizedTime > 0.99f) { State = E_State.Idle; } } break; } }
public void PlayMove(Stone color, int x, int y) { StoneList.Add(new GoBoardPoint(x, y), color); Redraw(); }