private static ISchedule GetSchedule()
        {
            var schedule            = new Schedule();
            var firstExpression     = BuildStreetCleaningTemporalExpression();
            var firstScheduledEvent = new Event()
            {
                ID        = 1,
                Title     = "Street Cleaning",
                DateRange = new DateRange()
                {
                    StartDateTime = new DateTime(2011, 3, 1, 0, 0, 0),
                    EndDateTime   = new DateTime(2011, 10, 30, 18, 0, 0)
                }
            };

            var secondExpression     = BuildWitchingHourPrepTemporalExpression();
            var secondScheduledEvent = new Event()
            {
                ID        = 2,
                Title     = "Witching Hour Preparation",
                DateRange = new DateRange()
                {
                    StartDateTime = new DateTime(2012, 10, 1, 0, 0, 0),
                    EndDateTime   = new DateTime(2012, 10, 31, 0, 0, 0)
                }
            };

            schedule.Add(firstScheduledEvent, firstExpression);
            schedule.Add(secondScheduledEvent, secondExpression);
            return(schedule);
        }
Example #2
0
        public void Run(params string[] args)
        {
            PhoneSystem ps     = PhoneSystem.Root;
            Tenant      tenant = ps.GetTenants()[0];

            if (tenant != null)
            {
                var officeHours = new Schedule(PhoneSystem.Root.GetRuleHourTypeByType(RuleHoursType.SpecificHours));
                officeHours.Add(DayOfWeek.Monday, new Schedule.PeriodOfDay(TimeSpan.Parse("8:00"), TimeSpan.Parse("17:00")));
                officeHours.Add(DayOfWeek.Tuesday, new Schedule.PeriodOfDay(TimeSpan.Parse("8:00"), TimeSpan.Parse("17:00")));
                officeHours.Add(DayOfWeek.Wednesday, new Schedule.PeriodOfDay(TimeSpan.Parse("8:00"), TimeSpan.Parse("17:00")));
                officeHours.Add(DayOfWeek.Thursday, new Schedule.PeriodOfDay(TimeSpan.Parse("8:00"), TimeSpan.Parse("17:00")));
                officeHours.Add(DayOfWeek.Friday, new Schedule.PeriodOfDay(TimeSpan.Parse("8:00"), TimeSpan.Parse("17:00")));

                var breakTime = new Schedule(PhoneSystem.Root.GetRuleHourTypeByType(RuleHoursType.SpecificHours));
                breakTime.Add(DayOfWeek.Monday, new Schedule.PeriodOfDay(TimeSpan.Parse("13:00"), TimeSpan.Parse("14:00")));
                breakTime.Add(DayOfWeek.Tuesday, new Schedule.PeriodOfDay(TimeSpan.Parse("13:00"), TimeSpan.Parse("14:00")));
                breakTime.Add(DayOfWeek.Wednesday, new Schedule.PeriodOfDay(TimeSpan.Parse("13:00"), TimeSpan.Parse("14:00")));
                breakTime.Add(DayOfWeek.Thursday, new Schedule.PeriodOfDay(TimeSpan.Parse("13:00"), TimeSpan.Parse("14:00")));
                breakTime.Add(DayOfWeek.Friday, new Schedule.PeriodOfDay(TimeSpan.Parse("13:00"), TimeSpan.Parse("14:00")));

                //Office hours
                tenant.Hours     = officeHours;
                tenant.BreakTime = breakTime;
                tenant.Save();
            }
        }
Example #3
0
        public void RunOnceTest()
        {
            Schedule schedule       = new Schedule();
            EventSpy requiredEvent  = new EventSpy();
            EventSpy forbiddenEvent = new EventSpy();

            schedule.Add(requiredEvent, 100);
            schedule.Add(forbiddenEvent, 200);
            schedule.RunOnce();
            Assert.IsTrue(requiredEvent.happened);
            Assert.IsFalse(forbiddenEvent.happened);
        }
Example #4
0
        public void RunForTest()
        {
            Schedule schedule       = new Schedule();
            EventSpy requiredEvent  = new EventSpy();
            EventSpy requiredEvent2 = new EventSpy();
            EventSpy forbiddenEvent = new EventSpy();

            schedule.Add(forbiddenEvent, 300);
            schedule.Add(requiredEvent, 100);
            schedule.Add(requiredEvent2, 200);
            Assert.IsTrue(schedule.RunFor(250));
            Assert.IsTrue(requiredEvent.happened);
            Assert.IsTrue(requiredEvent2.happened);
            Assert.IsFalse(forbiddenEvent.happened);
        }
Example #5
0
        private static void LoadSchedule(FirebirdClient firebirdClient)
        {
            Logging.ToLog("DataProvider - Получение расписания врачей");
            using (DataTable dataTableSchedule = firebirdClient.GetDataTable(InfoKiosk.Services.Config.Instance.SqlGetScheduleInfo)) {
                Logging.ToLog("DataProvider - Получено строк: " + dataTableSchedule.Rows.Count);
                foreach (DataRow dataRow in dataTableSchedule.Rows)
                {
                    string depname = ControlsFactory.FirstCharToUpper(dataRow["DEPNAME"].ToString(), true);

                    if (!Schedule.ContainsKey(depname))
                    {
                        Schedule.Add(depname, new SortedDictionary <string, SortedDictionary <string, string> >());
                    }

                    string doctor = dataRow["FULLNAME"].ToString();

                    if (!Schedule[depname].ContainsKey(doctor))
                    {
                        Schedule[depname].Add(doctor, new SortedDictionary <string, string>());
                    }

                    for (int i = 0; i < 7; i++)
                    {
                        Schedule[depname][doctor].Add("D" + i, dataRow["D" + i].ToString());
                    }
                }
            }
        }
        public NotFoundCommand(UserConsole console, Storage storage, long x) : base(console, storage, x)
        {
            Schedule.Add(Action.Write);
            Type = CommandType.NotFound;

            Save();
        }
        public RandomCommand(UserConsole console, Storage storage, long x) : base(console, storage, x)
        {
            Schedule.Add(Action.Read);
            Type = CommandType.Random;

            Save();
        }
