public override void OnInspectorGUI()
    {
        base.DrawDefaultInspector();

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("이펙트 발사~"))
        {
            _editor.start();
        }
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("UI 초기화."))
        {
            _editor.collectUI();
        }
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("버튼위치변경"))
        {
            _editor.refreshPosition();
        }
        EditorGUILayout.EndHorizontal();


        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("일반이동"))
        {
            _editor.play(false);
        }

        if (GUILayout.Button("액트오픈"))
        {
            _editor.play(true);
        }
        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("FSM 초기화"))
        {
            _editor.resetPlayMaker();
        }

        EditorGUILayout.BeginHorizontal();
        if (GUILayout.Button("스테이지 애니동작"))
        {
            _editor.playStageAni();
        }


        if (GUI.changed)
        {
            EditorUtility.SetDirty(target);
        }
    }
Ejemplo n.º 2
0
    public void startNextStageAnimationStep2()
    {
        if (GameManager.me.stageManager.nowPlayingGameType != GameType.Mode.Epic)
        {
            return;
        }

        int prevStage = GameDataManager.instance.maxStage - 1;
        int prevAct   = GameDataManager.instance.maxActWithCheckingMaxAct;

        if (prevStage < 1)
        {
            --prevAct;
            prevStage = 5;
        }



        if (prevStage == 5 && GameDataManager.instance.maxActWithCheckingMaxAct - 2 >= 0)
        {
            setCameraPositionByAct(prevAct);
            // 맵이 열리는 애니메이션도 한다.
            _isActClearScene = true;

            mapRoad.refresh(prevAct, prevStage, UIWorldMapRoad.RefreshType.ActOpen);

            mapEffectManager.spCurrentActLock = mapRoad.spActLockCover[GameDataManager.instance.maxActWithCheckingMaxAct - 2];
            mapRoad.spActLock[GameDataManager.instance.maxActWithCheckingMaxAct - 2].gameObject.SetActive(false);

            mapEffectManager.play(true);



            Hashtable hash = new Hashtable();
            hash.Add("islocal", true);
            hash.Add("time", 0.8f);
            hash.Add("easetype", iTween.EaseType.linear);

            Vector3 pos = camWorldCamera.transform.localPosition;


            // 새 액트가 열릴때 그 액트를 화면 중앙으로 옮기는데 그때의 좌표다.
            switch (prevAct)
            {
            case 1:
                pos.x = 256;
                break;

            case 2:
                pos.x = 731;
                break;

            case 3:
                pos.x = 1268;
                break;

            case 4:
                pos.x = 1868;
                break;

            case 5:
                pos.x = 2353;                //2442;
                break;

                /*
                 * case 6:
                 * pos.x = 2379;
                 * break;
                 * case 7:
                 *
                 * break;
                 *
                 * case 8:
                 *
                 * break;
                 *
                 * case 9:
                 *
                 * break;
                 */
            }

            if (prevAct < GameManager.MAX_ACT)
            {
                hash.Add("position", pos);
                iTween.MoveTo(camWorldCamera.gameObject, hash);
            }
        }
        else
        {
            setCameraPositionByAct(prevAct);             // 이건 테스트용..

            mapRoad.refresh(prevAct, prevStage, UIWorldMapRoad.RefreshType.StageOpen);

            // 단순히 걷기만 한다.
            _isActClearScene = false;
            mapEffectManager.play(false);
        }
    }