Example #1
0
    //NPCConvoSchedule dateWithLG;
    protected override void SetUpSchedules()
    {
        SetupReactions();
        moveBack = new Schedule(this, Schedule.priorityEnum.High);
        moveBack.Add(new Task(new MoveThenDoState(this, startingPosition, new MarkTaskDone(this))));

        moveToBeach = new Schedule(this, Schedule.priorityEnum.DoNow);
        moveToBeach.Add(new Task(new MoveThenDoState(this, new Vector3(MapLocations.MiddleOfBeachMiddle.x+1.5f, MapLocations.MiddleOfBeachMiddle.y, MapLocations.MiddleOfBeachMiddle.z), new MarkTaskDone(this))));
        Task reachedBeach = new TimeTask(.1f,new IdleState(this));
        reachedBeach.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateOne);
        moveToBeach.Add(reachedBeach);
        moveToBeach.Add(new TimeTask(5.3f, new IdleState(this)));

        Task reachedBeachTwo = new TimeTask(.1f,new IdleState(this));
        reachedBeachTwo.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateTwo);
        moveToBeach.Add(reachedBeachTwo);
        moveToBeach.Add(new TimeTask(7.3f, new IdleState(this)));

        Task reachedBeachThree = new TimeTask(.1f,new IdleState(this));
        reachedBeachThree.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateThree);
        moveToBeach.Add(reachedBeachThree);
        moveToBeach.Add(new TimeTask(3.3f, new IdleState(this)));

        Task reachedBeachFour = new TimeTask(.1f,new IdleState(this));
        reachedBeachFour.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateFour);
        moveToBeach.Add(reachedBeachFour);
        moveToBeach.Add(new TimeTask(6.3f, new IdleState(this)));

        Task reachedBeachFive = new TimeTask(.1f,new IdleState(this));
        reachedBeachFive.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateFive);
        moveToBeach.Add(reachedBeachFive);
        moveToBeach.Add(new TimeTask(2.3f, new IdleState(this)));

        Task reachedBeachSix = new TimeTask(.1f,new IdleState(this));
        reachedBeachSix.AddFlagToSet(FarmerFamilyFlagStrings.GirlCastleDateSix);
        moveToBeach.Add(reachedBeachSix);
        moveToBeach.Add(new TimeTask(6f, new IdleState(this)));

        Task reachedBeachEnd = new TimeTask(.1f,new IdleState(this));
        reachedBeachEnd.AddFlagToSet(FlagStrings.EndOfDate);
        moveToBeach.Add(reachedBeachEnd);
        moveToBeach.Add(new TimeTask(3f, new IdleState(this)));
        moveToBeach.SetCanInteract(false);

        /*dateWithLG =  new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlMiddle),
            new MiddleCastleManToLighthouseGirl(), Schedule.priorityEnum.DoConvo);
        dateWithLG.SetCanNotInteractWithPlayer();*/
    }
Example #2
0
    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);
    }
Example #3
0
    protected override void SetUpSchedules()
    {
        girlEnd = new Schedule(this, Schedule.priorityEnum.DoNow);
        Task girlEndChatOne = new TimeTask(.1f,new IdleState(this));
        girlEndChatOne.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndOne);
        girlEnd.Add(girlEndChatOne);
        girlEnd.Add(new Task(new MoveThenDoState(this, new Vector3(startingPosition.x + 1, startingPosition.y, startingPosition.z), new MarkTaskDone(this))));
        girlEnd.Add(new TimeTask(8.3f, new IdleState(this)));

        Task girlEndChatTwo = new TimeTask(.1f,new IdleState(this));
        girlEndChatTwo.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndTwo);
        girlEnd.Add(girlEndChatTwo);
        girlEnd.Add(new TimeTask(3.3f, new IdleState(this)));

        Task girlEndChatThree = new TimeTask(.1f,new IdleState(this));
        girlEndChatThree.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndThree);
        girlEnd.Add(girlEndChatThree);
        girlEnd.Add(new TimeTask(8f, new IdleState(this)));

        Task girlEndChatFour = new TimeTask(.1f,new IdleState(this));
        girlEndChatFour.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndFour);
        girlEnd.Add(girlEndChatFour);
        girlEnd.Add(new TimeTask(4.3f, new IdleState(this)));

        Task girlEndChatFive = new TimeTask(.1f,new IdleState(this));
        girlEndChatFive.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndFive);
        girlEnd.Add(girlEndChatFive);
        girlEnd.Add(new TimeTask(5.1f, new IdleState(this)));

        Task girlEndChatSix = new TimeTask(.1f,new IdleState(this));
        girlEndChatSix.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndSix);
        girlEnd.Add(girlEndChatSix);
        girlEnd.Add(new TimeTask(4.1f, new IdleState(this)));

        Task girlEndChatSeven = new TimeTask(.1f,new IdleState(this));
        girlEndChatSeven.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndSeven);
        girlEnd.Add(girlEndChatSeven);
        girlEnd.Add(new TimeTask(23f, new IdleState(this)));

        Task girlEndChatEight = new TimeTask(.1f,new IdleState(this));
        girlEndChatEight.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndEight);
        girlEnd.Add(girlEndChatEight);
        girlEnd.Add(new TimeTask(1f, new IdleState(this)));

        Task girlEndChatNine = new TimeTask(.1f,new IdleState(this));
        girlEndChatNine.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndNine);
        girlEnd.Add(girlEndChatNine);
        girlEnd.Add(new TimeTask(4f, new IdleState(this)));

        Task girlEndChatTen = new TimeTask(.1f,new IdleState(this));
        girlEndChatTen.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndTen);
        girlEnd.Add(girlEndChatTen);
        girlEnd.Add(new TimeTask(21f, new IdleState(this)));

        Task girlEndChatEleven = new TimeTask(.1f,new IdleState(this));
        girlEndChatEleven.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndEleven);
        girlEnd.Add(girlEndChatEleven);
        girlEnd.Add(new TimeTask(1.2f, new IdleState(this)));

        Task girlEndChatTwelve = new TimeTask(.1f,new IdleState(this));
        girlEndChatTwelve.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndTwelve);
        girlEnd.Add(girlEndChatTwelve);
        girlEnd.Add(new TimeTask(1.2f, new IdleState(this)));

        Task girlEndChatThirteen = new TimeTask(.1f,new IdleState(this));
        girlEndChatThirteen.AddFlagToSet(FarmerFamilyFlagStrings.GirlPathEndThirteen);
        girlEnd.Add(girlEndChatThirteen);
        girlEnd.Add(new TimeTask(4f, new IdleState(this)));
        girlEnd.Add(new Task(new MoveThenDoState(this, new Vector3(startingPosition.x - 1, startingPosition.y, startingPosition.z), new MarkTaskDone(this))));
        girlEnd.SetCanInteract(false);
    }