Example #8
0
        public void OnCollisionEnter2D(Collision2D collision)
        {
            if (collision.gameObject.tag == "Player")
            {
                var c = GetConversation();
                if (c != null)
                {
                    var ev = Schedule.Add <Events.ShowConversation>();
                    ev.conversation        = c;
                    ev.npc                 = this;
                    ev.gameObject          = gameObject;
                    ev.conversationItemKey = "";
                }
            }
            //Debug.Log("hitting "+ collision.collider.name);

            /*var c = GetConversation();
             * if (c != null)
             * {
             *  var ev = Schedule.Add<Events.ShowConversation>();
             *  ev.conversation = c;
             *  ev.npc = this;
             *  ev.gameObject = gameObject;
             *  ev.conversationItemKey = "";
             * }*/
        }
        Schedule UpdateSchedule(Schedule originalschedule, string hourstype, IEnumerable <string> days)
        {
            RuleHoursType rht;

            if (!Enum.TryParse(hourstype, out rht))
            {
                throw new ArgumentOutOfRangeException("Unknown hours type");
            }

            originalschedule.HoursType = PhoneSystem.Root.GetRuleHourTypeByType(rht);

            foreach (var d in days.Select(x => x.Split('=')).ToDictionary(
                         x => { DayOfWeek dow; if (!Enum.TryParse(x[0], out dow))
                                {
                                    throw new ArgumentOutOfRangeException("Unknown DayOfWeek");
                                }
                                return(dow); },
                         y => y[1].Split(',').Select(x => x.Split('-')).Where(x => x.Length > 1).Select(x => new Schedule.PeriodOfDay(TimeSpan.Parse(x[0]), TimeSpan.Parse(x[1]))).ToList()))
            {
                originalschedule.Remove(d.Key);
                foreach (var period in d.Value)
                {
                    originalschedule.Add(d.Key, period);
                }
            }
            return(originalschedule);
        }
Example #10
0
        public void TiesFirstInFirstOut()
        {
            Schedule      schedule = new Schedule();
            List <IEvent> outcome  = new List <IEvent>();
            RaceEvent     event0   = new RaceEvent(outcome);
            RaceEvent     event1   = new RaceEvent(outcome);
            RaceEvent     event2   = new RaceEvent(outcome);

            schedule.Add(event2, 100);
            schedule.Add(event0, 0);
            schedule.Add(event1, 0);
            Assert.IsTrue(schedule.RunFor(100));
            Assert.AreEqual(outcome[0], event0);
            Assert.AreEqual(outcome[1], event1);
            Assert.AreEqual(outcome[2], event2);
        }
        private void readFromXML()
        {
            XmlReaderSettings readerSetting = new XmlReaderSettings();

            readerSetting.IgnoreWhitespace = true;
            readerSetting.IgnoreComments   = true;

            XmlReader reader = XmlReader.Create("HairSalon_Appointments.xml", readerSetting);

            if (reader.ReadToDescendant("Appointment"))
            {
                do
                {
                    reader.ReadStartElement("Appointment");
                    String   name     = reader.ReadElementContentAsString();
                    Int16    age      = Int16.Parse(reader.ReadElementContentAsString());
                    String   phone    = reader.ReadElementContentAsString();
                    String   gender   = reader.ReadElementContentAsString();
                    String   service  = reader.ReadElementContentAsString();
                    String   provider = reader.ReadElementContentAsString();
                    String   date     = reader.ReadElementContentAsString();
                    String   time     = reader.ReadElementContentAsString();
                    String   location = reader.ReadElementContentAsString();
                    Customer cus      = new Customer(name, age, phone, gender, service, provider, date, time, location);
                    Schedule.Add(cus);
                    appointments.AddItem(cus);
                } while (reader.ReadToNextSibling("Appointment"));
            }
            reader.Close();
            gridSchedule.ItemsSource = Schedule;
        }
        public void OneTimeItemInPast_AfterRoll_IsRemoved()
        {
            // Arrange
            var schedule      = new Schedule(fileName);
            var originalCount = schedule.Count;
            var scheduleItem  = new ScheduleItem()
            {
                Device  = 1,
                Command = DeviceCommands.On,
                Info    = new ScheduleInfo()
                {
                    EventTime = DateTime.Now.AddMinutes(-2),
                    Type      = ScheduleType.Once,
                },
                IsEnabled   = true,
                ScheduleSet = "",
            };

            schedule.Add(scheduleItem);
            var newCount = schedule.Count;

            Assert.AreEqual(originalCount + 1, newCount);

            // Act
            schedule.RollSchedule();

            // Assert
            Assert.AreEqual(originalCount, schedule.Count);
        }
        public void OneTimeItemInFuture_AfterRoll_IsStillThere()
        {
            // Arrange
            var schedule      = new Schedule(fileName, new FakeSunsetProvider());
            var originalCount = schedule.Count;
            var scheduleItem  = new ScheduleItem()
            {
                Device  = 1,
                Command = DeviceCommands.On,
                Info    = new ScheduleInfo()
                {
                    EventTime = DateTimeOffset.Now.AddMinutes(2),
                    Type      = ScheduleType.Once,
                },
                IsEnabled   = true,
                ScheduleSet = "",
            };

            schedule.Add(scheduleItem);
            var newCount = schedule.Count;

            Assert.AreEqual(originalCount + 1, newCount);

            // Act
            schedule.RollSchedule();

            // Assert
            Assert.AreEqual(newCount, schedule.Count);
        }
