protected override void SetUpSchedules() { BeginDayChat = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterYoung), new YoungCarpenterSonToCarpenterConvo()); BeginDayChat.SetCanInteract(false); BeginDayWithDad = new Schedule(this, Schedule.priorityEnum.DoNow); TimeTask BeginDayTimeTask = new TimeTask(10, new WaitTillPlayerCloseState(this, ref player)); BeginDayTimeTask.AddFlagToSet(FlagStrings.carpenterSonYoungConvoWithDadFinished); BeginDayWithDad.Add(BeginDayTimeTask); this.AddSchedule(BeginDayWithDad); this.AddSchedule(BeginDayChat); TalkWithCastleman = new Schedule (this, Schedule.priorityEnum.High); TalkWithCastleman.Add(new TimeTask(300, new WaitTillPlayerCloseState(this, ref player))); Task setFlag = (new TimeTask(2f, new IdleState(this))); setFlag.AddFlagToSet(FlagStrings.InitialConversationWithCSONFriend); TalkWithCastleman.Add(setFlag); TalkWithCastleman.AddFlagGroup("CSONMEETCASTLEMAN"); TalkWithCastlemanNotFriend = new Schedule (this, Schedule.priorityEnum.High); TalkWithCastlemanNotFriend.Add(new TimeTask(300, new WaitTillPlayerCloseState(this, ref player))); Task setFlagNOT = (new TimeTask(2f, new IdleState(this))); setFlagNOT.AddFlagToSet(FlagStrings.InitialConversationWithCSONNOTFriend); TalkWithCastlemanNotFriend.Add(setFlagNOT); TalkWithCastleman.AddFlagGroup("CSONMEETCASTLEMAN"); Woodworking = new Schedule( this, Schedule.priorityEnum.Medium); //Woodworking.Add (new TimeTask(300, new WaitState(this))); Task whittleTask = new TimeTask(30, new AbstractAnimationState(this, "Whittle")); whittleTask.AddFlagToSet(FlagStrings.carpenterSonYoungCompletedWhittling); whittleSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); whittleSchedule.SetCanInteract(false); whittleSchedule.Add(whittleTask); Task whittleDoneTask = new Task(new IdleState(this)); whittleDoneSchedule = new Schedule(this, Schedule.priorityEnum.Medium); whittleDoneSchedule.SetCanInteract(true); whittleDoneSchedule.Add(whittleDoneTask); }
protected override void SetUpSchedules() { InitialSchedule = new ScheduleLoop(this, Schedule.priorityEnum.Medium); Task waitForPlayer = new Task(new WaitTillPlayerCloseState(this, ref player)); InitialSchedule.Add(waitForPlayer); Task SayHi = new Task(new AbstractAnimationState(this, "Hi"), this, 0.1f, "Psst! Come over here!"); InitialSchedule.Add(SayHi); InitialSchedule.Add(new Task(new WaitTillPlayerCloseState(this, ref player))); Task playWithSword = new Task(new AbstractAnimationState(this, "Play With Sword")); InitialSchedule.Add(playWithSword); AttemptToTellOnLighthouse = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FarmerFatherYoung), new LightHouseToFarmerFather(),Schedule.priorityEnum.DoConvo); AttemptToTellOnLighthouse.SetCanNotInteractWithPlayer(); tellOnLighthouseConversationSchedule = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlYoung), new YoungFarmerMotherToLighthouseGirlToldOn(),Schedule.priorityEnum.DoConvo); Task SetFlagToBeach = (new Task(new MoveThenDoState(this, this.gameObject.transform.position, new MarkTaskDone(this)))); SetFlagToBeach.AddFlagToSet(FlagStrings.GoDownToBeach); TalkWithCastleman = new Schedule (this, Schedule.priorityEnum.DoNow); TalkWithCastleman.Add(new TimeTask(3000, new WaitTillPlayerCloseState(this, ref player))); Task setFlag = (new TimeTask(2f, new IdleState(this))); setFlag.AddFlagToSet(FlagStrings.StartTalkingToLighthouse); TalkWithCastleman.Add(setFlag); TalkWithCastleman.AddFlagGroup("TalkWithCastleman"); GaveApple = new Schedule(this, Schedule.priorityEnum.High); GaveApple.Add(new TimeTask(10f, new AbstractAnimationState(this, "Play With Sword"))); GaveApple.Add(SetFlagToBeach); //GaveApple.Add(new TimeTask(500f, new IdleState(this))); GaveNothingSchedule = new Schedule(this, Schedule.priorityEnum.High); GaveNothingSchedule.Add(new TimeTask(750f, new IdleState(this))); GaveNothingSchedule.Add(SetFlagToBeach); WalkToBeach = new Schedule(this, Schedule.priorityEnum.High); WalkToBeach.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.MiddleOfBeachYoung))); Task setAtBeachFlag = new TimeTask(0f, new IdleState(this)); setAtBeachFlag.AddFlagToSet(FlagStrings.LighthouseAtBeach); WalkToBeach.Add(setAtBeachFlag); LighthouseGoingToBeach = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FarmerMotherYoung), new LighthouseToFarmerMother(),Schedule.priorityEnum.DoConvo, true); LighthouseGoingToBeach.SetCanNotInteractWithPlayer(); }
protected override void SetUpSchedules() { float dateTime = 100; openningWaitingSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); openningWaitingSchedule.Add(new TimeTask(200, new WaitTillPlayerCloseState(this, ref player))); Task postOpening = new TimeTask(.1f,new IdleState(this)); postOpening.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoStart); openningWaitingSchedule.Add(postOpening); backToFarmSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); backToFarmSchedule.Add(new TimeTask(6f, new IdleState(this))); backToFarmSchedule.Add(new Task(new MoveThenDoState(this, startingPosition, new MarkTaskDone(this)))); ropeDownSchedule = new Schedule(this, Schedule.priorityEnum.High); ropeDownSchedule.Add(new TimeTask(30, new WaitTillPlayerGoneState(this, player))); Task setFlag = new Task( new MoveThenDoState(this, startingPosition, new MarkTaskDone(this))); setFlag.AddFlagToSet(FlagStrings.WaitingForDate); ropeDownSchedule.Add(setFlag); ropeDownSchedule.AddFlagGroup("a"); turnAround = new Schedule(this, Schedule.priorityEnum.DoNow); turnAround.Add(new Task(new MoveThenDoState(this, new Vector3(MapLocations.MiddleOfBeachMiddle.x+.1f, MapLocations.MiddleOfBeachMiddle.y, MapLocations.MiddleOfBeachMiddle.z), new MarkTaskDone(this)))); turnAround.AddFlagGroup("b"); /*postOpenningSchedule = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FarmerMotherMiddle), new MiddleFarmerMotherToLighthouseGirl(), Schedule.priorityEnum.DoConvo); postOpenningSchedule.SetCanNotInteractWithPlayer();*/ introConvo = new Schedule(this, Schedule.priorityEnum.DoNow); introConvo.Add(new Task (new MoveThenDoState(this, new Vector3(startingPosition.x-.01f, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); Task introConvoChatOne = new TimeTask(.1f,new IdleState(this)); introConvoChatOne.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoOne); introConvo.Add(introConvoChatOne); introConvo.Add(new TimeTask(4.3f, new IdleState(this))); Task introConvoChatTwo = new TimeTask(.1f,new IdleState(this)); introConvoChatTwo.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoTwo); introConvo.Add(introConvoChatTwo); introConvo.Add(new TimeTask(5.3f, new IdleState(this))); Task introConvoChatThree = new TimeTask(.1f,new IdleState(this)); introConvoChatThree.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoThree); introConvo.Add(introConvoChatThree); introConvo.Add(new TimeTask(4.3f, new IdleState(this))); Task introConvoChatFour = new TimeTask(.1f,new IdleState(this)); introConvoChatFour.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoFour); introConvo.Add(introConvoChatFour); introConvo.Add(new TimeTask(6.3f, new IdleState(this))); Task introConvoChatFive = new TimeTask(.1f,new IdleState(this)); introConvoChatFive.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoFive); introConvo.Add(introConvoChatFive); introConvo.Add(new TimeTask(2.3f, new IdleState(this))); Task introConvoChatSix = new TimeTask(.1f,new IdleState(this)); introConvoChatSix.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoSix); introConvo.Add(introConvoChatSix); introConvo.Add(new TimeTask(5.3f, new IdleState(this))); Task introConvoChatSeven = new TimeTask(.1f,new IdleState(this)); introConvoChatSeven.AddFlagToSet(FarmerFamilyFlagStrings.IntroConvoSeven); introConvo.Add(introConvoChatSeven); introConvo.Add(new TimeTask(2f, new IdleState(this))); introConvo.SetCanInteract(false); #region castleMarriage castleMarriage = new Schedule(this, Schedule.priorityEnum.DoNow); Task castleMarriageChatOne = new TimeTask(.1f,new IdleState(this)); castleMarriageChatOne.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageOne); castleMarriage.Add(castleMarriageChatOne); castleMarriage.Add(new TimeTask(5f, new IdleState(this))); castleMarriage.Add(new Task(new MoveThenDoState(this, new Vector3(startingPosition.x - 1, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); castleMarriage.Add(new TimeTask(5.3f, new IdleState(this))); Task castleMarriageChatTwo = new TimeTask(.1f,new IdleState(this)); castleMarriageChatTwo.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageTwo); castleMarriage.Add(castleMarriageChatTwo); castleMarriage.Add(new TimeTask(7.3f, new IdleState(this))); Task castleMarriageChatThree = new TimeTask(.1f,new IdleState(this)); castleMarriageChatThree.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageThree); castleMarriage.Add(castleMarriageChatThree); castleMarriage.Add(new TimeTask(2.3f, new IdleState(this))); Task castleMarriageChatFour = new TimeTask(.1f,new IdleState(this)); castleMarriageChatFour.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageFour); castleMarriage.Add(castleMarriageChatFour); castleMarriage.Add(new TimeTask(5.3f, new IdleState(this))); Task castleMarriageChatFive = new TimeTask(.1f,new IdleState(this)); castleMarriageChatFive.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageFive); castleMarriage.Add(castleMarriageChatFive); castleMarriage.Add(new TimeTask(3.3f, new IdleState(this))); Task castleMarriageChatSix = new TimeTask(.1f,new IdleState(this)); castleMarriageChatSix.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageSix); castleMarriage.Add(castleMarriageChatSix); castleMarriage.Add(new TimeTask(6.3f, new IdleState(this))); Task castleMarriageChatSeven = new TimeTask(.1f,new IdleState(this)); castleMarriageChatSeven.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageSeven); castleMarriage.Add(castleMarriageChatSeven); castleMarriage.Add(new TimeTask(3.3f, new IdleState(this))); Task castleMarriageChatEight = new TimeTask(.1f,new IdleState(this)); castleMarriageChatEight.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleMarriageEight); castleMarriage.Add(castleMarriageChatEight); castleMarriage.Add(new TimeTask(2f, new IdleState(this))); castleMarriage.Add(new Task(new MoveThenDoState(this, new Vector3(startingPosition.x + 2, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); castleMarriage.SetCanInteract(false); #endregion girlEnd = new Schedule(this, Schedule.priorityEnum.DoNow); girlEnd.Add(new TimeTask(88.5f, new IdleState(this))); girlEnd.SetCanInteract(false); }
protected override void SetUpSchedules() { Vector3 startingPosition = transform.position; startingPosition.y += LevelManager.levelYOffSetFromCenter; openningWaitingSchedule = new Schedule(this, Schedule.priorityEnum.Low); openningWaitingSchedule.Add(new TimeTask(5, new WaitTillPlayerCloseState(this, ref player))); Task nullFlag = new TimeTask(0f, new IdleState(this)); nullFlag.AddFlagToSet(FlagStrings.CarpenterAndCarpenterSonIndependantConversation); openningWaitingSchedule.Add(nullFlag); openningWaitingSchedule.AddFlagGroup("DefaultPath"); angryAtSonBeingIndependent = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToSonDefaultScriptedConvo(), Schedule.priorityEnum.Medium); // CHANGE THIS CONVERSATION TO THE ONE WE WANT TO USE! angryAtSonBeingIndependent.SetCanNotInteractWithPlayer(); //this.AddSchedule(openningWaitingSchedule); afterAngryAtSonIndependent = new Schedule(this, Schedule.priorityEnum.Low); Task SetMoveToWindmillFlag = new TimeTask(0f, new IdleState(this)); SetMoveToWindmillFlag.AddFlagToSet(FlagStrings.carpenterSonTalkWithFatherMorning); afterAngryAtSonIndependent.Add(SetMoveToWindmillFlag); #region Fishing angryAtSonFishing = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToSonFishingScriptedConvo(), Schedule.priorityEnum.DoNow); // CHANGE THIS CONVERSATION TO THE ONE WE WANT TO USE! angryAtSonFishing.SetCanNotInteractWithPlayer(); AfterAngryAtSonFishing = new Schedule(this, Schedule.priorityEnum.High); Task TriggerAfterFishingConvo = new TimeTask(0f, new IdleState(this)); TriggerAfterFishingConvo.AddFlagToSet(FlagStrings.CarpenterSonMovesToTheBeach); AfterAngryAtSonFishing.Add(TriggerAfterFishingConvo); MoveToCliffSide = new Schedule(this, Schedule.priorityEnum.High); MoveToCliffSide.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.BeachCliffMiddle))); AcceptFishing = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToCarpenterSonAcceptingFishing(), Schedule.priorityEnum.DoNow); // CHANGE THIS CONVERSATION TO THE ONE WE WANT TO USE! AcceptFishing.SetCanNotInteractWithPlayer(); AfterAcceptFishing = new Schedule(this, Schedule.priorityEnum.High); Task flagTask = new TimeTask(0f, new IdleState(this)); flagTask.AddFlagToSet(FlagStrings.AfterProudOfSonConversation); AfterAcceptFishing.Add(flagTask); AfterAcceptFishing.Add(new Task (new MoveThenMarkDoneState(this, MapLocations.BaseOfPierMiddle))); AfterAcceptFishing.Add(new TimeTask(10000f, new AbstractAnimationState(this, "Fishing"))); #endregion #region Carpentry happyAtSonForBeingCarpenter = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToSonCarpentryScriptedConvo(), Schedule.priorityEnum.DoNow); happyAtSonForBeingCarpenter.SetCanNotInteractWithPlayer(); WorkOnWindmill = new Schedule(this, Schedule.priorityEnum.High); WorkOnWindmill.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.WindmillMiddle))); WorkOnWindmill.Add(new TimeTask(250f, new IdleState(this))); WorkOnWindmill.Add(new Task(new MoveThenMarkDoneState(this, startingPosition))); Task setCarpentryFlag = new TimeTask(0f, new IdleState(this)); setCarpentryFlag.AddFlagToSet(FlagStrings.CarpenterReturnedHome); WorkOnWindmill.Add(setCarpentryFlag); ConversationAboutRockingChair = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new GiveRockingChairScript(), Schedule.priorityEnum.DoNow); ConversationAboutRockingChair.SetCanNotInteractWithPlayer(); ConversationAboutNotDoingAnything = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new GiveNothingScript(), Schedule.priorityEnum.DoNow); ConversationAboutNotDoingAnything.SetCanNotInteractWithPlayer(); AfterConversation = new Schedule(this, Schedule.priorityEnum.High); AfterConversation.Add(new TimeTask(10000f, new AbstractAnimationState(this, "Whittle"))); #endregion //CONVERSATION SCHEDULE BUG!!!! PLEASE FIX //CONVERSATION SCHEDULE BUG!!!! PLEASE FIX }