private void drawPhotos(PhotoVo photo) { photo.lastTime = EditorGUILayout.FloatField("ID:", photo.lastTime); photo.name = EditorGUILayout.TextField("name:", photo.name); photo.waitTime = EditorGUILayout.FloatField("waitTime:", photo.waitTime); photo.position = EditorGUILayout.TextField("position", photo.position); photo.size = EditorGUILayout.TextField("size", photo.size); }
private void drawAction(StoryActionNode action) { action.type = EditorGUILayout.TextField("类型:", action.type); action.args = EditorGUILayout.TextField("参数:", action.args); // monsters { StoryMonster[] monsters = action.Monster; if (monsters.Length > 0) { if (bShowMonsters.Count <= 0) { foreach (var monster in monsters) { bShowMonsters.Add(true); } } EditorGUILayout.BeginVertical(subGroupStyle); int removeIndex = -1; for (int i = 0; i < monsters.Length; ++i) { //bShowMonsters[i] = EditorGUILayout.Foldout(bShowMonsters[i], "Monsters(" + (i + 1) + ")"); //if (bShowMonsters[i]) EditorGUILayout.Foldout(true, "Monsters(" + (i + 1) + ")"); { EditorGUILayout.BeginVertical(subGroupStyle); var monster = monsters[i]; drawMonster(monster); EditorGUILayout.EndVertical(); } if (enableAddAndRemove && GUILayout.Button("删除这一个Monster")) { removeIndex = i; } } EditorGUILayout.EndVertical(); if (removeIndex >= 0) { var tempList = new List <StoryMonster>(monsters); tempList.RemoveAt(removeIndex); action.Monster = tempList.ToArray(); } } if (enableAddAndRemove && StyledButton("添加Monster")) { List <StoryMonster> tempActionList = new List <StoryMonster>(monsters); StoryMonster v = new StoryMonster(); tempActionList.Add(v); action.Monster = tempActionList.ToArray(); } } // photos { var photos = action.Photo; if (photos.Length > 0) { if (bShowPhotos.Count <= 0) { foreach (var photo in photos) { bShowPhotos.Add(true); } } int removeIndex = -1; EditorGUILayout.BeginVertical(subGroupStyle); for (int i = 0; i < photos.Length; ++i) { //bShowPhotos[i] = EditorGUILayout.Foldout(bShowPhotos[i], "Photos(" + (i + 1) + ")"); //if (bShowPhotos[i]) EditorGUILayout.Foldout(true, "Photos(" + (i + 1) + ")"); { EditorGUILayout.BeginVertical("GroupBox"); var photo = photos[i]; drawPhotos(photo); EditorGUILayout.EndVertical(); } if (enableAddAndRemove && GUILayout.Button("删除这个Photo")) { removeIndex = i; } } EditorGUILayout.EndVertical(); if (removeIndex >= 0) { var tempList = new List <PhotoVo>(photos); tempList.RemoveAt(removeIndex); action.Photo = tempList.ToArray(); } } if (enableAddAndRemove && StyledButton("添加Photo")) { List <PhotoVo> tempActionList = new List <PhotoVo>(photos); PhotoVo v = new PhotoVo(); tempActionList.Add(v); action.Photo = tempActionList.ToArray(); } } // talks { var talks = action.Talk; if (talks.Length > 0) { if (bShowTalks.Count <= 0) { foreach (var talk in talks) { bShowTalks.Add(true); } } int removeIndex = -1; EditorGUILayout.BeginVertical(subGroupStyle); for (int i = 0; i < talks.Length; ++i) { //bShowTalks[i] = EditorGUILayout.Foldout(bShowTalks[i], "Talks(" + (i + 1) + ")"); //if (bShowTalks[i]) EditorGUILayout.Foldout(true, "Talks(" + (i + 1) + ")"); { EditorGUILayout.BeginVertical("GroupBox"); var talk = talks[i]; drawTalk(talk); EditorGUILayout.EndVertical(); } if (enableAddAndRemove && GUILayout.Button("删除这个Talk")) { removeIndex = i; } } EditorGUILayout.EndVertical(); if (removeIndex >= 0) { var tempList = new List <TalkVo>(talks); tempList.RemoveAt(removeIndex); action.Talk = tempList.ToArray(); } } if (enableAddAndRemove && StyledButton("添加Talk")) { List <TalkVo> tempActionList = new List <TalkVo>(talks); TalkVo v = new TalkVo(); tempActionList.Add(v); action.Talk = tempActionList.ToArray(); } } // NPCTalks { var npcTalks = action.NpcTalk; if (npcTalks.Length > 0) { if (bShowNPCTalks.Count <= 0) { foreach (var v in npcTalks) { bShowNPCTalks.Add(true); } } int removeIndex = -1; EditorGUILayout.BeginVertical(subGroupStyle); for (int i = 0; i < npcTalks.Length; ++i) { //bShowNPCTalks[i] = EditorGUILayout.Foldout(bShowNPCTalks[i], "NPCTalks(" + (i+1)+ ")"); //if (bShowNPCTalks[i]) EditorGUILayout.Foldout(true, "NPCTalks(" + (i + 1) + ")"); { EditorGUILayout.BeginVertical("GroupBox"); drawNPCTalk(npcTalks[i]); EditorGUILayout.EndVertical(); } if (enableAddAndRemove && GUILayout.Button("删除这个NpcTalk")) { removeIndex = i; } } EditorGUILayout.EndVertical(); if (removeIndex >= 0) { var tempList = new List <NpcTalkVo>(npcTalks); tempList.RemoveAt(removeIndex); action.NpcTalk = tempList.ToArray(); } } if (enableAddAndRemove && StyledButton("添加NpcTalk")) { List <NpcTalkVo> tempActionList = new List <NpcTalkVo>(npcTalks); NpcTalkVo v = new NpcTalkVo(); tempActionList.Add(v); action.NpcTalk = tempActionList.ToArray(); } } }