Example #14
0
 public virtual void AssignMove(int moveId, int craneId, int priority)
 {
     Schedule.Add(moveId, craneId, priority);
     TriggerWhenChange();
     TriggerGet();
     TriggerWhenAny();
 }
Example #15
0
 protected override Schedule GetSchedule()
 {
     //Schedule schedule = new DefaultSchedule(this);
     //return (schedule);
     Schedule schedule = new Schedule(this, Schedule.priorityEnum.Low);
     schedule.Add(new TimeTask(120f, new AbstractAnimationState(this, currentIdlePose)));
     return (schedule);
 }
        public MedianCommand(UserConsole console, Storage storage, long x) : base(console, storage, x)
        {
            _variables = new List <int>();
            Type       = CommandType.Median;
            Schedule.Add(Action.Read);
            _isFirstLaunch = true;

            Save();
        }
Example #17
0
        static async void Test()
        {
            var res = await Schedule.Add(3.0, () =>
            {
                return(10);
            });

            Console.WriteLine(res);
        }
Example #18
0
        private void ClearAndFillSchedule(IEnumerable <FacingPages> facingPages)
        {
            Schedule.Clear();

            foreach (var facingPage in facingPages)
            {
                Schedule.Add(facingPage);
            }
        }
        public AddCommand(UserConsole console, Storage storage, long x) : base(console, storage, x)
        {
            Type       = CommandType.Add;
            _variables = new List <int>();
            Schedule.Add(Action.Read);
            Schedule.Add(Action.Read);
            Schedule.Add(Action.Write);

            Save();
        }
Example #20
0
 protected override Schedule GetSchedule()
 {
     Schedule schedule = new Schedule(this, Schedule.priorityEnum.DoNow);
     Task initialSchedule = new TimeTask(1f, new IdleState(this));
     schedule.Add(initialSchedule);
     //TimeTask exploringNearHome = new TimeTask(10, new IdleState(this));
     //Task moveToBridge = new Task(new MoveThenDoState(this, new Vector3(5, .2f, .3f), new MarkTaskDone(this)));
     //schedule.Add(exploringNearHome);
     //schedule.Add(moveToBridge);
     return (schedule);
 }
Example #21
0
 /// <summary>
 /// Add an activity to the schedule
 /// </summary>
 /// <param name="a"></param>
 public void AddToSchedule(Activity a)
 {
     if (CurrentUser.Role == "Admin")
     {
         Schedule.Add(a);
     }
     else
     {
         //"you dont have premission"
     }
 }
Example #22
0
        private void InitializeRoomsAndSchedule()
        {
            for (int i = 0; i <= 364; i++)
            {
                Schedule.Add(i, new HashSet <int>());
            }

            for (int i = 1; i <= Size; i++)
            {
                Rooms.Add(i);
            }
        }
Example #23
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 #24
0
        public void OnCollisionEnter2D(Collision2D collision)
        {
            var c = GetConversation();

            if (c != null)
            {
                var ev = Schedule.Add <Events.ShowConversation>();
                ev.conversation        = c;
                ev.npc                 = this;
                ev.gameObject          = gameObject;
                ev.conversationItemKey = "";
            }
        }
Example #25
0
    public void ParseRows()
    {
        for (int i = 0; i < 3; i++)
        {
            Row dateRow          = Rows[1 + (i * 8)]; // First row is empty, then adds a week each iteration.
            Row scheduleHoursRow = Rows[2 + (i * 8)];
            Row activityRow      = Rows[3 + (i * 8)];
            Row locationRow      = Rows[4 + (i * 8)];
            Row scheduleTimesRow = Rows[5 + (i * 8)];
            Row commentsRow      = Rows[6 + (i * 8)];

            int dayIndex = 1; // 0 is column names
            while (true)
            {
                var    workDay    = new WorkDay();
                String dateString = dateRow.cells[dayIndex].value;

                // Get the day of the week
                workDay.Day = workDay.enumDay(dateString);
                if (workDay.Day == WorkDay.DayEnum.INVALID)
                {
                    break;
                }

                // split the string "Tue 6/23"
                // and use the second part ['Tue', '6/23']
                String datePart = dateString.Split(' ')[1];
                workDay.Date = DateTime.Parse(datePart);

                workDay.Hours    = float.Parse(scheduleHoursRow.cells[dayIndex].value.Replace(":", "."));
                workDay.Activity = activityRow.cells[dayIndex].value;
                workDay.Comments = commentsRow.cells[dayIndex].value;
                workDay.Location = workDay.ConvertLocation(locationRow.cells[dayIndex].value);


                String   timeSpanPart = scheduleTimesRow.cells[dayIndex].value;
                String[] times        = timeSpanPart.Split('-'); // split '2:00 AM-8:00 PM' on the '-'

                workDay.StartTime = times[0];
                workDay.EndTime   = times.Length == 1 ? times[0] : times[1];

                if (workDay.Hours > 0)
                {
                    workDay.StartDateTime = DateTime.Parse(workDay.Date.ToShortDateString() + " " + workDay.StartTime);
                    workDay.EndDateTime   = DateTime.Parse(workDay.Date.ToShortDateString() + " " + workDay.EndTime);
                }
                Schedule.Add(workDay);
                dayIndex++;
            }
        }
    }
Example #26
0
 protected override Schedule GetSchedule()
 {
     #region reactivate after debugging <&^&>
     //
     Schedule schedule = new Schedule(this, Schedule.priorityEnum.DoNow);
     schedule.Add(new TimeTask(1.25f, new IdleState(this)));
     Task oldSiblingMoveToBridge = new Task(new MoveThenDoState(this, new Vector3(2f,Y_COORDINATE, .3f), new MarkTaskDone(this)));
     oldSiblingMoveToBridge.AddFlagToSet(FlagStrings.oldSiblingIntroChatFlag);
     schedule.Add(oldSiblingMoveToBridge);
     schedule.Add(new TimeTask(5.5f, new IdleState(this)));
     return (schedule);
     //
     #endregion
     /*
     Schedule schedule = new Schedule(this, Schedule.priorityEnum.DoNow);
     schedule.Add(new TimeTask(1.25f, new IdleState(this)));
     Task oldSiblingMoveToBridge = new Task(new MoveThenDoState(this, new Vector3(2f,Y_COORDINATE, .3f), new MarkTaskDone(this)));
     oldSiblingMoveToBridge.AddFlagToSet(FlagStrings.oldSiblingIntroChatFlag);
     schedule.Add(oldSiblingMoveToBridge);
     schedule.Add(new TimeTask(.25f, new IdleState(this)));
     return (schedule);
     */
 }
