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);
    }
Beispiel #2
0
    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));
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    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));
        }
    }
Beispiel #5
0
    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));
    }
Beispiel #6
0
 public void test_PlayAnimation(EventHookPhase phase, EventHookType type)
 {
     StartCoroutine(PlayAnimation(phase, type));
 }
Beispiel #7
0
    /// <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();
        }
    }