public static void Start(List <Entity> matchingEntities) { Analytics.CustomEvent("Day Two Started"); var mcGraw = EntityQueries.GetEntityWithName(matchingEntities, NPCS.McGraw.Name); var player = EntityQueries.GetEntityWithName(matchingEntities, NPCName.You); var loveStoryActions = LoveStory.DayTwoMorning(); foreach (var actionPair in loveStoryActions) { var entity = actionPair.GetEntity(); var action = actionPair.GetGameAction(); ActionManagerSystem.Instance.QueueAction(entity, action); } //McGraw var mcGrawSequence = new ActionSequence("McGraw Day Two Morning"); mcGrawSequence.Add(new CallbackAction(() => { EventSystem.EndDrinkMakingEvent.Invoke(); ActionManagerSystem.Instance.AddActionToFrontOfQueueForEntity(player, new TeleportAction(Locations.CenterOfBar())); })); //This is kind of dirty - but demo! mcGrawSequence.Add(new PauseAction(2.0f)); //WORKAROUND FOR SYNC ACTION BUG mcGrawSequence.Add(DrugStory.InspectorQuestions(mcGraw)); ActionManagerSystem.Instance.QueueAction(mcGraw, mcGrawSequence); }
public static void Start(List <Entity> matchingEntities) { var loveStoryActions = LoveStory.DayTwoNight(); foreach (var actionPair in loveStoryActions) { var entity = actionPair.GetEntity(); var action = actionPair.GetGameAction(); ActionManagerSystem.Instance.QueueAction(entity, action); } var mcGraw = EntityQueries.GetEntityWithName(matchingEntities, NPCS.McGraw.Name); var jannet = EntityQueries.GetEntityWithName(matchingEntities, NPCS.Jannet.Name); var q = EntityQueries.GetEntityWithName(matchingEntities, NPCS.Q.Name); var player = EntityQueries.GetEntityWithName(matchingEntities, NPCName.You); //Jannet var jannetSequence = new ActionSequence("Jannet night"); jannetSequence.Add(new CallbackAction(() => { EventSystem.EndDrinkMakingEvent.Invoke(); ActionManagerSystem.Instance.AddActionToFrontOfQueueForEntity(player, new TeleportAction(Locations.CenterOfBar())); })); //This is kind of dirty - but demo! jannetSequence.Add(new PauseAction(0.1f)); //WORKAROUND FOR SYNC ACTION BUG jannetSequence.Add(new TeleportAction(Locations.SitDownPoint1())); jannetSequence.Add(new SetReactiveConversationAction(new JannetNightTwo(), jannet)); jannetSequence.Add(CommonActions.SitDownLoop()); ActionManagerSystem.Instance.QueueAction(jannet, jannetSequence); //McGraw and Q DrugStory.DrugPusherInspectorShowdown(mcGraw, q, Locations.SitDownPoint2()); }
private void DayPhaseChangedTo(DayPhase phase) { if (phase == DayPhase.Open) { inUseCharacters.Clear(); specialCharacters.Clear(); specialCharacterActions.Clear(); if (time.GameTime.GetDay() == 1) { var dayOneStart = DrugStory.DayOneStart(); foreach (var pair in dayOneStart) { specialCharacters.AddLast(pair.GetEntity()); specialCharacterActions.Add(pair.GetEntity(), pair.GetGameAction()); } } else if (time.GameTime.GetDay() == 2) { var dayTwoStart = DrugStory.DayTwoState(); foreach (var pair in dayTwoStart) { specialCharacters.AddLast(pair.GetEntity()); specialCharacterActions.Add(pair.GetEntity(), pair.GetGameAction()); } } } }