Example #27
0
        public void StartConv()
        {
            conv_start = true;
            var c = GetConversation();

            if (c != null)
            {
                var ev = Schedule.Add <Events.ShowConversation>();
                ev.conversation = c;
                //ev.npc = this;
                ev.gameObject          = gameObject;
                ev.conversationItemKey = "";
            }
        }
Example #28
0
        public void IsTerminatedIsTrueWhenIsACancelRecord()
        {
            var cancel = new ScheduleDetails()
            {
                TimetableUid = "A12345",
                RunsFrom     = new DateTime(2019, 1, 2),
                StpIndicator = StpIndicator.C,
                Action       = RecordAction.Create
            };
            var schedule = new Schedule();

            schedule.Add(cancel);

            Assert.True(schedule.IsTerminated);
        }
Example #29
0
        public void IsTerminatedIsTrueWhenIsADeleteRecord()
        {
            var delete = new ScheduleDetails()
            {
                TimetableUid = "A12345",
                RunsFrom     = new DateTime(2019, 1, 2),
                StpIndicator = StpIndicator.P,
                Action       = RecordAction.Delete
            };
            var schedule = new Schedule();

            schedule.Add(delete);

            Assert.True(schedule.IsTerminated);
        }
        private static ISchedule GetWitchingHourPrepSchedule()
        {
            var schedule       = new Schedule();
            var expression     = BuildWitchingHourPrepTemporalExpression();
            var scheduledEvent = new Event()
            {
                ID        = 2,
                Title     = "Witching Hour Preparation",
                DateRange = new DateRange()
                {
                    StartDateTime = new DateTime(2012, 10, 1, 0, 0, 0),
                    EndDateTime   = new DateTime(2012, 10, 31, 0, 0, 0)
                }
            };

            schedule.Add(scheduledEvent, expression);
            return(schedule);
        }
Example #31
0
        private void GenerateWithTenure()
        {
            shows.Sort((s1, s2) => s2.Tenure - s1.Tenure);

            while (shows.Count > 0)
            {
                for (int i = 0; i < shows.Count; i++)
                {
                    if (VerifyPreferences(shows[i]))
                    {
                        if (Schedule.Find(show => (
                                              show.Day == shows[i].Day &&
                                              show.StartTime >= shows[i].StartTime &&
                                              show.EndTime <= shows[i].EndTime)) == null)
                        {
                            Schedule.Add(shows[i]);
                            shows.RemoveAt(i);
                            i--; // I have no excuses
                        }
                        else
                        {
                            shows[i].CurrentPreference++;
                        }
                    }
                    else if (shows[i].CurrentPreference >= 3)
                    {
                        HasConflicts         = true;
                        shows[i].IssueReason = "No preferred times fit in the schedule.";
                        conflicts.Add(shows[i]);
                        shows.RemoveAt(i);
                        i--; // I have no excuses
                    }
                    else
                    {
                        HasIssues            = true;
                        shows[i].IssueReason = "Issue: Likely invalid time or day";
                        issues.Add(shows[i]);
                        shows.RemoveAt(i);
                        i--; // I have no excuses
                    }
                }
            }
        }
Example #32
0
        public static void Main(string[] args)
        {
            var connectionString = ConfigurationManager.ConnectionStrings["ScheduleR"].ConnectionString;
            var repository       = new SqlServerEventStoreRepository(connectionString, "ScheduleR");

            // add scheduled notification
            var pointInTime = new PointInTime(DateTime.UtcNow.AddMinutes(2));
            var schedule    = new Schedule(pointInTime);
            var task        = new Task(Guid.NewGuid());

            schedule.Add(task);
            repository.Save(schedule);

            using (new Clock(repository))
            {
                Console.WriteLine("Waiting...");
                Console.ReadLine();
            }
        }
Example #33
0
 public void OnCollisionEnter2D(Collision2D collision)
 {
     if (DialogueParser.exploreMode)
     {
         var c = GetConversation();
         if (c != null)
         {
             if (!uniqueDialogue.ContainsKey(c))
             {
                 globalConvCount += 1;
                 uniqueDialogue.Add(c, globalConvCount);
             }
             var ev = Schedule.Add <Events.ShowConversation>();
             ev.conversation        = c;
             ev.npc                 = this;
             ev.gameObject          = gameObject;
             ev.conversationItemKey = "";
         }
     }
 }
Example #34
0
        // Notes:
        //  - Device updates come from within the EweLinkAPI. The websocket receives a message
        //    for a device. It then calls 'Update' on the device, which the Consumer observes.

        public Model()
        {
            ConsumersList = new ConsumerList();
            Settings      = new SettingsData(SettingsData.Filepath);
            Shutdown      = new CancellationTokenSource();
            History       = new History();
            Fronius       = new FroniusAPI(Settings.SolarInverterIP, Shutdown.Token);
            Ewe           = new EweLinkAPI(Shutdown.Token);
            Solar         = new SolarData();
            Sched         = new Schedule();

            Sched.Add(new Schedule.Range("Monitor Active", Schedule.ERepeat.Daily,
                                         new DateTimeOffset(1, 1, 1, 8, 0, 0, TimeSpan.Zero),
                                         new DateTimeOffset(1, 1, 1, 18, 0, 0, TimeSpan.Zero)));

            Log.Write(ELogLevel.Info, "Model initialised");
            m_settings.NotifyAllSettingsChanged();

            // Prevent system sleep
            WinOS.SystemSleep(keep_awake: true);
        }
