示例#1
0
    public virtual void CheckStory()
    {
        Story storyActive = storyTasks.GetFirstComponentInChildren <Story>(x => x.active);

        if (storyActive != null)
        {
            storyActive.BroadcastMessage("Check", SendMessageOptions.DontRequireReceiver);
            if (storyActive.GetFirstComponentInChildren <Story>(x => !x.complete) == null && ((storyActive.requirements.Count == 0) || storyActive.complete))
            {
                storyActive.complete = true;
                storyActive.BroadcastMessage("SetActive", false, SendMessageOptions.DontRequireReceiver);
                storyActive = storyTasks.GetFirstComponentInChildren <Story>(x => !x.active && !x.complete);
                if (storyActive == null)
                {
                    PlayerInfo.Instance.CharacterComplete();
                }
                else
                {
                    storyActive.BroadcastMessage("SetActive", true, SendMessageOptions.DontRequireReceiver);
                    CheckStory();
                }
            }
        }

        activeStoreCounter = GetActiveStory().Count - 1;
        activeStoreCounter = (activeStoreCounter < 0) ? 0 : activeStoreCounter;
    }