void UpdateDictionaries() { Mission selectedMission = target as Mission; List <MissionEvent> allevents = new List <MissionEvent>(); for (int i = 0; i < selectedMission.events.Count; i++) { allevents.AddRange(selectedMission.events[i].allEvents); } for (int i = 0; i < allevents.Count; i++) { if (!eventEditors.ContainsKey(allevents[i])) { MissionEventEditor edit = MissionEventEditor.Create(allevents[i], selectedMission); eventEditors.Add(allevents[i], edit); } } }
public static MissionEventEditor Create(MissionEvent evt, Mission miss) { MissionEventEditor editor = null; System.Type type = evt.GetType(); if (type == typeof(ME_KillCharacter)) { editor = new ME_KillCharacterEditor() as MissionEventEditor; } else if (type == typeof(ME_GiveItem)) { editor = new ME_GiveItemsEditor() as MissionEventEditor; } else if (type == typeof(ME_Visu16)) { editor = new ME_Visu16Editor() as MissionEventEditor; } if (editor != null) { editor.initialize(evt, miss); } return(editor); }