Example #35
0
    protected override void SetUpSchedules()
    {
        FinishedTalkingFriends = new Schedule(this, Schedule.priorityEnum.DoNow);
        Task SetFlagFriends = (new TimeTask(2f, new IdleState(this)));
        SetFlagFriends.AddFlagToSet(FlagStrings.MusicianFinishedTalkingFriends);
        FinishedTalkingFriends.Add(SetFlagFriends);

        FinishedTalkingNOTFriends = new Schedule(this, Schedule.priorityEnum.DoNow);
        Task SetFlagNOTFriends = (new TimeTask(2f, new IdleState(this)));
        SetFlagNOTFriends.AddFlagToSet(FlagStrings.MusicianFinishedTalkingNOTFriends);
        FinishedTalkingNOTFriends.Add(SetFlagNOTFriends);

        TellSonToGoAroundIslandFriends = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CastlemanYoung),
            new MusicianToCastlemanFriends(),Schedule.priorityEnum.DoConvo);
        TellSonToGoAroundIslandFriends.SetCanNotInteractWithPlayer();
        TellSonToGoAroundIslandNOTFriends = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CastlemanYoung),
            new MusicianToCastlemanNotFriends(),Schedule.priorityEnum.DoConvo);
        TellSonToGoAroundIslandNOTFriends.SetCanNotInteractWithPlayer();
    }
Example #36
0
 protected override void SetUpSchedules()
 {
     beALazyFarmer = new Schedule(this);
     beALazyFarmer.Add(new Task(new AbstractAnimationState(this, "Shovel Idle")));
 }
Example #37
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 #38
0
    protected override void SetUpSchedules()
    {
        TimeTask WaitTask = new TimeTask(1f, new IdleState(this));
        Task MoveTask = new Task(new MoveState(this, new Vector3(34.1062f, -1.041937f, 0.3f)));
        TimeTask SitTask = new TimeTask(0f, new AbstractAnimationState(this, "Sit"));
        Task WhittleTask = new Task(new AbstractAnimationState(this, "Idle Sit"));

        WalkSitWhittle = new Schedule(this);

        WalkSitWhittle.Add(WaitTask);
        WalkSitWhittle.Add(MoveTask);
        WalkSitWhittle.Add(SitTask);
        WalkSitWhittle.Add(WhittleTask);
    }
Example #39
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
    }
Example #40
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 #41
0
    protected override void SetUpSchedules()
    {
        ScheduleLoop newDefaultSched = new ScheduleLoop(this, Schedule.priorityEnum.Default);
        newDefaultSched.Add(new Task(new FishState(this)));
        this.AddSchedule(newDefaultSched);

        treasureHuntSched = new SeaCaptainTreasureHuntSchedule(this);

        talkToFortuneTellerFirstSched = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FortuneTellerMiddle), new MiddleSeaCaptainFortuneTellerFirstConvo(), Schedule.priorityEnum.Medium, true);
        talkToFortuneTellerSecondSched = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FortuneTellerMiddle), new MiddleSeaCaptainFortuneTellerSecondConvo(), Schedule.priorityEnum.Medium, true);
        TalktoCarpenterSon = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleSeaCaptainToCarpenterSon(), Schedule.priorityEnum.DoConvo, true);
        TalktoCarpenterSon.SetCanNotInteractWithPlayer();

        returnToDockSchedOne = new Schedule(this);
        returnToDockSchedOne.Add(new Task(new MoveThenMarkDoneState(this, startingPos)));

        returnToDockSchedTwo = new Schedule(this);
        returnToDockSchedTwo.Add(new Task(new MoveThenMarkDoneState(this, startingPos)));

        AfterTalkToCarpenterSon = new Schedule(this, Schedule.priorityEnum.High);
        Task FinishedTalking  = new TimeTask(0.05f, new IdleState(this));
        FinishedTalking.AddFlagToSet(FlagStrings.AfterConversationAboutBuildingShip);
        AfterTalkToCarpenterSon.Add (FinishedTalking);
    }
