/// <summary> /// There are no pre-accept actions /// </summary> /// <param name="storyline"></param> /// <returns></returns> public StorylineState PreAcceptMission(Storyline storyline) { _state = GenericCourierStorylineState.GotoPickupLocation; _States.CurrentTravelerState = TravelerState.Idle; Traveler.Destination = null; return(StorylineState.AcceptMission); }
/// <summary> /// Goto the pickup location /// Pickup the item /// Goto drop off location /// Drop the item /// Complete mission /// </summary> /// <param name="storyline"></param> /// <returns></returns> public StorylineState ExecuteMission(Storyline storyline) { if (_nextGenericCourierStorylineAction > DateTime.UtcNow) { return(StorylineState.ExecuteMission); } switch (_state) { case GenericCourierStorylineState.GotoPickupLocation: if (GotoMissionBookmark(Cache.Instance.CurrentStorylineAgentId, "Objective (Pick Up)")) { _state = GenericCourierStorylineState.PickupItem; } break; case GenericCourierStorylineState.PickupItem: if (MoveItem(true)) { _state = GenericCourierStorylineState.GotoDropOffLocation; } break; case GenericCourierStorylineState.GotoDropOffLocation: if (GotoMissionBookmark(Cache.Instance.CurrentStorylineAgentId, "Objective (Drop Off)")) { _state = GenericCourierStorylineState.DropOffItem; } break; case GenericCourierStorylineState.DropOffItem: if (MoveItem(false)) { return(StorylineState.CompleteMission); } break; } return(StorylineState.ExecuteMission); }
/// <summary> /// There are no pre-accept actions /// </summary> /// <param name="storyline"></param> /// <returns></returns> public StorylineState PreAcceptMission(Storyline storyline) { _state = GenericCourierStorylineState.GotoPickupLocation; _States.CurrentTravelerState = TravelerState.Idle; Traveler.Destination = null; return StorylineState.AcceptMission; }
/// <summary> /// Goto the pickup location /// Pickup the item /// Goto drop off location /// Drop the item /// Complete mission /// </summary> /// <param name="storyline"></param> /// <returns></returns> public StorylineState ExecuteMission(Storyline storyline) { if (_nextAction > DateTime.UtcNow) return StorylineState.ExecuteMission; switch (_state) { case GenericCourierStorylineState.GotoPickupLocation: if (GotoMissionBookmark(Cache.Instance.CurrentStorylineAgentId, "Objective (Pick Up)")) _state = GenericCourierStorylineState.PickupItem; break; case GenericCourierStorylineState.PickupItem: if (MoveItem(true)) _state = GenericCourierStorylineState.GotoDropOffLocation; break; case GenericCourierStorylineState.GotoDropOffLocation: if (GotoMissionBookmark(Cache.Instance.CurrentStorylineAgentId, "Objective (Drop Off)")) _state = GenericCourierStorylineState.DropOffItem; break; case GenericCourierStorylineState.DropOffItem: if (MoveItem(false)) return StorylineState.CompleteMission; break; } return StorylineState.ExecuteMission; }