コード例 #1
0
    void SettingActionInspector(TutorialAction nowAction)
    {
        switch (nowAction.tutorialActionType)
        {
        case TutorialAction.EnumTutorialAction.MESSAGE:
            MessageInspector(nowAction);
            break;

        case TutorialAction.EnumTutorialAction.WAIT:
            WaitInspector(nowAction);
            break;

        case TutorialAction.EnumTutorialAction.EMOTION:
            EmotionInspector(nowAction);
            break;

        case TutorialAction.EnumTutorialAction.DRAW_IMAGE:
            DrawImage(nowAction);
            break;

        case TutorialAction.EnumTutorialAction.PRACTICE_SKILL:
            SetPracticeSkill(nowAction);
            break;

        case TutorialAction.EnumTutorialAction.RESET_PRACTICE:
            SetResetSkill(nowAction);
            break;

        case TutorialAction.EnumTutorialAction.RESCUE:
            Rescue(nowAction);
            break;
        }
    }
コード例 #2
0
    void EmotionInspector(TutorialAction nowAction)
    {
        SetAITarget("이모티콘 AI", nowAction);

        //2. 어떤이모티콘
        nowAction.emoticonType = (TutorialAction.EnumEmoticon)EditorGUILayout.EnumPopup
                                     ("이모티콘 종류",
                                     nowAction.emoticonType);
    }
コード例 #3
0
ファイル: TutorialEditor.cs プロジェクト: Nachtrind/Fungus
 bool HasSameTypeActions(Tutorial tut, TutorialAction ac)
 {
     for (var i =0; i < tut.EventActions.Count; i++)
     {
         if (tut.EventActions[i].Event == ac.Event & tut.EventActions[i] != ac)
         {
             return true;
         }
     }
     return false;
 }
コード例 #4
0
    void MessageInspector(TutorialAction nowAction)
    {
        // 1. 텍스트 타입 설정
        nowAction.messageSizeType = (TutorialAction.EnumMessageSize)EditorGUILayout.EnumPopup
                                        ("텍스트 창 타입",
                                        nowAction.messageSizeType);

        // 2. 텍스트 설정
        EditorGUILayout.LabelField("텍스트 내용");
        nowAction.messageText = EditorGUILayout.TextArea(nowAction.messageText);
    }
コード例 #5
0
    void DrawImage(TutorialAction nowAction)
    {
        // 1. 어떤 이미지를 보여줄건지 선택하고.
        nowAction.imageObject = EditorGUILayout.ObjectField("이미지 선택",
                                                            nowAction.imageObject, typeof(GameObject), false) as GameObject;


        // 2. 어디 좌표에 이미지를 보여줄건지 선택한다.
        nowAction.imageXPosition = EditorGUILayout.FloatField("X축 선택",
                                                              nowAction.imageXPosition);
        nowAction.imageYPosition = EditorGUILayout.FloatField("Y축 선택",
                                                              nowAction.imageYPosition);
    }
コード例 #6
0
    void SetAITarget(string enumText, TutorialAction nowAction)
    {
        //1. 대상
        nowAction.tutorialAIType = (TutorialAction.EnumTutorialAI)EditorGUILayout.EnumPopup
                                       (enumText,
                                       nowAction.tutorialAIType);

        // 1-1 대상을 토대로 설정
        int tutorialAIType = (int)nowAction.tutorialAIType;

        // 1-2 대상의 오브젝트 선정
        if (tutorialAIType <= tutorialAI.AI.Length - 1)
        {
            nowAction.aIObject = tutorialAI.AI[tutorialAIType];
        }
    }
コード例 #7
0
 public bool IsTutorialRestricted(TutorialAction action)
 {
     if (GetComponent <TutorialPlayer>() != null)
     {
         if (action == TutorialAction.Move)
         {
             return(!GetComponent <TutorialPlayer>().can_move);
         }
         else if (action == TutorialAction.Pass)
         {
             return(!GetComponent <TutorialPlayer>().can_pass);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(false);
     }
 }
コード例 #8
0
 public TutorialActionEvent(long tutorialId, long stepId, TutorialAction action)
 {
     this.TutorialId = tutorialId;
     this.StepId     = stepId;
     this.Action     = action;
 }
コード例 #9
0
    public override void OnInspectorGUI()
    {
        // 임시로 쥐로 설정한다.
        TutorialElement[] tutorialPlayer = tutorialGuide.mouseTutorialElements;


        // 1. 쥐 튜토리얼 수 받기
        DynamicTutorialElement();

        int count = tutorialGuide.maxMouseTutorialCount;

        EditorGUI.indentLevel++;

        for (int i = 0; i < count; i++)
        {
            EditorGUILayout.Space();
            EditorGUILayout.LabelField("--- " + (i + 1) + " 번째 튜토리얼 사항" + " ---");


            // 간단하게 튜토리얼 속성 사용
            TutorialElement nowElement = tutorialPlayer[i];

            // 조건 동적생성
            DynamicTutorialCondition(nowElement);

            // 액션 동적생성
            DynamicTutorialAction(nowElement);



            EditorGUILayout.Space();
            EditorGUILayout.Space();


            // 조건 설정
            int conditionCount = nowElement.maxTutorialCondition;

            for (int dtc = 0; dtc < conditionCount; dtc++)
            {
                // 간단하게 사용하기 위해 정의
                TutorialCondition nowCondition = nowElement.tutorialConditions[dtc];

                // 1. 타입 지정
                nowCondition.tutorialConditionType =
                    (TutorialCondition.EnumTutorialCondition)EditorGUILayout.EnumPopup
                        ("조건 정의",
                        nowCondition.tutorialConditionType);

                // 2. 타입별로 인스펙터 조절
                SettingConditionInspector(nowCondition);

                EditorGUILayout.Space();
            }



            EditorGUILayout.Space();
            EditorGUILayout.LabelField("-------------------");
            EditorGUILayout.Space();



            int actionCount = nowElement.maxTutorialAction;

            for (int dta = 0; dta < actionCount; dta++)
            {
                // 간단하게 설정하기
                TutorialAction nowAction = nowElement.tutorialActions[dta];


                // 1. 타입 지정
                nowAction.tutorialActionType =
                    (TutorialAction.EnumTutorialAction)EditorGUILayout.EnumPopup
                        ("액션 정의",
                        nowAction.tutorialActionType);

                // 2. 타입별로 인스펙터 조절
                SettingActionInspector(nowAction);

                EditorGUILayout.Space();
            }
        }
        EditorGUI.indentLevel--;
    }
コード例 #10
0
 public ControlTutorialInstruction(TutorialAction action)
 {
     this.Action = action;
 }
コード例 #11
0
 void WaitInspector(TutorialAction nowAction)
 {
     nowAction.waitTime = EditorGUILayout.FloatField("대기시간", nowAction.waitTime);
 }
コード例 #12
0
 void Rescue(TutorialAction nowAction)
 {
     SetAITarget("구출 설정 대상", nowAction);
 }
コード例 #13
0
 void SetResetSkill(TutorialAction nowAction)
 {
     nowAction.PracticeSkillType = (TutorialAction.EnumPracticeSkill)EditorGUILayout.EnumPopup
                                       ("리셋스킬 선택",
                                       nowAction.PracticeSkillType);
 }