Example #42
0
    protected override void SetUpSchedules()
    {
        gaveAppleSchedule = new Schedule(this, Schedule.priorityEnum.DoNow);
        gaveAppleSchedule.Add(new TimeTask(10f, new IdleState(this)));
        gaveAppleSchedule.Add(new Task(new WaitTillPlayerCloseState(this, ref player)));
        Task SetMusicianConvoFlag = new TimeTask(45f, new IdleState(this));
        SetMusicianConvoFlag.AddFlagToSet(FlagStrings.MoveToMusician);
        gaveAppleSchedule.Add(SetMusicianConvoFlag);
        //gaveAppleSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(4f, -1f, -.5f), new MarkTaskDone(this))));

        giveSeedsSchedule = new Schedule(this, Schedule.priorityEnum.DoNow);
        giveSeedsSchedule.Add (new TimeTask(1, new IdleState(this)));
        giveSeedsSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(0f, -1f, -.5f), new MarkTaskDone(this))));

        moveMotherHappyState = new Schedule(this, Schedule.priorityEnum.DoNow);
        moveMotherHappyState.Add (new TimeTask(1.5f, new IdleState(this)));
        //BUG, MOM ALWAYS FLOATS TO PLATFORM BEFORE REACHING DESTINATION
        moveMotherHappyState.Add(new Task(new MoveThenDoState(this, new Vector3(-20f, -1.5f, -.5f), new MarkTaskDone(this))));

        postRaceSchedule = new Schedule(this, Schedule.priorityEnum.DoNow);
        postRaceSchedule.Add(new Task(new IdleState(this)));

        moveHomeSchedule = new Schedule(this, Schedule.priorityEnum.DoNow);
        moveHomeSchedule.Add(new TimeTask(.5f, new IdleState(this)));
        //moveHomeSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(0, -1f,.3f), new MarkTaskDone(this))));
        moveHomeSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(-.9f, -1f,.3f), new MarkTaskDone(this))));

        /*
        enterMadSchedule = new Schedule (this, Schedule.priorityEnum.DoNow);
        enterMadSchedule.Add(new Task(new MoveThenDoState(this, new Vector3(-2, -1f,.3f), new MarkTaskDone(this))));
        enterMadSchedule.Add (new TimeTask(10f, new IdleState(this)));
        Task setNotAngryFlag = (new Task(new MoveThenDoState(this, new Vector3 (0, .2f, .3f), new MarkTaskDone(this))));
        setNotAngryFlag.AddFlagToSet(FlagStrings.ExitMadState);
        enterMadSchedule.Add(setNotAngryFlag);
        enterMadSchedule.Add (new TimeTask(.5f, new IdleState(this)));
        */

        moveToMusicianSchedule = new Schedule(this, Schedule.priorityEnum.DoNow);
        moveToMusicianSchedule.Add(new TimeTask(2f, new IdleState(this)));
        //moveToMusicianSchedule.Add(new Task(new ShowOneOffChatAction(this, "Follow me. They live up here.")));
        Task setFlag = (new Task(new MoveThenDoState(this, new Vector3 (-2.9f, 7.6f, 1f), new MarkTaskDone(this))));
        setFlag.AddFlagToSet(FlagStrings.FinishMusicianConvo);
        moveToMusicianSchedule.Add(setFlag);
        moveToMusicianSchedule.Add(new TimeTask(45f, new IdleState(this)));
        moveToMusicianSchedule.Add(new Task(new MoveThenMarkDoneState(this, this.gameObject.transform.position)));
        //moveToMusicianSchedule.Add(new TimeTask(.5f, new IdleState(this)));

        // ADD EXIT MAD SCHEDULE
    }
Example #43
0
    private void SetupPrimaryCarpentrySchedules()
    {
        afterHappyForSonBeingACarpenter = new Schedule(this, Schedule.priorityEnum.Medium);
        Task stormOffToWindmill = new Task(new MoveState(this, MapLocations.WindmillMiddle));
        TimeTask workOnWindmill = new TimeTask(1000f, new AbstractAnimationState(this, "Hammer", true, true));
        afterHappyForSonBeingACarpenter.Add(stormOffToWindmill);
        afterHappyForSonBeingACarpenter.Add(workOnWindmill);

        talkToSonAfterWhittle = new NPCConvoSchedule(this,
            NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToSonCarpentryScriptedConvo(), Schedule.priorityEnum.Low);
        talkToSonAfterWhittle.SetCanNotInteractWithPlayer();

        talkToSonWithoutWhittle = new NPCConvoSchedule(this,
            NPCManager.instance.getNPC(StringsNPC.CarpenterSonMiddle), new MiddleCarpenterToSonCarpentryScriptedConvo(), Schedule.priorityEnum.Low);
        talkToSonWithoutWhittle.SetCanNotInteractWithPlayer();
    }
Example #44
0
    protected override void SetUpSchedules()
    {
        Schedule test = (new YoungRunIslandToCarpenterScript(this));
        scheduleStack.Add(test);

        // Changing an emotion state
        //carpenterRaceSchedule.Add(new TimeTask(10f, new ChangeEmotionState(this, new InitialEmotionState(this))));
        //walkToCarpenter = (new YoungRunIslandToCarpenterScript(this));

        /*
        walkToCarpenter = new Schedule(this, Schedule.priorityEnum.Low);
        walkToCarpenter.RemoveScheduleWithFlag(FlagStrings.StartedRace);
        walkToCarpenter.Add(new TimeTask(.1f, new IdleState(this))); //or self-triggering
        walkToCarpenter.Add(new Task(new MoveThenDoState(this, new Vector3 (12, .2f, .3f), new MarkTaskDone(this))));
        walkToCarpenter.Add(new TimeTask(.2f, new IdleState(this)));
        walkToCarpenter.Add(new Task(new MoveThenDoState(this, new Vector3 (11.8f, .2f, .3f), new MarkTaskDone(this)))); // at bridge
        walkToCarpenter.Add(new TimeTask(10f, new WaitTillPlayerCloseState(this, this.player)));
        Task reachCarpenterTask = new Task(new MoveThenDoState(this, new Vector3 (28, .2f, .3f), new MarkTaskDone(this))); // at carpenter
        //reachCarpenterTask.AddFlagToSet(FlagStrings.StartedRace);
        walkToCarpenter.Add(reachCarpenterTask);
        walkToCarpenter.Add(new TimeTask(2f, new IdleState(this)));
        walkToCarpenter.Add(new Task (new IdleState(this)));
        */

        carpenterRaceSchedule = new Schedule(this, Schedule.priorityEnum.Medium);
        carpenterRaceSchedule.Add(new TimeTask(1f, new IdleState(this)));
        //carpenterRaceSchedule.Add(new Task(new MoveThenDoState(this, new Vector3 (15f, .2f, .3f), new MarkTaskDone(this))));
        carpenterRaceSchedule.Add(new TimeTask(4f, new IdleState(this)));
        carpenterRaceSchedule.Add(new TimeTask(10f, new WaitTillPlayerCloseState(this, ref player)));
        carpenterRaceSchedule.Add(new Task(new MoveThenDoState(this, new Vector3 (31, .2f, .3f), new MarkTaskDone(this))));
        carpenterRaceSchedule.Add(new TimeTask(.5f, new IdleState(this)));
        carpenterRaceSchedule.Add(new Task(new MoveThenDoState(this, new Vector3 (29, .2f, .3f), new MarkTaskDone(this))));
        carpenterRaceSchedule.Add(new TimeTask(.5f, new IdleState(this)));

        Task setOffBeachFlag = (new Task(new MoveThenDoState(this, new Vector3 (34f, .2f, .3f), new MarkTaskDone(this))));
        setOffBeachFlag.AddFlagToSet(FlagStrings.RunToBeach);
        carpenterRaceSchedule.Add(setOffBeachFlag);

        carpenterRaceSchedule.Add(new TimeTask(10f, new WaitTillPlayerCloseState(this, ref player)));
        //carpenterRaceSchedule.Add(new TimeTask(.2f, new IdleState(this)));

        walkToBeach = (new YoungRunIslandToBeachScript(this));
        walkToFarmerHouse = (new YoungRunIslandToFarmerScript(this));
        walkToMarket = (new YoungRunIslandToMarketScript(this));
        walkToWindmill = (new YoungRunIslandToWindmillScript(this));
        walkToReflectionTree = (new YoungRunIslandToReflectionTreeScript(this));
        walkToHome = (new YoungRunIslandToHomeScript(this));

        /*
        initialSchedule.Add(new TimeTask(.5f, new IdleState(this)));
        initialSchedule.Add(new Task(new MoveThenDoState(this, new Vector3 (6, .2f, .3f), new MarkTaskDone(this))));
            //Add (new TimeTask(5, new WaitTillPlayerCloseState(this));
        initialSchedule.Add(new TimeTask(.5f, new IdleState(this)));
        initialSchedule.Add(new Task(new MoveThenDoState(this, new Vector3 (4, .2f, .3f), new MarkTaskDone(this))));
        initialSchedule.Add(new TimeTask(.5f, new IdleState(this)));
        initialSchedule.Add(new Task(new MoveThenDoState(this, new Vector3 (11, .2f, .3f), new MarkTaskDone(this))));
        initialSchedule.Add(new Task(new MoveThenDoState(this, new Vector3 (10.90f, .2f, .3f), new MarkTaskDone(this)))); // at bridge
        initialSchedule.Add(new TimeTask(10f, new WaitTillPlayerCloseState(this, this.player)));
        scheduleStack.Add (initialSchedule);
        */
    }
