示例#1
0
 /// <summary>
 /// Requests status of character from server. Exits after status has been received or timeout occured.
 /// </summary>
 /// <param name="timeout">Timeout period.</param>
 /// <returns>True when status update received; otherwise false.</returns>
 public bool RequestStatus(int timeout)
 {
     if (Exist)
     {
         // TODO: Could receive i.e. HitsUpdate packet before 0x11
         using (SpecializedObjectChangedEventWaiter ew = new SpecializedObjectChangedEventWaiter(Serial, ObjectChangeType.CharUpdated, StatusUpdateFilter)) {
             Core.SendToServer(PacketBuilder.CharacterStatsRequest(Serial, PacketBuilder.StatsRequestType.Stats));
             return(ew.Wait(timeout));
         }
     }
     else
     {
         return(false);
     }
 }
示例#2
0
 /// <summary>
 /// Requests status of character from server. Exits after status has been received or timeout occured.
 /// </summary>
 /// <param name="timeout">Timeout period.</param>
 /// <returns>True when status update received; otherwise false.</returns>
 public bool RequestStatus(int timeout)
 {
     if (Exist) {
         // TODO: Could receive i.e. HitsUpdate packet before 0x11
         using (SpecializedObjectChangedEventWaiter ew = new SpecializedObjectChangedEventWaiter(Serial, ObjectChangeType.CharUpdated, StatusUpdateFilter)) {
             Core.SendToServer(PacketBuilder.CharacterStatsRequest(Serial, PacketBuilder.StatsRequestType.Stats));
             return ew.Wait(timeout);
         }
     }
     else return false;
 }
示例#3
0
        /// <summary>
        /// Requests status of character from server.
        /// </summary>
        /// <param name="serial">Character serial.</param>
        /// <param name="timeout">Timeout period.</param>
        /// <returns>True when status update received; otherwise false.</returns>
        public static bool RequestCharacterStatus(Serial serial, int timeout)
        {
            if (!serial.IsValid)
                return ScriptErrorException.Throw("Character serial is invalid.");

            using (SpecializedObjectChangedEventWaiter ew = new SpecializedObjectChangedEventWaiter(serial, ObjectChangeType.CharUpdated)) {
                Core.SendToServer(PacketBuilder.CharacterStatsRequest(serial, PacketBuilder.StatsRequestType.Stats));
                return ew.Wait(timeout);
            }
        }