Esempio n. 1
0
    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");
 }
Esempio n. 3
0
    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);
        }
    }