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