/game_client/src/com/jediflasher/game_client/server/messages/ChangeUsers.as

http://mmorpg-client-server-learning.googlecode.com/ · ActionScript · 89 lines · 69 code · 12 blank · 8 comment · 10 complexity · 847049961828b7069bff7bd06e39f765 MD5 · raw file

  1. package com.jediflasher.game_client.server.messages {
  2. import com.netease.protobuf.*;
  3. import com.netease.protobuf.fieldDescriptors.*;
  4. import flash.utils.Endian;
  5. import flash.utils.IDataInput;
  6. import flash.utils.IDataOutput;
  7. import flash.utils.IExternalizable;
  8. import flash.errors.IOError;
  9. // @@protoc_insertion_point(imports)
  10. // @@protoc_insertion_point(class_metadata)
  11. public dynamic final class ChangeUsers extends com.netease.protobuf.Message {
  12. public static const REMOVED:FieldDescriptor$TYPE_BOOL = new FieldDescriptor$TYPE_BOOL("com.jediflasher.game_client.server.messages.ChangeUsers.removed", "removed", (1 << 3) | com.netease.protobuf.WireType.VARINT);
  13. private var removed$field:Boolean;
  14. private var hasField$0:uint = 0;
  15. public function removeRemoved():void {
  16. hasField$0 &= 0xfffffffe;
  17. removed$field = new Boolean();
  18. }
  19. public function get hasRemoved():Boolean {
  20. return (hasField$0 & 0x1) != 0;
  21. }
  22. public function set removed(value:Boolean):void {
  23. hasField$0 |= 0x1;
  24. removed$field = value;
  25. }
  26. public function get removed():Boolean {
  27. return removed$field;
  28. }
  29. public static const USERS:RepeatedFieldDescriptor$TYPE_INT32 = new RepeatedFieldDescriptor$TYPE_INT32("com.jediflasher.game_client.server.messages.ChangeUsers.users", "users", (2 << 3) | com.netease.protobuf.WireType.VARINT);
  30. [ArrayElementType("int")]
  31. public var users:Array = [];
  32. /**
  33. * @private
  34. */
  35. override public final function writeToBuffer(output:com.netease.protobuf.WritingBuffer):void {
  36. if (hasRemoved) {
  37. com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.VARINT, 1);
  38. com.netease.protobuf.WriteUtils.write$TYPE_BOOL(output, removed$field);
  39. }
  40. for (var usersIndex:uint = 0; usersIndex < users.length; ++usersIndex) {
  41. com.netease.protobuf.WriteUtils.writeTag(output, com.netease.protobuf.WireType.VARINT, 2);
  42. com.netease.protobuf.WriteUtils.write$TYPE_INT32(output, users[usersIndex]);
  43. }
  44. for (var fieldKey:* in this) {
  45. super.writeUnknown(output, fieldKey);
  46. }
  47. }
  48. /**
  49. * @private
  50. */
  51. override public final function readFromSlice(input:flash.utils.IDataInput, bytesAfterSlice:uint):void {
  52. var removed$count:uint = 0;
  53. while (input.bytesAvailable > bytesAfterSlice) {
  54. var tag:uint = com.netease.protobuf.ReadUtils.read$TYPE_UINT32(input);
  55. switch (tag >> 3) {
  56. case 1:
  57. if (removed$count != 0) {
  58. throw new flash.errors.IOError('Bad data format: ChangeUsers.removed cannot be set twice.');
  59. }
  60. ++removed$count;
  61. removed = com.netease.protobuf.ReadUtils.read$TYPE_BOOL(input);
  62. break;
  63. case 2:
  64. if ((tag & 7) == com.netease.protobuf.WireType.LENGTH_DELIMITED) {
  65. com.netease.protobuf.ReadUtils.readPackedRepeated(input, com.netease.protobuf.ReadUtils.read$TYPE_INT32, users);
  66. break;
  67. }
  68. users.push(com.netease.protobuf.ReadUtils.read$TYPE_INT32(input));
  69. break;
  70. default:
  71. super.readUnknown(input, tag);
  72. break;
  73. }
  74. }
  75. }
  76. }
  77. }