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(); }
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); }
void OnEnable() { script = (LevelAchievemCtrl)target; }