示例#1
0
        /// <summary>
        /// Signal to listeners that a pickup request is complete.
        /// </summary>
        /// <param name="e"></param>
        public void Send_SB_Event_Fleet_PickupRequestComplete(Fleet_NeedPickupEventArgs e)
        {
            var methodName = "Send_Fleet_PickupRequesetComplete";

            LogTrace(methodName);

            var eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4},{5},{6}]\"",
                                            RelayGroup, SB_Events.SB_Event_Fleet_PickupRequestComplete.ToString(), e.SendingFleetMemberID, e.SolarSystemID,
                                            e.TargetCanEntityID, e.SendingFleetMemberEntityID, e.SendingFleetMemberName);

            LogMessage(methodName, LogSeverityTypes.Debug, "Sending {0}", eventString);
            LavishScript.ExecuteCommand(eventString);
        }
示例#2
0
        private void Handle_SB_Event_Notify_AcknowledgePickupRequest(object sender, LSEventArgs e)
        {
            var methodName = "Handle_SB_Event_Notify_AcknowledgePickupRequest";

            LogTrace(methodName);

            var fe = new Fleet_NeedPickupEventArgs(e);

            LogMessage(methodName, LogSeverityTypes.Debug, "Received AckPickupRequest from {0}.", fe.SendingFleetMemberID);
            if (OnSB_Event_Fleet_AcknowledgePickupRequest != null)
            {
                OnSB_Event_Fleet_AcknowledgePickupRequest(this, fe);
            }
        }
示例#3
0
        private void Handle_SB_Event_Fleet_DidPickup(object sender, LSEventArgs e)
        {
            var methodName = "Handle_SB_Event_Fleet_DidPickup";

            LogTrace(methodName);

            var fe = new Fleet_NeedPickupEventArgs(e);

            LogMessage(methodName, LogSeverityTypes.Debug, "Received DidPickup from {0}.", fe.SendingFleetMemberID);
            if (OnSB_Event_Fleet_DidPickup != null)
            {
                OnSB_Event_Fleet_DidPickup(this, fe);
            }
        }
示例#4
0
        private void _handle_SB_Event_Notify_AcknowledgePickupRequest(object sender, LSEventArgs e)
        {
            string methodName = "_handle_Notify_AckPickupRequest";

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Trace,
                                                                              methodName, string.Empty));
            Fleet_NeedPickupEventArgs fe = new Fleet_NeedPickupEventArgs(e);

            Core.StealthBot.Logging.OnLogMessage(ObjectName, new LogEventArgs(LogSeverityTypes.Minor,
                                                                              methodName, String.Format("Received AckPickupRequest from {0}.", fe.SendingFleetMemberID)));
            if (OnSB_Event_Fleet_AcknowledgePickupRequest != null)
            {
                OnSB_Event_Fleet_AcknowledgePickupRequest(this, fe);
            }
        }
示例#5
0
        private void Handle_SB_Event_Fleet_PickupRequestComplete(object sender, LSEventArgs e)
        {
            var methodName = "Handle_SB_Event_Fleet_PickupRequestComplete";

            LogTrace(methodName);

            var eventArgs = new Fleet_NeedPickupEventArgs(e);

            LogMessage(methodName, LogSeverityTypes.Debug, "Received PickupRequestComplete from {0}", eventArgs.SendingFleetMemberID);

            if (OnSB_Event_Fleet_PickupRequestComplete != null)
            {
                OnSB_Event_Fleet_PickupRequestComplete(this, eventArgs);
            }
        }
示例#6
0
        /// <summary>
        /// If the we have a pickup request matching the received complete one, remove it.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void HandlePickupRequestComplete(object sender, Fleet_NeedPickupEventArgs e)
        {
            lock (this)
            {
                for (var index = 0; index < _sentPickupRequests.Count; index++)
                {
                    var request = _sentPickupRequests[index];

                    if (request.SendingFleetMemberID == e.SendingFleetMemberID &&
                        request.TargetCanEntityID == e.TargetCanEntityID)
                    {
                        _sentPickupRequests.RemoveAt(index);
                        index--;
                        break;
                    }
                }
            }
        }
示例#7
0
        /// <summary>
        /// Signal to listeners that we need a pickup.
        /// </summary>
        /// <param name="sendingFleetMemberID"></param>
        /// <param name="solarSystemID"></param>
        /// <param name="targetCanEntityID"></param>
        /// <param name="sendingFleetMemberEntityID"></param>
        public void Send_SB_Event_Fleet_NeedPickup(Int64 sendingFleetMemberID, int solarSystemID, Int64 targetCanEntityID, Int64 sendingFleetMemberEntityID, string sendingFleetMemberName)
        {
            var methodName = "Send_Fleet_NeedPickup";

            LogTrace(methodName);

            var eventString = String.Format("relay \"other {0}\" \"Event[{1}]:Execute[{2},{3},{4},{5},{6}]\"",
                                            RelayGroup, SB_Events.SB_Event_Fleet_NeedPickup.ToString(), sendingFleetMemberID.ToString(),
                                            solarSystemID.ToString(), targetCanEntityID.ToString(), sendingFleetMemberEntityID.ToString(), sendingFleetMemberName);

            LogMessage(methodName, LogSeverityTypes.Debug, "Sending {0}", eventString);
            LavishScript.ExecuteCommand(eventString);

            //Add a new PickupRequest to the list for re-sending if necessary
            var eventArgs = new Fleet_NeedPickupEventArgs(sendingFleetMemberID, solarSystemID, targetCanEntityID, sendingFleetMemberEntityID, sendingFleetMemberName);

            lock (this)
            {
                _sentPickupRequests.Add(eventArgs);
            }
        }