Example #45
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 #46
0
    protected override void SetUpSchedules()
    {
        CastleManFollowSchedule = new Schedule(this, Schedule.priorityEnum.Medium);
        CastleManFollowSchedule.Add(new TimeTask(0f, new IdleState(this)));
        CastleManFollowSchedule.Add(new Task(new FollowObjectState(this, player.gameObject)));

        CastleManFollowScheduleVTwo = new Schedule(this, Schedule.priorityEnum.High);
        CastleManFollowScheduleVTwo.Add(new TimeTask(0f, new IdleState(this)));
        CastleManFollowScheduleVTwo.Add(new TimeTask(0f, new FollowObjectState(this, player.gameObject)));
        Task TimerRanOut = new TimeTask(0f, new IdleState(this));
        TimerRanOut.AddFlagToSet(FlagStrings.TimerForGoingToBeach);
        CastleManFollowScheduleVTwo.Add(TimerRanOut);

        CastlemanWalkToBeachSchedule = new Schedule(this, Schedule.priorityEnum.DoNow);
        CastlemanWalkToBeachSchedule.Add(new TimeTask(1f, new IdleState(this)));
        CastlemanWalkToBeachSchedule.Add(new Task(new MoveThenMarkDoneState(this, new Vector3(52f, -6f, 0.95f))));
        Task setAtBeachFlag = new TimeTask(0f, new IdleState(this));
        setAtBeachFlag.AddFlagToSet(FlagStrings.CastleManAtBeach);
        CastlemanWalkToBeachSchedule.Add(setAtBeachFlag);
        CastlemanWalkToBeachSchedule.Add(new TimeTask(10000f, new IdleState(this)));

        #region Friends
        CastleManTalksFirstFriends = new Schedule(this, Schedule.priorityEnum.DoNow);
        Task setFlagFriendsFirstConvo = (new TimeTask(2f, new IdleState(this)));
        setFlagFriendsFirstConvo.AddFlagToSet(FlagStrings.FinishedInitialConversationWithCSONFriend);
        CastleManTalksFirstFriends.Add(setFlagFriendsFirstConvo);

        SetFinishedTalkingFlagForSecondConvoFriends = new Schedule(this, Schedule.priorityEnum.DoNow);
        Task setFlagFriendsSecondConvo = (new TimeTask(2f, new IdleState(this)));
        setFlagFriendsSecondConvo.AddFlagToSet(FlagStrings.FinishedSecondConversationWithCSONFriend);
        SetFinishedTalkingFlagForSecondConvoFriends.Add(setFlagFriendsSecondConvo);

        SetFinishedTalkingFlagForThirdConvoFriends = new Schedule(this, Schedule.priorityEnum.DoNow);
        Task setFlagFriendsThirdConvo = (new TimeTask(2f, new IdleState(this)));
        setFlagFriendsThirdConvo.AddFlagToSet(FlagStrings.FinishedThirdConvoWithCSONFriend);
        SetFinishedTalkingFlagForThirdConvoFriends.Add(setFlagFriendsThirdConvo);
        # endregion
        #region NotFriends
        CastleManTalksFirstNOTFriends = new Schedule(this, Schedule.priorityEnum.DoNow);
        Task setFlagNOTFriendsFirstConvo = (new TimeTask(2f, new IdleState(this)));
        setFlagNOTFriendsFirstConvo.AddFlagToSet(FlagStrings.FinishedInitialConversationWithCSONNOTFriend);
        CastleManTalksFirstNOTFriends.Add(setFlagNOTFriendsFirstConvo);

        SetFinishedTalkingFlagForSecondConvoNOTFriends = new Schedule(this, Schedule.priorityEnum.DoNow);
        Task setFlagNOTFriendsSecondConvo = (new TimeTask(2f, new IdleState(this)));
        setFlagNOTFriendsSecondConvo.AddFlagToSet(FlagStrings.FinishedSecondConversationWithCSONNOTFriend);
        SetFinishedTalkingFlagForSecondConvoNOTFriends.Add(setFlagNOTFriendsSecondConvo);

        SetFinishedTalkingFlagForThirdConvoNOTFriends = new Schedule(this, Schedule.priorityEnum.DoNow);
        Task setFlagNOTFriendsThirdConvo = (new TimeTask(2f, new IdleState(this)));
        setFlagNOTFriendsThirdConvo.AddFlagToSet(FlagStrings.FinishedThirdConvoWithCSONNOTFriend);
        SetFinishedTalkingFlagForThirdConvoNOTFriends.Add(setFlagNOTFriendsThirdConvo);
        #endregion
        #region Conversations
        CastleManMeetsLighthouse = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlYoung),
            new CastleManToLighthouseFirstMeeting(),Schedule.priorityEnum.DoConvo);
        CastleManMeetsLighthouse.SetCanNotInteractWithPlayer();

        CastleManTalksToCSON = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonYoung),
            new CastleManToCarpenterFirstConvo(),Schedule.priorityEnum.DoConvo);
        CastleManTalksToCSON.SetCanNotInteractWithPlayer();
        CastleManTalksToCSONTwice = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonYoung),
            new CastleManToCarpenterSecondConvo(),Schedule.priorityEnum.DoConvo);
        CastleManTalksToCSONTwice.SetCanNotInteractWithPlayer();
        CastleManTalksToCSONThrice = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterSonYoung),
            new CastleManToCarpenterThirdConvo(),Schedule.priorityEnum.DoConvo);
        CastleManTalksToCSONThrice.SetCanNotInteractWithPlayer();

        CastleManTalksToLighthouseOnBeachFriends = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlYoung),
            new CastleManToLightHouseFriends(),Schedule.priorityEnum.DoConvo);
        CastleManTalksToLighthouseOnBeachFriends.SetCanNotInteractWithPlayer();
        CastleManTalksToLighthouseOnBeachNOTFriends = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlYoung),
            new CastlemanToLighthouseNotFriends(),Schedule.priorityEnum.DoConvo);
        CastleManTalksToLighthouseOnBeachNOTFriends.SetCanNotInteractWithPlayer();
        #endregion
    }
