コード例 #1
0
    void ShowRes()
    {
        if (curAchievement == null)
        {
            curAchievement = GameObject.FindObjectOfType(typeof(LevelAchievemCtrl)) as LevelAchievemCtrl;
            //set value form  last 
            if (curAchievement)
            {
                select.curChapterIndex = EditorPrefs.GetInt(KEY_ChapterIndex, select.curChapterIndex);
                select.curDungeonIndex = EditorPrefs.GetInt(KEY_DungeonIndex, select.curDungeonIndex);
                select.curConfigIndex = EditorPrefs.GetInt(KEY_ConfigIndex, select.curConfigIndex);
            }
        }

        GUILayout.BeginHorizontal();

        string resName = prefab ? "Res:" : AllStrings.FILE_LEVEL_ACHIEVEMENT + select.GetConfigId();
        GUILayout.Label(resName);

        //是否有Prefab
        bool hasRes = EditorGUILayout.ObjectField("", prefab, typeof(Object), false);

        if (!hasRes)
        {
            if (GUILayout.Button("创建关卡成就"))
            {
                CreatePrefab();
            }
        }
        else
        {
            if (GUILayout.Button("显示关卡成就"))
            {
                LoadAchievemToScene();
            }
        }

        if (curAchievement != null && targetPrefab != null)
        {
            if (GUILayout.Button("保存当前关卡"))
            {
                SaveLevel();
            }
        }

        GUILayout.EndHorizontal();
    }
コード例 #2
0
    void LoadAchievemToScene()
    {
        if (curAchievement != null)
        {
            curAchievement.gameObject.SetActive(false);
        }

        LevelAchievemCtrl lc = GetExistLevel(curAchievemName);
        if (lc != null)
        {
            lc.gameObject.SetActive(true);
            curAchievement = lc;
        }
        else
        {
            GameObject go = KMPrefabEditor.LoadPrefab(prefab, null);
            go.transform.parent = goParent.transform;
            curAchievement = go.GetComponent<LevelAchievemCtrl>();
        }

        targetPrefab = prefab;

        Selection.activeGameObject = curAchievement.gameObject;

        //save data form last load
        EditorPrefs.SetInt(KEY_DungeonIndex, select.curDungeonIndex);
        EditorPrefs.SetInt(KEY_ChapterIndex, select.curChapterIndex);
        EditorPrefs.SetInt(KEY_ConfigIndex, select.curConfigIndex);
    }
コード例 #3
0
 void OnEnable()
 {
     script = (LevelAchievemCtrl)target;
 }