示例#1
0
        /// <summary>
        ///		Loads a new chapter and it's events.
        /// </summary>
        public void StartNewChapter()
        {
            if (File.Exists(CurrentChapter.VideoName))
            {
                VideoPlayer.url = CurrentChapter.VideoName;
            }
            else
            {
                throw new FileNotFoundException(string.Format("Unable to find the specified file: {0}", CurrentChapter.VideoName));
            }

            eventData = CurrentChapter.GetChronolocalList();

            StopCoroutine(WaitForEvent());
            StartCoroutine(WaitForEvent());
        }
示例#2
0
        public TimelineEventData AddEvent(TimelineEventContainer.EventType type)
        {
            if (CurrentChapter == null)
            {
                return(null);
            }

            TimelineEventData timelineEvent = TimelineEventContainer.CreateEventDataOfType(type);

            timelineEvent.Id   = CurrentChapter.NextId();
            timelineEvent.Type = type;
            CurrentChapter.AddEvent(timelineEvent);
            ComponentInterface.Spawn(timelineEvent);

            return(timelineEvent);
        }
示例#3
0
    public static void InteractWith(string interactiveElementAssetName, string choiceName)
    {
        if (CurrentChapter == null)
        {
            Debug.LogError(
                "Current chapter was not set in ChapterManager and we are trying to interact with element: " +
                interactiveElementAssetName);
            return;
        }

        var element = CurrentChapter.GetElementByName(interactiveElementAssetName);

        if (element == null)
        {
            Debug.LogError("Element not found!!!");
            return;
        }

        InteractWith(element, GetChoiceWithName(choiceName));
    }
 public bool ToNextChapter()
 {
     if (IsEnd)
     {
         return(false);
     }
     else
     {
         currentChapterIndex++;
         if (CurrentChapter.IsSufficientPlotTriggerConditions())
         {
             return(true);
         }
         else
         {
             currentChapterIndex--;
             return(false);
         }
     }
 }
示例#5
0
 public void UpdateEvent(TimelineEventData updatedEvent)
 {
     CurrentChapter.UpdateEvent(updatedEvent);
 }
示例#6
0
 public void RemoveEvent(TimelineEventData data)
 {
     CurrentChapter.RemoveEvent(data);
     ComponentInterface.Despawn(data);
 }