public IHttpActionResult PutTimeTasks(int id, TimeTask timeTasks) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != timeTasks.TaskId) { return(BadRequest()); } db.Entry(timeTasks).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!db.TimeTaskExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
void OnTimeLeftToComplete(TimeTask task, int secondLeft) { Debug.Log("finish training time left: " + TimeConverter.GetHours(secondLeft) + ":" + TimeConverter.GetMinutes(secondLeft) + ":" + TimeConverter.GetSeconds(secondLeft)); UITimePopupController.Instance.GetTimePopup(transform).DisplayTime(secondLeft, task.TaskDuration, ImageManager.Instance.CombatUnitSpriteNameForHead(((ProduceUnitTask)task).UnitType)); }
public async Task Post(string Title, string Description, string StartDate, string EndDate) { TimeTask tb = new TimeTask(); tb.Title = Title; tb.Description = Description; if (StartDate.Equals("null") && EndDate.Equals("null")) { await this.timeTaskProvider.AddTask(tb); } else { //if (StartDate.Equals("null") || EndDate.Equals("null")) //{ // return "when using dates, both need to be sent"; //} tb.StartDate = Convert.ToDateTime(StartDate); tb.EndDate = Convert.ToDateTime(EndDate); } if (tb.StartDate > tb.EndDate) { // TODO: throw exception //throw new UriFormatException("start date cannot be after end date"); } else { await this.timeTaskProvider.AddTask(tb); } }
public async Task <IActionResult> Index(int id) { Socket socket = _socketRepository.GetSocketById(id); if (socket == null) { return(new NotFoundResult()); } TimeTask timeTask = new TimeTask { Socket = socket }; AuthorizationResult authorizationResult = await _authorizationService .AuthorizeAsync(User, timeTask, Operations.Read); if (!authorizationResult.Succeeded) { return(new ForbidResult()); } ViewData["SocketName"] = socket.Name; ViewData["RoomName"] = socket.Room.Name; IEnumerable <TimeTaskListViewModel> timeTaskViewModel = _mapper .Map <IEnumerable <TimeTask>, IEnumerable <TimeTaskListViewModel> >(socket.TimeTasks.OrderBy(tt => tt.TimeStamp).ToList()); return(View(timeTaskViewModel)); }
public async Task <IActionResult> Create(int id) { Socket socket = _socketRepository.GetSocketById(id); if (socket == null) { return(new NotFoundResult()); } TimeTask timeTask = new TimeTask { Socket = socket, SocketId = id, TimeStamp = DateTime.Today }; AuthorizationResult authorizationResult = await _authorizationService .AuthorizeAsync(User, timeTask, Operations.Create); if (!authorizationResult.Succeeded) { return(new ForbidResult()); } TimeTaskCreateViewModel timeTaskViewModel = _mapper.Map <TimeTaskCreateViewModel>(timeTask); return(View(timeTaskViewModel)); }
protected override void SetUpSchedules() { Task detectPlayer = new Task(new WaitTillPlayerCloseState(this, ref player)); TimeTask moveToForest = new TimeTask(50f, new MoveState(this, MapLocations.MiddleOfHauntedForestMiddle)); TimeTask moveToBridge = new TimeTask(50f, new MoveState(this, MapLocations.BridgeMiddle)); TimeTask moveToLightHouse = new TimeTask(50f, new MoveState(this, MapLocations.LightHouseMiddle)); TimeTask moveToReflectionTree = new TimeTask(50f, new MoveState(this, MapLocations.ReflectionTreeMiddle)); TimeTask moveToCliff = new TimeTask(50f, new MoveState(this, MapLocations.TopOfFirstFloorStairsRightMiddle)); TimeTask moveToWindmill = new TimeTask(50f, new MoveState(this, MapLocations.WindmillMiddle)); runAway = new ScheduleLoop(this); runAway.Add (moveToForest); runAway.Add (detectPlayer); runAway.Add (moveToBridge); runAway.Add (detectPlayer); runAway.Add (moveToLightHouse); runAway.Add (detectPlayer); runAway.Add (moveToReflectionTree); runAway.Add (detectPlayer); runAway.Add (moveToCliff); runAway.Add (detectPlayer); runAway.Add (moveToWindmill); wanderAndPlayMusic = new ScheduleLoop(this); wanderAndPlayMusic.Add (moveToForest); wanderAndPlayMusic.Add (moveToBridge); wanderAndPlayMusic.Add (moveToLightHouse); wanderAndPlayMusic.Add (moveToReflectionTree); wanderAndPlayMusic.Add (moveToCliff); wanderAndPlayMusic.Add (moveToWindmill); SetupInstrumentSchedules (); }
//替换定时任务 public bool ReplaceTimeTask(int tID, Action callBack, double delay, ETimeUnit type = ETimeUnit.Millisecond, int count = 1) { delay *= (int)type; bool find = false; TimeTask timeTask = new TimeTask(callBack, GetNowUTCTime() + delay, count, delay, tID); //替换 for (int i = 0; i < timeTaskList.Count; i++) { if (tID == timeTaskList[i].tID) { timeTaskList[i] = timeTask; find = true; break; } } for (int i = 0; i < tempTimeTaskList.Count; i++) { if (tID == tempTimeTaskList[i].tID) { tempTimeTaskList[i] = timeTask; find = true; break; } } return(find); }
protected override void Init() { Add(new TimeTask(.05f, new IdleState(_toManage))); Task activateStoryIntroPartOne = (new Task(new MoveThenDoState(_toManage, new Vector3(14f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage)))); activateStoryIntroPartOne.AddFlagToSet(FlagStrings.oldSiblingIntroStoryOnePartOneFlag); Add(activateStoryIntroPartOne); Add(new TimeTask(3.5f, new IdleState(_toManage))); Add(new Task(new MoveThenDoState(_toManage, new Vector3(24f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage)))); //Task activateStoryIntroPartTwo = (new Task(new MoveThenDoState(_toManage, new Vector3(22f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage)))); //activateStoryIntroPartTwo.AddFlagToSet(FlagStrings.oldSiblingIntroStoryOnePartTwoFlag); //Add(activateStoryIntroPartTwo); //Add(new TimeTask(3f, new IdleState(_toManage))); Add(new TimeTask(10f, new WaitTillPlayerCloseState(_toManage, ref _toManage.player,2f))); Add(new Task(new MoveThenDoState(_toManage, new Vector3(30f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage)))); Task siblingOldReachedCarpenterSonTask = new TimeTask(.05f, new IdleState(_toManage)); // at top staircase siblingOldReachedCarpenterSonTask.AddFlagToSet(FlagStrings.siblingOldReachedCarpenterSonFlag); Add(siblingOldReachedCarpenterSonTask); Add(new TimeTask(12.5f, new IdleState(_toManage))); Task siblingChatWithCarpenterPartOne = new Task(new MoveThenDoState(_toManage, new Vector3 (32f, Y_COORDINATE, .3f), new MarkTaskDone(_toManage))); // at top staircase siblingChatWithCarpenterPartOne.AddFlagToSet(FlagStrings.siblingOldGreetCarpenterSonOldPartOneFlag); Add(siblingChatWithCarpenterPartOne); Add(new TimeTask(6f, new IdleState(_toManage))); }
public bool AddTimeTask(Controller controller, TimeTask task) { try { WGPacket packet = new WGPacket(0xA8); packet.SetDevSn(controller.sn); packet.SetTimeTask(task); bool ret = true; foreach (var item in task.doorIndexs) { if (item < 1 || item > 4) { continue; } packet.SetTimeTaskDoorIndex(item); DoSend(packet, controller.ip, controller.port); List <WGPacket> packets = WGRecievePacket(1); if (packets.Count == 1) { ret = ret && (packets[0].data[0] == 1); } } return(ret); } finally { this.Close(); } }
public bool ReplaceTask(int taskId, Action callBack, float delay, TimeUnitEnum timeUnitEnum = TimeUnitEnum.Millisecond, int count = 1) { if (timeUnitEnum != TimeUnitEnum.Millisecond) { switch (timeUnitEnum) { case TimeUnitEnum.Second: delay = delay * 1000; break; case TimeUnitEnum.Minute: delay = delay * 1000 * 60; break; case TimeUnitEnum.Hour: delay = delay * 1000 * 60 * 60; break; case TimeUnitEnum.Day: delay = delay * 1000 * 60 * 60 * 24; break; default: Debug.Log("Add Task TimeUnit Type Error..."); break; } } float destTime = Time.realtimeSinceStartup * 1000 + delay; TimeTask task = new TimeTask(taskId, destTime, callBack, count, delay); bool isRep = false; for (int i = 0; i < taskTimeList.Count; i++) { if (taskTimeList[i].id == taskId) { taskTimeList[i] = task; isRep = true; break; } } if (!isRep) { for (int i = 0; i < tmpTimeList.Count; i++) { if (tmpTimeList[i].id == taskId) { tmpTimeList[i] = task; isRep = true; break; } } } return(isRep); }
public static double GetElapsed(TimeTask task) { System.Diagnostics.Stopwatch timer = new System.Diagnostics.Stopwatch(); timer.Start(); task(); timer.Stop(); return(timer.Elapsed.TotalSeconds); }
public void EditTimeTask(TimeTask timeTask) { TimeTask editedTimeTask = _applicationDbContext.TimeTasks.First(tt => tt.TimeTaskId == timeTask.TimeTaskId); editedTimeTask.Action = timeTask.Action; editedTimeTask.TimeStamp = timeTask.TimeStamp; editedTimeTask.BackgroundJobId = timeTask.BackgroundJobId; }
/// <summary> 检测计时任务 </summary> private void CheckTimeTask() { if (tmpTimeList.Count > 0) { lock (lockTime) { //获取缓存区的定时任务到计时列表 for (int i = 0; i < tmpTimeList.Count; i++) { taskTimeList.Add(tmpTimeList[i]); } tmpTimeList.Clear(); } } currentTime = GetUTCMillisecond();//获取当前时间 //遍历检测任务是否达到条件 for (int i = 0; i < taskTimeList.Count; i++) { TimeTask timeTask = taskTimeList[i]; if (currentTime.CompareTo(timeTask.endTime) < 0) { continue; } else { try { if (taskHandle != null) { taskHandle(timeTask.action, timeTask.id); } else { timeTask.action?.Invoke();//Action不为空进行调用 } } catch (Exception e) { Debug.Log(e.ToString()); } if (timeTask.count == 1) { taskTimeList.RemoveAt(i); //移除完成的任务 i--; //当前索引-1 tmpIdList.Add(timeTask.id); } else { if (timeTask.count != 0) { timeTask.count -= 1; } timeTask.endTime += timeTask.delayTime;//设置下一次任务的最终时间 } } } }
/// <summary> /// 替换任务 /// </summary> /// <param name="tid"></param> /// <returns></returns> public bool ReplaceTimeTask(int tid, Action <int> callback, float delay, PETimeUnit PETimeUnit = PETimeUnit.Millisecond, int count = 1) { if (PETimeUnit != PETimeUnit.Millisecond) { switch (PETimeUnit) { case PETimeUnit.Second: delay = delay * 1000; break; case PETimeUnit.Minute: delay = delay * 1000 * 60; break; case PETimeUnit.Hour: delay = delay * 1000 * 60 * 60; break; case PETimeUnit.Day: delay = delay * 1000 * 60 * 60 * 24; break; default: LogInfo("Add Task PETimeUnit Type Error..."); break; } } nowTime = GetUTCMilliseconds(); TimeTask newTask = new TimeTask(tid, callback, nowTime + delay, delay, count); bool isRep = false; // 是否替换成功 // 尝试在任务列表里寻找替换 for (int i = 0; i < taskTimeLst.Count; i++) { if (taskTimeLst[i].tid == tid) { taskTimeLst[i] = newTask; isRep = true; break; } } // 任务列表里没有,尝试去缓存找 if (!isRep) { for (int i = 0; i < tmpTimeLst.Count; i++) { if (tmpTimeLst[i].tid == tid) { tmpTimeLst[i] = newTask; isRep = true; break; } } } return(isRep); }
protected override Schedule GetSchedule() { Schedule schedule = new DefaultSchedule(this); Task initialSchedule = new TimeTask(.25f , new IdleState(this)); Task moveToBridge = new Task(new MoveThenDoState(this, new Vector3(5, .2f + LevelManager.levelYOffSetFromCenter, .3f), new MarkTaskDone(this))); schedule.Add(initialSchedule); schedule.Add (moveToBridge); return (schedule); }
private void TickTimeTask() { for (int i = 0; i < tmpTaskList.Count; i++) { taskList.Add(tmpTaskList[i]); } tmpTaskList.Clear(); for (int i = 0; i < taskList.Count; i++) { TimeTask task = taskList[i]; if (task.count == 0 || task.count < -1) { RemoveUniqueId(task.taskId); taskList.RemoveAt(i); i -= 1; continue; } if (Time.realtimeSinceStartup * 1000 >= task.destTime) { try { if (task.taskCB != null) { task.taskCB(); } if (task.count != -1) { task.count -= 1; if (task.count == 0) { RemoveUniqueId(task.taskId); taskList.RemoveAt(i); i -= 1; } else { task.destTime = Time.realtimeSinceStartup * 1000 + task.intervalTime; } } else { task.destTime = Time.realtimeSinceStartup * 1000 + task.intervalTime; } } catch (Exception e) { Debug.LogError(e.Message); } } else { continue; } } }
//添加定时任务 public int AddTimeTask(Action callBack, double delay, ETimeUnit type = ETimeUnit.Millisecond, int count = 1) { delay *= (int)type; int tID = GetTID(); TimeTask timeTask = new TimeTask(callBack, GetNowUTCTime() + delay, count, delay, tID); tempTimeTaskList.Add(timeTask); tIDList.Add(tID); return(tID); }
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); }
public IHttpActionResult GetTimeTask(int id) { TimeTask timeTask = db.TimeTasks.Find(id); if (timeTask == null) { return(NotFound()); } return(Ok(timeTask)); }
public void AddTimeTask(Action <int> cb, double interval, int count = 1, TimeUnit unit = TimeUnit.Millisecond) { if (unit != TimeUnit.Millisecond) { interval = GetMillisecond(interval, unit); } int id = GetUniqueId(); TimeTask task = new TimeTask(id, cb, GetUTCMillisecondTime() + interval, interval, count); tmpTimeTaskList.Add(task); }
public IHttpActionResult PostSeverityTask(Task task, TimeTask timeTask) { if (!ModelState.IsValid || task.Id != timeTask.TaskId || db.TaskExists(task.Id)) { return(BadRequest(ModelState)); } db.Tasks.Add(task); db.TimeTasks.Add(timeTask); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = timeTask.TaskId }, timeTask)); }
public void ExecuteTimeTask(TimeTask timeTask) { DateTime startTime = DateTime.Now; if (startTime.Subtract(timeTask.TimeStamp).Duration().Minutes == 0) { Socket socket = _socketRepository.GetSocketById(timeTask.SocketId); _mqttAppClientSingleton.Publish(socket.DeviceId, timeTask.Action.ToString()); } _timeTaskRepository.DeleteTimeTask(timeTask.TimeTaskId); _timeTaskRepository.Savechanges(); }
/// <summary> /// 添加一个计时器任务 /// </summary> /// <param name="task">将执行的任务</param> /// <param name="time">任务执行时间 ms</param> public int AddSchedule(TimeTask task, long time) { lock (task) { Index++; long nowTime = DateTime.Now.Ticks; //当前时间+延时间隔ms nowTime += time / 10000; TimeTaskModel model = new TimeTaskModel(Index, nowTime, task); //将任务添加到任务字典 mTaskDict.TryAdd(Index, model); return(Index); } }
public IActionResult Edit(TimeTaskEditViewModel model) { TimeTask timeTask = _mapper.Map <TimeTask>(model); BackgroundJob.Delete(timeTask.BackgroundJobId); string backgroundJobId = BackgroundJob.Schedule(() => ExecuteTimeTask(timeTask), timeTask.TimeStamp); timeTask.BackgroundJobId = backgroundJobId; _timeTaskRepository.EditTimeTask(timeTask); _timeTaskRepository.Savechanges(); return(RedirectToAction("Index", "TimeTask", new { id = model.SocketId })); }
/// <summary> /// 添加一个定时任务 /// </summary> /// <returns>任务的唯一id</returns> public int AddTimeTask(Action cb, float interval, int count = 1, TimeUnit tUnit = TimeUnit.Millisecond) { if (tUnit != TimeUnit.Millisecond) { interval = GetMilliSecond(interval, tUnit); } int id = GetUniqueId(); TimeTask task = new TimeTask(id, cb, Time.realtimeSinceStartup * 1000 + interval, interval, count); tmpTaskList.Add(task); uniqueIdList.Add(id); return(id); }
//检测定时任务 public void CheckTimeTask() { //将缓存区的定时器加入列表 for (int i = 0; i < tempTimeTaskList.Count; i++) { timeTaskList.Add(tempTimeTaskList[i]); } tempTimeTaskList.Clear(); for (int i = 0; i < timeTaskList.Count; i++) { TimeTask tt = timeTaskList[i]; if (GetNowUTCTime() < tt.deskTime) { continue; } Action callBack = timeTaskList[i].callBack; try { if (callBack != null) { callBack(); } } catch (Exception e) { LogInfo(e.ToString()); }; if (tt.count == 1) { recycleIDList.Add(timeTaskList[i].tID); timeTaskList.RemoveAt(i); i--; } else { if (tt.count != 0) { tt.count--; } tt.deskTime += tt.delay; } } if (recycleIDList.Count > 0) { RecycleTIDList(); } }
protected override async Task <JToken> ExecuteController(JToken data) { var player = await new Player(PlayerId).LoadAsync(); if (player == null) { return(JStatus.PlayerNotFound); } var ward = player.GetWardById(WardId); if (ward == null) { return(JStatus.WardNotFound); } var wardMeta = await ward.GetMetaAsync(); if (wardMeta == null) { return(JStatus.MetaNotFound); } if (ward.UnlockTask == null) { return(JStatus.Fail); } if (ward.UnlockTask.Check() == 0) { UpdatedUnlockTask = ward.UnlockTask; return(JStatus.NotReady); } ward.IsUnlocked = true; if (wardMeta.UnlockReward != null) { await wardMeta.UnlockReward.AwardPlayerAsync(player); } ward.UnlockTask = null; if (!await player.ReplaceAsync()) { OccFailFlag = true; return(JStatus.OccFail); } return(JStatus.Ok); }
/// <summary> /// 添加一个计时器任务 /// </summary> /// <param name="task">待执行的任务</param> /// <param name="time">任务执行时间_精度毫秒</param> public int AddSchedule(TimeTask task, long time) { lock (TaskDic) { //任务Id Index++; //根据现行时间添加任务时间 long nowtime = DateTime.Now.Ticks; nowtime += time * 10000; //创建一个新的任务 TimeTaskModel model = new TimeTaskModel(Index, nowtime, task); //将任务添加至任务字典 TaskDic.Add(Index, model); return(Index); } }
public async Task AddTask(TimeTask task) { using (var sqlConnection = new SqlConnection(connectionString)) { await sqlConnection.OpenAsync(); var dp = new DynamicParameters(); dp.Add("@Title", task.Title); dp.Add("@Description", task.Description); dp.Add("@StartDate", task.StartDate); dp.Add("@EndDate", task.EndDate); await sqlConnection.ExecuteAsync( "spAddTimeTask", dp, commandType : CommandType.StoredProcedure); } }
protected override async Task <JToken> ExecuteController(JToken data) { var player = await new Player(PlayerId).LoadAsync(); if (player == null) { return(JStatus.PlayerNotFound); } var ward = player.GetWardById(WardId); if (ward == null) { return(JStatus.WardNotFound); } var wardMeta = await ward.GetMetaAsync(); if (wardMeta == null) { return(JStatus.MetaNotFound); } if (ward.IsUnlocked) { return(JStatus.AlreadyUnlocked); } if (ward.UnlockTask != null) { return(JStatus.NotReady); } if (!wardMeta.UnlockRequirement.IsFulfilledByPlayer(player)) { return(JStatus.RequirementNotFulfilled); } player.SpendResources(wardMeta.UnlockRequirement.Resources); ward.UnlockTask = new TimeTask(wardMeta.UnlockTime); if (!await player.ReplaceAsync()) { OccFailFlag = true; return(JStatus.OccFail); } StartedUnlockTask = ward.UnlockTask; return(JStatus.Ok); }
/// <summary> /// 在指定时间执行Action /// </summary> public static void ScheduleTimeTask(DateTime targetTime, Action <object> action, object state) { if (DateTime.Now >= targetTime) { action(state); } else { var task = new TimeTask() { targetTime = targetTime, action = action, state = state, }; InsertTimeTaskOrdered(ref task); } }
public async Task Put(int id, string Title, string Description, string StartDate, string EndDate) { TimeTask tb = new TimeTask(); tb.Id = id; tb.Title = Title; tb.Description = Description; if (StartDate.Equals("null") && EndDate.Equals("null")) { await this.timeTaskProvider.UpdateTask(tb); } else { tb.StartDate = Convert.ToDateTime(StartDate); tb.EndDate = Convert.ToDateTime(EndDate); await this.timeTaskProvider.UpdateTask(tb); } }
/// <summary> /// 删除 临时 时间定时任务 列表 /// </summary> private void DelTimeTask() { if (tmpDelTimeLst.Count > 0) { lock (lockTime) { for (int i = 0; i < tmpDelTimeLst.Count; i++) { bool isDel = false; int delTid = tmpDelTimeLst[i]; // 任务存在任务列表里 for (int j = 0; j < taskTimeLst.Count; j++) { TimeTask task = taskTimeLst[j]; if (task.tid == delTid) { isDel = true; taskTimeLst.RemoveAt(j); recTidLst.Add(delTid); //LogInfo("Del taskTimeLst ID:" + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString()); break; } } if (isDel) { continue; } // 任务不存在任务列表里,去临时缓存里处理 for (int j = 0; j < tmpTimeLst.Count; j++) { TimeTask task = tmpTimeLst[j]; if (task.tid == delTid) { tmpTimeLst.RemoveAt(j); recTidLst.Add(delTid); //LogInfo("Del tmpTimeLst ID:" + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString()); break; } } } tmpDelTimeLst.Clear(); } } }
protected override async Task <JToken> ExecuteController(JToken data) { var player = await new Player(PlayerId).LoadAsync(); if (player == null) { return(JStatus.PlayerNotFound); } var building = player.GetBuildingById(BuildingId); if (building == null) { return(JStatus.BuildingNotFound); } var buildingMeta = await building.GetMetaAsync(); if (buildingMeta == null) { return(JStatus.BuildingNotFound); } if (building.ConstructionTask == null) { return(JStatus.Fail); } if (building.ConstructionTask.Check() == 0) { UpdatedConstructionTask = building.ConstructionTask; return(JStatus.NotReady); } building.IsConstructed = true; building.ConstructionTask = null; if (!await player.ReplaceAsync()) { OccFailFlag = true; return(JStatus.OccFail); } return(JStatus.Ok); }
protected override void SetUpSchedules() { BeginDayChat = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.CarpenterYoung), new YoungCarpenterSonToCarpenterConvo()); BeginDayChat.SetCanInteract(false); BeginDayWithDad = new Schedule(this, Schedule.priorityEnum.DoNow); TimeTask BeginDayTimeTask = new TimeTask(10, new WaitTillPlayerCloseState(this, ref player)); BeginDayTimeTask.AddFlagToSet(FlagStrings.carpenterSonYoungConvoWithDadFinished); BeginDayWithDad.Add(BeginDayTimeTask); this.AddSchedule(BeginDayWithDad); this.AddSchedule(BeginDayChat); TalkWithCastleman = new Schedule (this, Schedule.priorityEnum.High); TalkWithCastleman.Add(new TimeTask(300, new WaitTillPlayerCloseState(this, ref player))); Task setFlag = (new TimeTask(2f, new IdleState(this))); setFlag.AddFlagToSet(FlagStrings.InitialConversationWithCSONFriend); TalkWithCastleman.Add(setFlag); TalkWithCastleman.AddFlagGroup("CSONMEETCASTLEMAN"); TalkWithCastlemanNotFriend = new Schedule (this, Schedule.priorityEnum.High); TalkWithCastlemanNotFriend.Add(new TimeTask(300, new WaitTillPlayerCloseState(this, ref player))); Task setFlagNOT = (new TimeTask(2f, new IdleState(this))); setFlagNOT.AddFlagToSet(FlagStrings.InitialConversationWithCSONNOTFriend); TalkWithCastlemanNotFriend.Add(setFlagNOT); TalkWithCastleman.AddFlagGroup("CSONMEETCASTLEMAN"); Woodworking = new Schedule( this, Schedule.priorityEnum.Medium); //Woodworking.Add (new TimeTask(300, new WaitState(this))); Task whittleTask = new TimeTask(30, new AbstractAnimationState(this, "Whittle")); whittleTask.AddFlagToSet(FlagStrings.carpenterSonYoungCompletedWhittling); whittleSchedule = new Schedule(this, Schedule.priorityEnum.DoNow); whittleSchedule.SetCanInteract(false); whittleSchedule.Add(whittleTask); Task whittleDoneTask = new Task(new IdleState(this)); whittleDoneSchedule = new Schedule(this, Schedule.priorityEnum.Medium); whittleDoneSchedule.SetCanInteract(true); whittleDoneSchedule.Add(whittleDoneTask); }
protected override void SetUpSchedules() { 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 }
//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();*/ }
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(); }
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 }
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 }
protected override void SetUpSchedules() { InitialSchedule = new ScheduleLoop(this, Schedule.priorityEnum.Medium); Task waitForPlayer = new Task(new WaitTillPlayerCloseState(this, ref player)); InitialSchedule.Add(waitForPlayer); Task SayHi = new Task(new AbstractAnimationState(this, "Hi"), this, 0.1f, "Psst! Come over here!"); InitialSchedule.Add(SayHi); InitialSchedule.Add(new Task(new WaitTillPlayerCloseState(this, ref player))); Task playWithSword = new Task(new AbstractAnimationState(this, "Play With Sword")); InitialSchedule.Add(playWithSword); AttemptToTellOnLighthouse = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FarmerFatherYoung), new LightHouseToFarmerFather(),Schedule.priorityEnum.DoConvo); AttemptToTellOnLighthouse.SetCanNotInteractWithPlayer(); tellOnLighthouseConversationSchedule = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.LighthouseGirlYoung), new YoungFarmerMotherToLighthouseGirlToldOn(),Schedule.priorityEnum.DoConvo); Task SetFlagToBeach = (new Task(new MoveThenDoState(this, this.gameObject.transform.position, new MarkTaskDone(this)))); SetFlagToBeach.AddFlagToSet(FlagStrings.GoDownToBeach); TalkWithCastleman = new Schedule (this, Schedule.priorityEnum.DoNow); TalkWithCastleman.Add(new TimeTask(3000, new WaitTillPlayerCloseState(this, ref player))); Task setFlag = (new TimeTask(2f, new IdleState(this))); setFlag.AddFlagToSet(FlagStrings.StartTalkingToLighthouse); TalkWithCastleman.Add(setFlag); TalkWithCastleman.AddFlagGroup("TalkWithCastleman"); GaveApple = new Schedule(this, Schedule.priorityEnum.High); GaveApple.Add(new TimeTask(10f, new AbstractAnimationState(this, "Play With Sword"))); GaveApple.Add(SetFlagToBeach); //GaveApple.Add(new TimeTask(500f, new IdleState(this))); GaveNothingSchedule = new Schedule(this, Schedule.priorityEnum.High); GaveNothingSchedule.Add(new TimeTask(750f, new IdleState(this))); GaveNothingSchedule.Add(SetFlagToBeach); WalkToBeach = new Schedule(this, Schedule.priorityEnum.High); WalkToBeach.Add(new Task(new MoveThenMarkDoneState(this, MapLocations.MiddleOfBeachYoung))); Task setAtBeachFlag = new TimeTask(0f, new IdleState(this)); setAtBeachFlag.AddFlagToSet(FlagStrings.LighthouseAtBeach); WalkToBeach.Add(setAtBeachFlag); LighthouseGoingToBeach = new NPCConvoSchedule(this, NPCManager.instance.getNPC(StringsNPC.FarmerMotherYoung), new LighthouseToFarmerMother(),Schedule.priorityEnum.DoConvo, true); LighthouseGoingToBeach.SetCanNotInteractWithPlayer(); }
protected override void SetUpSchedules() { 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 }
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); }
//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 }
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); }
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); }
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); }