Example #47
0
    void SetupInstrumentSchedules()
    {
        playHarpInstrument = new Schedule(this);
        playHarpInstrument.Add(new Task(new AbstractAnimationState(this, "Playing Harp")));

        playFluteInstrument = new Schedule(this);
        playHarpInstrument.Add(new Task(new AbstractAnimationState(this, "Playing Flute")));
    }
Example #48
0
    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();
    }
Example #49
0
    protected override void SetUpSchedules()
    {
        openningWaitingSchedule = new Schedule(this, Schedule.priorityEnum.DoConvo);
        openningWaitingSchedule.Add(new Task(new WaitTillPlayerCloseState(this, ref player)));
        Task setFlag =  (new TimeTask(2f, new IdleState(this)));
        setFlag.AddFlagToSet(FlagStrings.OpeningConversationFarmerMotherToFarmerFather);
        openningWaitingSchedule.Add(setFlag);

        InitialConversation = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FarmerFatherYoung),
            new YoungFarmerMotherToFarmerFatherOpenningScriptedDialogue(),Schedule.priorityEnum.DoConvo);
        InitialConversation.SetCanNotInteractWithPlayer();
        InitialConversation.SetFlagOnComplete(FlagStrings.FarmAfterDialogue);

        postOpenningSchedule = new Schedule(this, Schedule.priorityEnum.Medium);
        Task goToFieldAndHoe = new Task(new MoveThenDoState(this, new Vector3(52.65976f, 15.13193f, transform.position.z), new AbstractAnimationState(this, "Hoe")));
        postOpenningSchedule.Add(goToFieldAndHoe);
    }
Example #50
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 #51
0
    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
    }
Example #52
0
    protected override void SetUpSchedules()
    {
        greetSiblingOldSchedule = (new CarpenterSonOldGreetSibllingSchedule(this));
        goToBeachSchedule = (new CarpenterSonOldToBeachScript(this));
        talkWhileFishingSchedule = new Schedule(this, Schedule.priorityEnum.DoNow);
        talkWhileFishingSchedule.Add(new TimeTask(240f ,new WaitTillPlayerCloseState(this, ref this.player, 3f))); //
        Task a = new TimeTask(.05f, new IdleState(this));
        a.AddFlagToSet(FlagStrings.elderCarpenterSonChat);
        talkWhileFishingSchedule.Add(a);
        talkWhileFishingSchedule.Add(new Task (new IdleState(this)));

        fishingSchedule = new Schedule(this, Schedule.priorityEnum.DoNow);
        fishingSchedule.Add(new TimeTask(240f ,new WaitTillPlayerCloseState(this, ref this.player, 3f))); //
        //fishingSchedule.Add(new Task(new AbstractAnimationState(this, currentWalkPose)));
        fishingSchedule.Add(new TimeTask(20f, new IdleState(this)));  //-3.5
        Task b = new Task(new MoveThenDoState(this, new Vector3(74f, -3.5f + (LevelManager.levelYOffSetFromCenter*2), -.5f),new MarkTaskDone(this)));
        b.AddFlagToSet(FlagStrings.elderCarpenterFishingTime);
        fishingSchedule.Add(b);
        fishingSchedule.Add(new Task(new AbstractAnimationState(this, currentFishingPose)));
        fishingSchedule.Add(new Task (new IdleState(this)));

        //talkWhileFishingSchedule
    }