Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2019
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.ankamagames.dofus.network.messages.game.chat
  2. {
  3.    import com.ankamagames.jerakine.network.CustomDataWrapper;
  4.    import com.ankamagames.jerakine.network.ICustomDataInput;
  5.    import com.ankamagames.jerakine.network.ICustomDataOutput;
  6.    import com.ankamagames.jerakine.network.INetworkMessage;
  7.    import com.ankamagames.jerakine.network.utils.FuncTree;
  8.    import flash.utils.ByteArray;
  9.    
  10.    public class ChatServerMessage extends ChatAbstractServerMessage implements INetworkMessage
  11.    {
  12.      
  13.       public static const protocolId:uint = 881;
  14.        
  15.      
  16.       private var _isInitialized:Boolean = false;
  17.      
  18.       public var senderId:Number = 0;
  19.      
  20.       [Transient]
  21.       public var senderName:String = "";
  22.      
  23.       public var prefix:String = "";
  24.      
  25.       public var senderAccountId:uint = 0;
  26.      
  27.       public function ChatServerMessage()
  28.       {
  29.          super();
  30.       }
  31.      
  32.       override public function get isInitialized() : Boolean
  33.       {
  34.          return super.isInitialized && this._isInitialized;
  35.       }
  36.      
  37.       override public function getMessageId() : uint
  38.       {
  39.          return 881;
  40.       }
  41.      
  42.       public function initChatServerMessage(channel:uint = 0, content:String = "", timestamp:uint = 0, fingerprint:String = "", senderId:Number = 0, senderName:String = "", prefix:String = "", senderAccountId:uint = 0) : ChatServerMessage
  43.       {
  44.          super.initChatAbstractServerMessage(channel,content,timestamp,fingerprint);
  45.          this.senderId = senderId;
  46.          this.senderName = senderName;
  47.          this.prefix = prefix;
  48.          this.senderAccountId = senderAccountId;
  49.          this._isInitialized = true;
  50.          return this;
  51.       }
  52.      
  53.       override public function reset() : void
  54.       {
  55.          super.reset();
  56.          this.senderId = 0;
  57.          this.senderName = "";
  58.          this.prefix = "";
  59.          this.senderAccountId = 0;
  60.          this._isInitialized = false;
  61.       }
  62.      
  63.       override public function pack(output:ICustomDataOutput) : void
  64.       {
  65.          var data:ByteArray = new ByteArray();
  66.          this.serialize(new CustomDataWrapper(data));
  67.          writePacket(output,this.getMessageId(),data);
  68.       }
  69.      
  70.       override public function unpack(input:ICustomDataInput, length:uint) : void
  71.       {
  72.          this.deserialize(input);
  73.       }
  74.      
  75.       override public function unpackAsync(input:ICustomDataInput, length:uint) : FuncTree
  76.       {
  77.          var tree:FuncTree = new FuncTree();
  78.          tree.setRoot(input);
  79.          this.deserializeAsync(tree);
  80.          return tree;
  81.       }
  82.      
  83.       override public function serialize(output:ICustomDataOutput) : void
  84.       {
  85.          this.serializeAs_ChatServerMessage(output);
  86.       }
  87.      
  88.       public function serializeAs_ChatServerMessage(output:ICustomDataOutput) : void
  89.       {
  90.          super.serializeAs_ChatAbstractServerMessage(output);
  91.          if(this.senderId < -9007199254740990 || this.senderId > 9007199254740990)
  92.          {
  93.             throw new Error("Forbidden value (" + this.senderId + ") on element senderId.");
  94.          }
  95.          output.writeDouble(this.senderId);
  96.          output.writeUTF(this.senderName);
  97.          output.writeUTF(this.prefix);
  98.          if(this.senderAccountId < 0)
  99.          {
  100.             throw new Error("Forbidden value (" + this.senderAccountId + ") on element senderAccountId.");
  101.          }
  102.          output.writeInt(this.senderAccountId);
  103.       }
  104.      
  105.       override public function deserialize(input:ICustomDataInput) : void
  106.       {
  107.          this.deserializeAs_ChatServerMessage(input);
  108.       }
  109.      
  110.       public function deserializeAs_ChatServerMessage(input:ICustomDataInput) : void
  111.       {
  112.          super.deserialize(input);
  113.          this._senderIdFunc(input);
  114.          this._senderNameFunc(input);
  115.          this._prefixFunc(input);
  116.          this._senderAccountIdFunc(input);
  117.       }
  118.      
  119.       override public function deserializeAsync(tree:FuncTree) : void
  120.       {
  121.          this.deserializeAsyncAs_ChatServerMessage(tree);
  122.       }
  123.      
  124.       public function deserializeAsyncAs_ChatServerMessage(tree:FuncTree) : void
  125.       {
  126.          super.deserializeAsync(tree);
  127.          tree.addChild(this._senderIdFunc);
  128.          tree.addChild(this._senderNameFunc);
  129.          tree.addChild(this._prefixFunc);
  130.          tree.addChild(this._senderAccountIdFunc);
  131.       }
  132.      
  133.       private function _senderIdFunc(input:ICustomDataInput) : void
  134.       {
  135.          this.senderId = input.readDouble();
  136.          if(this.senderId < -9007199254740990 || this.senderId > 9007199254740990)
  137.          {
  138.             throw new Error("Forbidden value (" + this.senderId + ") on element of ChatServerMessage.senderId.");
  139.          }
  140.       }
  141.      
  142.       private function _senderNameFunc(input:ICustomDataInput) : void
  143.       {
  144.          this.senderName = input.readUTF();
  145.       }
  146.      
  147.       private function _prefixFunc(input:ICustomDataInput) : void
  148.       {
  149.          this.prefix = input.readUTF();
  150.       }
  151.      
  152.       private function _senderAccountIdFunc(input:ICustomDataInput) : void
  153.       {
  154.          this.senderAccountId = input.readInt();
  155.          if(this.senderAccountId < 0)
  156.          {
  157.             throw new Error("Forbidden value (" + this.senderAccountId + ") on element of ChatServerMessage.senderAccountId.");
  158.          }
  159.       }
  160.    }
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement