public void PlayAnim(EventHookPhase HookPhase, EventHookType type) { string anim_name = ""; if (HookPhase == EventHookPhase.RefillActionCardPhase) { anim_name = "draw_"; } else if (HookPhase == EventHookPhase.MoveCardDropPhase) { anim_name = "move_"; } else if (HookPhase == EventHookPhase.AttackCardDropPhase) { anim_name = "atk_"; } else if (HookPhase == EventHookPhase.DefenceCardDropPhase) { anim_name = "def_"; } if (type == EventHookType.Before) { anim_name = anim_name + "in"; } else if (type == EventHookType.After) { anim_name = anim_name + "out"; } anim.Play(anim_name, -1); }
public IEnumerator DeferencePhaseAnimation(EventHookPhase phase, EventHookType type, RangeType range) { switch (phase) { case (EventHookPhase.AttackCardDropPhase): this.cAnimator.Play("def_ready"); break; case (EventHookPhase.DefenceCardDropPhase): if (type == EventHookType.Before) { this.cAnimator.Play("def_pick_card"); } else if (type == EventHookType.After) { this.cAnimator.Play("def_ok_state"); } break; case (EventHookPhase.DetermineBattlePointPhase): //100 this.cAnimator.Play("def_start_dice"); // atk break; } yield return(new WaitForSeconds(1.5f)); }
public IEnumerator IPlayerPhaseTurn(EventHookPhase hookPhase, EventHookType type, PlayerSide CurrentAtker, RangeType range) { phaseTurn.PlayAnim(hookPhase, type); if (hookPhase == EventHookPhase.MoveCardDropPhase && type == EventHookType.Before) { yield return(SelfCCSetPhase.MovePhaseAnimation(true)); } else if (hookPhase == EventHookPhase.MoveCardDropPhase && type == EventHookType.After) { yield return(SelfCCSetPhase.MovePhaseAnimation(false)); } if (CurrentAtker == PlayerSide.Host) { // self is atker StartCoroutine(SelfCCSetPhase.AttackerPhaseAnimation(hookPhase, type, range)); StartCoroutine(DuelCCSetPhase.DeferencePhaseAnimation(hookPhase, type, range)); } else { // dueler is atker StartCoroutine(DuelCCSetPhase.AttackerPhaseAnimation(hookPhase, type, range)); StartCoroutine(SelfCCSetPhase.DeferencePhaseAnimation(hookPhase, type, range)); } yield return(new WaitForSeconds(1.2f)); yield return(true); }
public void PlayerPhaseTurn(EventHookPhase hookPhase, EventHookType type, PlayerSide CurrentAtker, RangeType range) { phaseTurn.PlayAnim(hookPhase, type); if (hookPhase == EventHookPhase.MoveCardDropPhase && type == EventHookType.Before) { StartCoroutine(SelfCCSetPhase.MovePhaseAnimation(true)); return; } else if (hookPhase == EventHookPhase.MoveCardDropPhase && type == EventHookType.After) { StartCoroutine(SelfCCSetPhase.MovePhaseAnimation(false)); return; } // self is atker if (CurrentAtker == PlayerSide.Host) { StartCoroutine(SelfCCSetPhase.AttackerPhaseAnimation(hookPhase, type, range)); StartCoroutine(DuelCCSetPhase.DeferencePhaseAnimation(hookPhase, type, range)); } else { // dueler is atker StartCoroutine(DuelCCSetPhase.AttackerPhaseAnimation(hookPhase, type, range)); StartCoroutine(SelfCCSetPhase.DeferencePhaseAnimation(hookPhase, type, range)); } }
public IEnumerator AttackerPhaseAnimation(EventHookPhase phase, EventHookType type, RangeType range) { string dist = ""; switch (range) { case RangeType.Long: case RangeType.Middle: dist = "l"; break; case RangeType.Short: dist = "s"; break; } switch (phase) { case EventHookPhase.AttackCardDropPhase: if (type == EventHookType.Before) { this.cAnimator.Play("atk_ready"); yield return(new WaitForSeconds(1.5f)); this.cAnimator.Play("atk_pick_up_" + dist); } else if (type == EventHookType.After) { this.cAnimator.Play("atk_ok_state_" + dist); } break; case EventHookPhase.DetermineBattlePointPhase: if (type == EventHookType.Before) { this.cAnimator.Play("atk_start_dice"); // atk } break; } yield return(new WaitForSeconds(1.5f)); }
public void test_PlayAnimation(EventHookPhase phase, EventHookType type) { StartCoroutine(PlayAnimation(phase, type)); }
/// <summary> /// ready -> pick-up -> ok_state -> start-dice /// </summary> /// <param name="phase"></param> /// <param name="event_phase"></param> /// <returns></returns> public IEnumerator PlayAnimation(EventHookPhase phase, EventHookType event_phase) { if (this.cAnimator == null) { yield return(false); } Debug.Log(phase); switch (phase) { // Move-phase in case EventHookPhase.MoveCardDropPhase: { //30 if (event_phase == EventHookType.Before) { this.cAnimator.Play("move"); yield return(new WaitForSeconds(1.5f)); } break; } // Move-phase out case EventHookPhase.FinishMovePhase: { //50 if (event_phase == EventHookType.Before) { this.cAnimator.Play("move_left"); yield return(new WaitForSeconds(1.5f)); } break; } // wiede case EventHookPhase.AttackCardDropPhase: { //80 if (event_phase == EventHookType.Before) { if (is_first_attack) { this.cAnimator.Play("atk_ready"); yield return(new WaitForSeconds(1.5f)); this.cAnimator.Play("atk_pick_up_" + dist); } // atk else { this.cAnimator.Play("def_ready"); } // def } else if (event_phase == EventHookType.After) { if (is_first_attack) { this.cAnimator.Play("atk_ok_state_" + dist); } // atk - end of picking } yield return(new WaitForSeconds(1.5f)); break; } case EventHookPhase.DefenceCardDropPhase: //90 if (event_phase == EventHookType.Before) { if (!is_first_attack) { this.cAnimator.Play("atk_ready"); yield return(new WaitForSeconds(1.5f)); this.cAnimator.Play("atk_pick_up_" + dist); } else { this.cAnimator.Play("def_ready"); } // def } else if (event_phase == EventHookType.After) { if (!is_first_attack) { this.cAnimator.Play("def_ok_state"); } else { this.cAnimator.Play("atk_ok_state_" + dist); } } yield return(new WaitForSeconds(1.5f)); break; // case EventHookPhase.AttackCardDropPhase: // if (event_phase == EventHookType.Before) { // if (!is_first_attack) { // this.cAnimator.Play("atk_ready"); // yield return new WaitForSeconds(1.5f); // this.cAnimator.Play("atk_pick_up_" + dist); // } // atk // else { // this.cAnimator.Play("def_ready"); // } // def // } else if (event_phase == EventHookType.After) { // if (!is_first_attack) { // this.cAnimator.Play("atk_ok_state_" + dist); // } // atk - end of picking // } // yield return new WaitForSeconds(1.5f); // break; // case EventHookPhase.DefenceCardDropPhase: // if (event_phase == EventHookType.Before) { // if (is_first_attack) { // this.cAnimator.Play("def_pick_up"); // } //def // } else if (event_phase == EventHookType.After) { // if (is_first_attack) { // this.cAnimator.Play("def_ok_state"); // } //def // } // yield return new WaitForSeconds(1.5f); // break; case EventHookPhase.DetermineBattlePointPhase: //100 // case EventHookPhase.DetermineBattlePointPhase: //160 if (event_phase == EventHookType.Before) { if (is_first_attack) { this.cAnimator.Play("atk_start_dice"); // atk } else { this.cAnimator.Play("def_start_dice"); } yield return(new WaitForSeconds(1.5f)); } break; default: break; } yield return(true); }
public override void OnInspectorGUI() { DrawDefaultInspector(); MainCtrlComp d = (MainCtrlComp)target; // ---------------------------------------------- EditorGUILayout.Space(30); EditorGUILayout.LabelField("Character Card Asset"); if (GUILayout.Button("Test Load Asset ")) { d.TestLoad(); } EditorGUILayout.Space(10); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Test Open Self CC Info Panel")) { d.OpenCCInfoPanel(1); } if (GUILayout.Button("Test Open Duel CC Info Panel")) { d.OpenCCInfoPanel(0); } EditorGUILayout.EndHorizontal(); // ---------------------------------------------- EditorGUILayout.Space(30); EditorGUILayout.LabelField("Status Control"); EditorGUILayout.BeginHorizontal(); TestStatusID = EditorGUILayout.IntField("Test ID", TestStatusID); TestStatusCD = EditorGUILayout.IntField("Test CD", TestStatusCD); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Insert Status into Self ")) { d.InsertStatusToSelf(TestStatusID, TestStatusCD); } if (GUILayout.Button("Insert Status into Duel")) { d.InsertStatusToDuel(TestStatusID, TestStatusCD); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Remove Status into Self ")) { d.RemoveStatusToSelf(TestStatusCD); } if (GUILayout.Button("Remove Status into Duel")) { d.RemoveStatusToDuel(TestStatusCD); } EditorGUILayout.EndHorizontal(); // ---------------------------------------------- EditorGUILayout.Space(30); EditorGUILayout.LabelField("EventCard Block Test"); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Generate Card Set")) { d.SelfEventCardSetTest(); d.DuelEventCardSetTest(); } if (GUILayout.Button("Gen Card Set with dt")) { d.TestGenerateCardData(); } EditorGUILayout.EndHorizontal(); if (GUILayout.Button("Draw 5 Card")) { for (int i = 0; i < 5; i++) { d.SelfDrawCardTest(); d.DuelDrawCardTest(); } } if (GUILayout.Button("Self Ready")) { d.SelfFlipOpenTest(); } if (GUILayout.Button("Duel Drop Card")) { d.DuelRamdomPush(); } if (GUILayout.Button("Duel Flip Card")) { d.DuelFlipOpenTest(); } // EditorGUILayout.EndHorizontal(); // EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Card Drop End Phase")) { d.SelfCardToDestroy(); d.DuelCardToDestroy(); } // ---------------------------------------------- // ---------------------------------------------- EditorGUILayout.Space(30); EditorGUILayout.LabelField("Range Changing Test"); // EditorGUILayout.BeginHorizontal(); TestRange = (RangeType)EditorGUILayout.EnumPopup("Range", TestRange); if (GUILayout.Button("Run Change")) { d.PlayChangeRange(TestRange); } // ---------------------------------------------- EditorGUILayout.Space(30); EditorGUILayout.LabelField("Player Option Phase Turn"); TestFirstAtk = (PlayerSide)EditorGUILayout.EnumPopup("First Atk", TestFirstAtk); PhaseSingal_HookPhase = (Test_EventHookPhase)EditorGUILayout.EnumPopup("Test Flag", PhaseSingal_HookPhase); PhaseSingal_type = (EventHookType)EditorGUILayout.EnumPopup("Test Type", PhaseSingal_type); if (GUILayout.Button("Run Change")) { d.PlayerPhaseTurn( Test_EventHookPhaseCast.ToEventHookPhase(PhaseSingal_HookPhase), PhaseSingal_type, TestFirstAtk, TestRange); } // ---------------------------------------------- // Whole Flow EditorGUILayout.Space(30); EditorGUILayout.LabelField("Whole Game Flow"); // Game Init if (GUILayout.Button("Game Init")) { d.TestGameInitPhase(); } // Draw Phase if (GUILayout.Button("Draw Phase")) { Debug.Log("Start Draw Phase"); d.TestGameDrawPhaseUI(); Debug.Log("End Draw Phase"); } // Move Phase if (GUILayout.Button("Move Phase")) { Debug.Log("Start Move Phase"); d.TestMovePhaseUI(); } // Attack if (GUILayout.Button("Host Attack Phase")) { // Start Attack Phase d.TestHostAtkPhaseUI(); // dice } // Dice Phase / Determine-battle-point if (GUILayout.Button("Dueler Attack Phase")) { d.TestDuelAtkPhaseUI(); } }