public void Init() { List <NarrativeInfo> narrativeInfoList = CsvUtil.LoadObjects <NarrativeInfo>("narrative.csv"); narrativeActionDictionary = new Dictionary <string, HashSet <NarrativeAction> >(); narrativeInfoDictionary = new Dictionary <string, NarrativeInfo>(); enabledNarrativeActionNames = new HashSet <string>(); enabledNarrativeActions = new HashSet <NarrativeAction>(); activeNarrativeActions = new List <NarrativeAction>(); foreach (NarrativeInfo info in narrativeInfoList) { narrativeInfoDictionary[info.identifier] = info; System.Type narrativeType = System.Type.GetType(info.narrativeAction); NarrativeAction action = (NarrativeAction)System.Activator.CreateInstance(narrativeType, info); Achievement achievement = AchievementManager.Instance.achievementDictionary[info.achievement]; if (achievement.state == AchievementState.complete) { continue; } if (achievement.state == AchievementState.active) { activeNarrativeActions.Add(action); } if (!narrativeActionDictionary.ContainsKey(info.achievement)) { narrativeActionDictionary[info.achievement] = new HashSet <NarrativeAction>(); } narrativeActionDictionary[info.achievement].Add(action); } }
void OnEnable() { t = (NarrativeAction)target; GetTarget = new SerializedObject(t); PrecondList = GetTarget.FindProperty("preconditions"); PostcondList = GetTarget.FindProperty("postConditions"); actionName = GetTarget.FindProperty("actionName"); ConditionList = GetTarget.FindProperty("globalConditionList"); }
public void Init() { List <NarrativeInfo> narrativeInfoList = CsvUtil.LoadObjects <NarrativeInfo>("narrative.csv"); narrativeActionDictionary = new Dictionary <string, HashSet <NarrativeAction> >(); enabledNarrativeActions = new HashSet <string>(); activeNarrativeActions = new List <NarrativeAction>(); foreach (NarrativeInfo info in narrativeInfoList) { System.Type narrativeType = System.Type.GetType(info.narrativeAction); NarrativeAction action = (NarrativeAction)System.Activator.CreateInstance(narrativeType, info); if (!narrativeActionDictionary.ContainsKey(info.achievement)) { narrativeActionDictionary[info.achievement] = new HashSet <NarrativeAction>(); } narrativeActionDictionary[info.achievement].Add(action); } }