Example #4
0
    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);
    }
Example #5
0
    protected override void SetUpSchedules()
    {
        marriageConvo = new Schedule(this, Schedule.priorityEnum.High);
        marriageConvo.Add(new TimeTask(40f, new IdleState(this)));

        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))));
        introConvo.Add(new TimeTask(27.5f, new IdleState(this)));
        introConvo.SetCanInteract(false);

        girlEnd = new Schedule(this, Schedule.priorityEnum.DoNow);
        girlEnd.Add(new Task (new MoveThenDoState(this, new Vector3(startingPosition.x-.05f, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); //turn towards farmer
        girlEnd.Add(new TimeTask(19.6f, new IdleState(this)));
        girlEnd.Add(new Task (new MoveThenDoState(this, new Vector3(startingPosition.x+.05f, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); //turn towards farmer
        girlEnd.Add(new TimeTask(31.4f, new IdleState(this)));
        girlEnd.Add(new Task (new MoveThenDoState(this, new Vector3(startingPosition.x-.05f, startingPosition.y, startingPosition.z), new MarkTaskDone(this)))); //turn towards farmer
        girlEnd.Add(new TimeTask(18.3f, new IdleState(this)));
        girlEnd.SetCanInteract(false);
    }
Example #6
0
    //Schedule IdleSchedule;
    protected override void SetUpSchedules()
    {
        startingPosition = transform.position;
        startingPosition.y += LevelManager.levelYOffSetFromCenter;
        #region PathOne
        //Schedule for the Default path
        moveToWindmill = new Schedule(this, Schedule.priorityEnum.Low);
        moveToWindmill.Add (new Task(new MoveThenMarkDoneState(this, MapLocations.WindmillMiddle, "Somber Walk", 2f)));
        moveToWindmill.Add (new TimeTask(100f, new AbstractAnimationState(this, "Hammer", false, false)));
        moveToWindmill.Add (new Task(new MoveThenMarkDoneState(this, startingPosition)));
        #endregion

        #region FishingPath
        TeleportToStartConvo =  new Schedule (this, Schedule.priorityEnum.DoNow);
        TeleportToStartConvo.Add(new TimeTask(300f, new WaitTillPlayerCloseState(this, ref player)));
        //TeleportToStartConvo.Add(new Task (new MoveThenMarkDoneState(this, this.gameObject.transform.position)));
        Task StartFishingStuff = new TimeTask(0f, new IdleState(this));
        StartFishingStuff.AddFlagToSet(FlagStrings.FishingConversation);
        TeleportToStartConvo.Add(StartFishingStuff);

        MoveToPierToFish = new Schedule(this, Schedule.priorityEnum.DoNow);
        MoveToPierToFish.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.BaseOfPierMiddle)));
        MoveToPierToFish.Add(new TimeTask(100f, new AbstractAnimationState(this, "Fishing", true, true)));
        Task SetOffConversationWithSeaCaptain = new TimeTask(0f, new IdleState(this));
        SetOffConversationWithSeaCaptain.AddFlagToSet(FlagStrings.StartConversationWithSeaCaptainAboutBuildingShip);
        MoveToPierToFish.Add(SetOffConversationWithSeaCaptain);

        AfterSeaCaptainTalk = new Schedule (this, Schedule.priorityEnum.DoNow);
        AfterSeaCaptainTalk.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.MiddleOfBeachMiddle)));
        Task SetOffAfterSeaCaptain = new TimeTask(100f, new AbstractAnimationState(this, "Whittle"));
        SetOffAfterSeaCaptain.AddFlagToSet(FlagStrings.StartProudOfSonConversation);
        Task CarpenterSonTransitionToFisherman = new Task(new IdleState(this));
        CarpenterSonTransitionToFisherman.AddFlagToSet(FlagStrings.carpenterSonBecomesFisherman);
        AfterSeaCaptainTalk.Add(SetOffAfterSeaCaptain);

        EndState = new Schedule(this, Schedule.priorityEnum.High);
        EndState.Add(new TimeTask(10000f, new IdleState(this)));
        #endregion

        #region CarpentryPath
        StartCarpentry =  new Schedule (this, Schedule.priorityEnum.High);
        StartCarpentry.Add(new TimeTask(300f, new WaitTillPlayerCloseState(this, ref player)));
        //TeleportToStartConvo.Add(new Task (new MoveThenMarkDoneState(this, this.gameObject.transform.position)));
        Task StartCarpentryStuff = new TimeTask(0f, new IdleState(this));
        StartCarpentryStuff.AddFlagToSet(FlagStrings.IntroConvoCarpentry);
        StartCarpentry.Add(StartCarpentryStuff);

        DoNothingSchedule =  new Schedule(this, Schedule.priorityEnum.High);
        DoNothingSchedule.Add(new TimeTask(10000f, new IdleState(this)));

        WhittleStuff = new Schedule(this, Schedule.priorityEnum.High);
        TimeTask WhittlingAHarp = new TimeTask(30f, new AbstractAnimationState(this, "Whittle"));
        WhittlingAHarp.AddFlagToSet(FlagStrings.BuiltRockingChairTalk);
        WhittleStuff.Add(WhittlingAHarp);
        #endregion
        //Schedule for something
        stormOffSchedule = new Schedule(this,Schedule.priorityEnum.DoNow);
        stormOffSchedule.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.BaseOfPierMiddle)));
        stormOffSchedule.Add(new TimeTask(2.0f, new IdleState(this))); //Will replace with working on windmill
        stormOffSchedule.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.BaseOfPierMiddle)));

        AfterConversationCarpentery = new Schedule(this, Schedule.priorityEnum.High);
        AfterConversationCarpentery.Add(new TimeTask(10000f, new IdleState(this)));
        #region NPCConvoSchedules
        #endregion

        #region carpenterDate
        moveBack = new Schedule(this, Schedule.priorityEnum.High);
        moveBack.Add(new Task(new MoveThenDoState(this, startingPosition, new MarkTaskDone(this))));

        moveToBeach = new Schedule(this, Schedule.priorityEnum.DoNow);
        moveToBeach.Add(new Task(new MoveThenDoState(this, new Vector3(MapLocations.MiddleOfBeachMiddle.x+1.5f, MapLocations.MiddleOfBeachMiddle.y, MapLocations.MiddleOfBeachMiddle.z), new MarkTaskDone(this))));
        Task reachedBeach = new TimeTask(.1f,new IdleState(this));
        reachedBeach.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateOne);
        moveToBeach.Add(reachedBeach);
        moveToBeach.Add(new TimeTask(5.3f, new IdleState(this)));

        Task reachedBeachTwo = new TimeTask(.1f,new IdleState(this));
        reachedBeachTwo.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateTwo);
        moveToBeach.Add(reachedBeachTwo);
        moveToBeach.Add(new TimeTask(7.3f, new IdleState(this)));

        Task reachedBeachThree = new TimeTask(.1f,new IdleState(this));
        reachedBeachThree.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateThree);
        moveToBeach.Add(reachedBeachThree);
        moveToBeach.Add(new TimeTask(3.3f, new IdleState(this)));

        Task reachedBeachFour = new TimeTask(.1f,new IdleState(this));
        reachedBeachFour.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateFour);
        moveToBeach.Add(reachedBeachFour);
        moveToBeach.Add(new TimeTask(6.3f, new IdleState(this)));

        Task reachedBeachFive = new TimeTask(.1f,new IdleState(this));
        reachedBeachFive.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateFive);
        moveToBeach.Add(reachedBeachFive);
        moveToBeach.Add(new TimeTask(2.3f, new IdleState(this)));

        Task reachedBeachSix = new TimeTask(.1f,new IdleState(this));
        reachedBeachSix.AddFlagToSet(FarmerFamilyFlagStrings.GirlCarpenterDateSix);
        moveToBeach.Add(reachedBeachSix);
        moveToBeach.Add(new TimeTask(6f, new IdleState(this)));

        Task reachedBeachEnd = new TimeTask(.1f,new IdleState(this));
        reachedBeachEnd.AddFlagToSet(FlagStrings.EndOfDate);
        moveToBeach.Add(reachedBeachEnd);
        moveToBeach.Add(new TimeTask(3f, new IdleState(this)));
        moveToBeach.SetCanInteract(false);
        #endregion
    }