Ejemplo n.º 1
0
 public void Deserialize(IDataReader reader)
 {
     StatedElements = new StatedElement[reader.ReadShort()];
     for (var i = 0; i < StatedElements.Length; i++)
     {
         (StatedElements[i] = new StatedElement()).Deserialize(reader);
     }
 }
Ejemplo n.º 2
0
        public override void Serialize(IDataWriter writer)
        {
            writer.WriteShort(((short)(m_houses.Count)));
            int housesIndex;

            for (housesIndex = 0; (housesIndex < m_houses.Count); housesIndex = (housesIndex + 1))
            {
                HouseInformations objectToSend = m_houses[housesIndex];
                writer.WriteUShort(((ushort)(objectToSend.TypeID)));
                objectToSend.Serialize(writer);
            }
            writer.WriteShort(((short)(m_actors.Count)));
            int actorsIndex;

            for (actorsIndex = 0; (actorsIndex < m_actors.Count); actorsIndex = (actorsIndex + 1))
            {
                GameRolePlayActorInformations objectToSend = m_actors[actorsIndex];
                writer.WriteUShort(((ushort)(objectToSend.TypeID)));
                objectToSend.Serialize(writer);
            }
            writer.WriteShort(((short)(m_interactiveElements.Count)));
            int interactiveElementsIndex;

            for (interactiveElementsIndex = 0; (interactiveElementsIndex < m_interactiveElements.Count); interactiveElementsIndex = (interactiveElementsIndex + 1))
            {
                InteractiveElement objectToSend = m_interactiveElements[interactiveElementsIndex];
                writer.WriteUShort(((ushort)(objectToSend.TypeID)));
                objectToSend.Serialize(writer);
            }
            writer.WriteShort(((short)(m_statedElements.Count)));
            int statedElementsIndex;

            for (statedElementsIndex = 0; (statedElementsIndex < m_statedElements.Count); statedElementsIndex = (statedElementsIndex + 1))
            {
                StatedElement objectToSend = m_statedElements[statedElementsIndex];
                objectToSend.Serialize(writer);
            }
            writer.WriteShort(((short)(m_obstacles.Count)));
            int obstaclesIndex;

            for (obstaclesIndex = 0; (obstaclesIndex < m_obstacles.Count); obstaclesIndex = (obstaclesIndex + 1))
            {
                MapObstacle objectToSend = m_obstacles[obstaclesIndex];
                objectToSend.Serialize(writer);
            }
            writer.WriteShort(((short)(m_fights.Count)));
            int fightsIndex;

            for (fightsIndex = 0; (fightsIndex < m_fights.Count); fightsIndex = (fightsIndex + 1))
            {
                FightCommonInformations objectToSend = m_fights[fightsIndex];
                objectToSend.Serialize(writer);
            }
            m_fightStartPositions.Serialize(writer);
            writer.WriteVarShort(m_subAreaId);
            writer.WriteInt(m_mapId);
            writer.WriteBoolean(m_hasAggressiveMonsters);
        }
        public override void Deserialize(IDataReader reader)
        {
            mapId = reader.ReadInt();
            if (mapId < 0)
            {
                throw new Exception("Forbidden value on mapId = " + mapId + ", it doesn't respect the following condition : mapId < 0");
            }
            subareaId = reader.ReadShort();
            if (subareaId < 0)
            {
                throw new Exception("Forbidden value on subareaId = " + subareaId + ", it doesn't respect the following condition : subareaId < 0");
            }
            var limit = reader.ReadUShort();

            houses = new HouseInformations[limit];
            for (int i = 0; i < limit; i++)
            {
                houses[i] = (HouseInformations)ProtocolTypeManager.GetInstance(reader.ReadUShort());
                houses[i].Deserialize(reader);
            }
            limit  = reader.ReadUShort();
            actors = new GameRolePlayActorInformations[limit];
            for (int i = 0; i < limit; i++)
            {
                actors[i] = (GameRolePlayActorInformations)ProtocolTypeManager.GetInstance(reader.ReadUShort());
                actors[i].Deserialize(reader);
            }
            limit = reader.ReadUShort();
            interactiveElements = new InteractiveElement[limit];
            for (int i = 0; i < limit; i++)
            {
                interactiveElements[i] = new InteractiveElement();
                interactiveElements[i].Deserialize(reader);
            }
            limit          = reader.ReadUShort();
            statedElements = new StatedElement[limit];
            for (int i = 0; i < limit; i++)
            {
                statedElements[i] = new StatedElement();
                statedElements[i].Deserialize(reader);
            }
            limit     = reader.ReadUShort();
            obstacles = new MapObstacle[limit];
            for (int i = 0; i < limit; i++)
            {
                obstacles[i] = new MapObstacle();
                obstacles[i].Deserialize(reader);
            }
            limit  = reader.ReadUShort();
            fights = new FightCommonInformations[limit];
            for (int i = 0; i < limit; i++)
            {
                fights[i] = new FightCommonInformations();
                fights[i].Deserialize(reader);
            }
        }
        public void Update(StatedElement element)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }
            State = (InteractiveState)element.elementState;

            DefinePosition(Map.Cells[element.elementCellId]);
        }
Ejemplo n.º 5
0
        public override void Deserialize(IDataReader reader)
        {
            var limit = reader.ReadUShort();

            statedElements = new StatedElement[limit];
            for (int i = 0; i < limit; i++)
            {
                statedElements[i] = new StatedElement();
                statedElements[i].Deserialize(reader);
            }
        }
Ejemplo n.º 6
0
        public override void Serialize(IDataWriter writer)
        {
            writer.WriteShort(((short)(m_statedElements.Count)));
            int statedElementsIndex;

            for (statedElementsIndex = 0; (statedElementsIndex < m_statedElements.Count); statedElementsIndex = (statedElementsIndex + 1))
            {
                StatedElement objectToSend = m_statedElements[statedElementsIndex];
                objectToSend.Serialize(writer);
            }
        }
Ejemplo n.º 7
0
        public override void Deserialize(IDataReader reader)
        {
            uint num = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num; ++index)
            {
                StatedElement statedElement = new StatedElement();
                statedElement.Deserialize(reader);
                this.statedElements.Add(statedElement);
            }
        }
Ejemplo n.º 8
0
        private int GetRessourceDistance(int Id)
        {
            MapPoint      CharacterMapPoint = new MapPoint(account.Map.Character.CellId);
            StatedElement StatedRessource   = account.Map.StatedElements.FirstOrDefault((se) => se.Value.Id == Id).Value;

            if (StatedRessource != null)
            {
                MapPoint RessourceMapPoint = new MapPoint((int)StatedRessource.CellId);
                return(CharacterMapPoint.DistanceTo(RessourceMapPoint));
            }
            return(-1);
        }
Ejemplo n.º 9
0
        public override void Deserialize(IDataReader reader)
        {
            var StatedElementsCount = reader.ReadShort();

            StatedElements = new List <StatedElement>();
            for (var i = 0; i < StatedElementsCount; i++)
            {
                var objectToAdd = new StatedElement();
                objectToAdd.Deserialize(reader);
                StatedElements.Add(objectToAdd);
            }
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Get the distance between the character and the ressource.
        /// </summary>
        /// <param name="Id">
        /// The id of the ressource.
        /// </param>
        public int GetRessourceDistance(int Id)
        {
            MapPoint      CharacterMapPoint = new MapPoint(account.MapData.Character.disposition.cellId);
            StatedElement StatedRessource   = account.MapData.StatedElements.FirstOrDefault((se) => se.Id == Id);

            if (StatedRessource != null)
            {
                MapPoint RessourceMapPoint = new MapPoint((int)StatedRessource.CellId);
                return(CharacterMapPoint.DistanceTo(RessourceMapPoint));
            }
            return(-1);
        }
Ejemplo n.º 11
0
        public override void Deserialize(IDataReader reader)
        {
            var statedElementsCount = reader.ReadUShort();

            StatedElements = new List <StatedElement>();
            for (var statedElementsIndex = 0; statedElementsIndex < statedElementsCount; statedElementsIndex++)
            {
                var objectToAdd = new StatedElement();
                objectToAdd.Deserialize(reader);
                StatedElements.Add(objectToAdd);
            }
        }
Ejemplo n.º 12
0
        public override void Deserialize(ICustomDataInput reader)
        {
            var countStatedElements = reader.ReadShort();

            StatedElements = new List <StatedElement>();
            for (short i = 0; i < countStatedElements; i++)
            {
                StatedElement type = new StatedElement();
                type.Deserialize(reader);
                StatedElements.Add(type);
            }
        }
Ejemplo n.º 13
0
        public override void Deserialize(IDataReader reader)
        {
            int statedElementsCount = reader.ReadUShort();
            int statedElementsIndex;

            m_statedElements = new System.Collections.Generic.List <StatedElement>();
            for (statedElementsIndex = 0; (statedElementsIndex < statedElementsCount); statedElementsIndex = (statedElementsIndex + 1))
            {
                StatedElement objectToAdd = new StatedElement();
                objectToAdd.Deserialize(reader);
                m_statedElements.Add(objectToAdd);
            }
        }
Ejemplo n.º 14
0
 public void Update(StatedElement element)
 {
     CellId = element.elementCellId;
     State  = element.elementState;
     if (EnabledSkills.Length != 0)
     {
         Enabled = true;
     }
     else
     {
         Enabled = false;
     }
 }
Ejemplo n.º 15
0
 public ElementModel(StatedElement element)
 {
     CellId = element.elementCellId;
     Id     = element.elementId;
     State  = element.elementState;
     if (EnabledSkills.Length != 0)
     {
         Enabled = true;
     }
     else
     {
         Enabled = false;
     }
 }
Ejemplo n.º 16
0
        public void Update(StatedElement element)
        {
            if (element == null)
            {
                throw new ArgumentNullException("element");
            }
            InteractiveObject interactive = GetInteractive(element.elementId);

            if (interactive != null)
            {
                interactive.Update(element);
            }
            else
            {
                logger.Warn("Cannot find Interactive {0} associated to the StatedElement", element.elementId);
            }
        }
 public void Deserialize(IDataReader reader)
 {
     SubAreaId = (UInt16)reader.ReadVarShort();
     MapId     = reader.ReadDouble();
     Houses    = new HouseInformations[reader.ReadShort()];
     for (var i = 0; i < Houses.Length; i++)
     {
         (Houses[i] = new HouseInformations()).Deserialize(reader);
     }
     Actors = new GameRolePlayActorInformations[reader.ReadShort()];
     for (var i = 0; i < Actors.Length; i++)
     {
         (Actors[i] = new GameRolePlayActorInformations()).Deserialize(reader);
     }
     InteractiveElements = new InteractiveElement[reader.ReadShort()];
     for (var i = 0; i < InteractiveElements.Length; i++)
     {
         (InteractiveElements[i] = new InteractiveElement()).Deserialize(reader);
     }
     StatedElements = new StatedElement[reader.ReadShort()];
     for (var i = 0; i < StatedElements.Length; i++)
     {
         (StatedElements[i] = new StatedElement()).Deserialize(reader);
     }
     Obstacles = new MapObstacle[reader.ReadShort()];
     for (var i = 0; i < Obstacles.Length; i++)
     {
         (Obstacles[i] = new MapObstacle()).Deserialize(reader);
     }
     Fights = new FightCommonInformations[reader.ReadShort()];
     for (var i = 0; i < Fights.Length; i++)
     {
         (Fights[i] = new FightCommonInformations()).Deserialize(reader);
     }
     HasAggressiveMonsters = reader.ReadBoolean();
     FightStartPositions   = new FightStartingPositions();
     FightStartPositions.Deserialize(reader);
 }
Ejemplo n.º 18
0
 public void Deserialize(IDataReader reader)
 {
     StatedElement = new StatedElement();
     StatedElement.Deserialize(reader);
 }
Ejemplo n.º 19
0
        public void MapInformationsRequestMessageFrame(WorldClient client, MapInformationsRequestMessage mapInformationsRequestMessage)
        {
            var map = MapManager.Instance.GetMap(client.ActiveCharacter.MapId);

            // interative elements
            List <InteractiveElement> interactiveElements = new List <InteractiveElement>();

            foreach (var iElement in map.InteractiveElementList)
            {
                InteractiveElement interactiveElement = new InteractiveElement((uint)iElement.ElementId, iElement.TypeId, new List <InteractiveElementSkill>()
                {
                    new InteractiveElementSkill((uint)iElement.SkillId, 0)
                }, new List <InteractiveElementSkill>(), true);

                /*
                 * if(iElement.TypeId == 43)
                 * {
                 *  interactiveElement = new InteractiveElementWithAgeBonus((uint)iElement.ElementId, iElement.TypeId, new List<InteractiveElementSkill>() { new InteractiveElementSkill((uint)iElement.SkillId, 0) }, new List<InteractiveElementSkill>(), true, 0);
                 * }*/



                interactiveElements.Add(interactiveElement);
            }



            // stated elements
            List <StatedElement> statedElements = new List <StatedElement>();

            foreach (var sElement in map.StatedElementList)
            {
                StatedElement statedElement = new StatedElement();
                statedElement.elementCellId = (uint)sElement.CellId;
                statedElement.elementId     = (uint)sElement.ElementId;
                statedElement.elementState  = 0;
                statedElement.onCurrentMap  = true;

                statedElements.Add(statedElement);
            }


            List <uint> elementIds = new List <uint>();

            //quand joueur entre sur la carte
            map.EnterMap(client);

            List <GameRolePlayActorInformations> gameRolePlayActorInformations = map.GetGameRolePlayActorInformations(client);

            //npc
            List <GameRolePlayActorInformations> gameRolePlayNpcs = new List <GameRolePlayActorInformations>();

            foreach (var npc in map.NpcSpawnList)
            {
                gameRolePlayNpcs.Add(new GameRolePlayNpcInformations(npc.Id * -1, new EntityDispositionInformations(npc.CellId, (uint)npc.Orientation), Look.Parse(npc.EntityLook).GetEntityLook(), (uint)npc.NpcId, true, 1));
            }

            //monsters
            foreach (var monsterGroup in map.MonstersGroups)
            {
                gameRolePlayNpcs.Add(monsterGroup.RolePlayGroupMonsterInformations);
            }

            client.SendPacket(new MapComplementaryInformationsDataMessage((uint)map.MapData.SubAreaId, client.ActiveCharacter.MapId, new List <HouseInformations>(), gameRolePlayActorInformations, interactiveElements,
                                                                          statedElements, new List <MapObstacle>(), map.GetFightInformationsOnMap(), true, map.FightStartingPosition));

            client.SendPacket(new GameRolePlayShowMultipleActorsMessage(gameRolePlayNpcs));
            client.SendPacket(new SetCharacterRestrictionsMessage(client.ActiveCharacter.Id, new ActorRestrictionsInformations()));
        }
Ejemplo n.º 20
0
 public override void Deserialize(ICustomDataInput reader)
 {
     m_statedElement = new StatedElement();
     m_statedElement.Deserialize(reader);
 }
Ejemplo n.º 21
0
 public StatedElementUpdatedMessage(StatedElement statedElement)
 {
     m_statedElement = statedElement;
 }
Ejemplo n.º 22
0
 public StatedElementUpdatedMessage(StatedElement StatedElement)
 {
     this.StatedElement = StatedElement;
 }
Ejemplo n.º 23
0
 public override void Deserialize(IDataReader reader)
 {
     this.statedElement = new StatedElement();
     this.statedElement.Deserialize(reader);
 }
Ejemplo n.º 24
0
 public StatedElementUpdatedMessage(StatedElement statedElement)
 {
     this.statedElement = statedElement;
 }
Ejemplo n.º 25
0
        public static object GetInstance(uint typeId)
        {
            object obj = null;

            switch (typeId)
            {
            case 11:
                obj = new Types.Version();
                break;

            case 25:
                obj = new GameServerInformations();
                break;

            case 55:
                obj = new EntityLook();
                break;

            case 54:
                obj = new SubEntity();
                break;

            case 110:
                obj = new CharacterMinimalInformations();
                break;

            case 163:
                obj = new CharacterMinimalPlusLookInformations();
                break;

            case 193:
                obj = new CharacterMinimalPlusLookAndGradeInformations();
                break;

            case 45:
                obj = new CharacterBaseInformations();
                break;

            case 212:
                obj = new CharacterToRecolorInformation();
                break;

            case 86:
                obj = new CharacterHardcoreInformations();
                break;

            case 63:
                obj = new EntityMovementInformations();
                break;

            case 60:
                obj = new EntityDispositionInformations();
                break;

            case 107:
                obj = new IdentifiedEntityDispositionInformations();
                break;

            case 217:
                obj = new FightEntityDispositionInformations();
                break;

            case 127:
                obj = new GuildInformations();
                break;

            case 204:
                obj = new ActorRestrictionsInformations();
                break;

            case 201:
                obj = new ActorAlignmentInformations();
                break;

            case 183:
                obj = new PaddockContentInformations();
                break;

            case 184:
                obj = new MountInformationsForPaddock();
                break;

            case 202:
                obj = new ActorExtendedAlignmentInformations();
                break;

            case 135:
                obj = new AlignmentBonusInformations();
                break;

            case 142:
                obj = new PrismSubAreaInformation();
                break;

            case 152:
                obj = new PrismConquestInformation();
                break;

            case 187:
                obj = new TaxCollectorName();
                break;

            case 96:
                obj = new TaxCollectorBasicInformations();
                break;

            case 4:
                obj = new CharacterBaseCharacteristic();
                break;

            case 215:
                obj = new CharacterSpellModification();
                break;

            case 8:
                obj = new CharacterCharacteristicsInformations();
                break;

            case 117:
                obj = new FightExternalInformations();
                break;

            case 43:
                obj = new FightCommonInformations();
                break;

            case 44:
                obj = new FightTeamMemberInformations();
                break;

            case 13:
                obj = new FightTeamMemberCharacterInformations();
                break;

            case 6:
                obj = new FightTeamMemberMonsterInformations();
                break;

            case 177:
                obj = new FightTeamMemberTaxCollectorInformations();
                break;

            case 20:
                obj = new FightOptionsInformations();
                break;

            case 116:
                obj = new AbstractFightTeamInformations();
                break;

            case 33:
                obj = new FightTeamInformations();
                break;

            case 115:
                obj = new FightTeamLightInformations();
                break;

            case 31:
                obj = new GameFightMinimalStats();
                break;

            case 41:
                obj = new FightLoot();
                break;

            case 16:
                obj = new FightResultListEntry();
                break;

            case 189:
                obj = new FightResultFighterListEntry();
                break;

            case 191:
                obj = new FightResultAdditionalData();
                break;

            case 192:
                obj = new FightResultExperienceData();
                break;

            case 190:
                obj = new FightResultPvpData();
                break;

            case 24:
                obj = new FightResultPlayerListEntry();
                break;

            case 216:
                obj = new FightResultMutantListEntry();
                break;

            case 84:
                obj = new FightResultTaxCollectorListEntry();
                break;

            case 206:
                obj = new AbstractFightDispellableEffect();
                break;

            case 208:
                obj = new FightDispellableEffectExtendedInformations();
                break;

            case 209:
                obj = new FightTemporaryBoostEffect();
                break;

            case 210:
                obj = new FightTriggeredEffect();
                break;

            case 207:
                obj = new FightTemporarySpellBoostEffect();
                break;

            case 211:
                obj = new FightTemporaryBoostWeaponDamagesEffect();
                break;

            case 214:
                obj = new FightTemporaryBoostStateEffect();
                break;

            case 205:
                obj = new GameFightSpellCooldown();
                break;

            case 7:
                obj = new Item();
                break;

            case 49:
                obj = new SpellItem();
                break;

            case 76:
                obj = new ObjectEffect();
                break;

            case 74:
                obj = new ObjectEffectString();
                break;

            case 70:
                obj = new ObjectEffectInteger();
                break;

            case 82:
                obj = new ObjectEffectMinMax();
                break;

            case 73:
                obj = new ObjectEffectDice();
                break;

            case 72:
                obj = new ObjectEffectDate();
                break;

            case 75:
                obj = new ObjectEffectDuration();
                break;

            case 71:
                obj = new ObjectEffectCreature();
                break;

            case 81:
                obj = new ObjectEffectLadder();
                break;

            case 179:
                obj = new ObjectEffectMount();
                break;

            case 178:
                obj = new MountClientData();
                break;

            case 168:
                obj = new ItemDurability();
                break;

            case 85:
                obj = new GameActionMarkedCell();
                break;

            case 123:
                obj = new GoldItem();
                break;

            case 124:
                obj = new ObjectItemMinimalInformation();
                break;

            case 119:
                obj = new ObjectItemQuantity();
                break;

            case 134:
                obj = new ObjectItemNotInContainer();
                break;

            case 37:
                obj = new ObjectItem();
                break;

            case 120:
                obj = new ObjectItemToSell();
                break;

            case 164:
                obj = new ObjectItemToSellInBid();
                break;

            case 198:
                obj = new ObjectItemInRolePlay();
                break;

            case 197:
                obj = new ObjectItemWithLookInRolePlay();
                break;

            case 199:
                obj = new OrientedObjectItemWithLookInRolePlay();
                break;

            case 185:
                obj = new PaddockItem();
                break;

            case 121:
                obj = new SellerBuyerDescriptor();
                break;

            case 122:
                obj = new BidExchangerObjectInfo();
                break;

            case 52:
                obj = new StartupActionAddObject();
                break;

            case 106:
                obj = new IgnoredInformations();
                break;

            case 105:
                obj = new IgnoredOnlineInformations();
                break;

            case 78:
                obj = new FriendInformations();
                break;

            case 92:
                obj = new FriendOnlineInformations();
                break;

            case 77:
                obj = new FriendSpouseInformations();
                break;

            case 93:
                obj = new FriendSpouseOnlineInformations();
                break;

            case 88:
                obj = new GuildMember();
                break;

            case 87:
                obj = new GuildEmblem();
                break;

            case 80:
                obj = new InteractiveElement();
                break;

            case 108:
                obj = new StatedElement();
                break;

            case 200:
                obj = new MapObstacle();
                break;

            case 213:
                obj = new PartyUpdateCommonsInformations();
                break;

            case 90:
                obj = new PartyMemberInformations();
                break;

            case 97:
                obj = new JobCrafterDirectorySettings();
                break;

            case 194:
                obj = new JobCrafterDirectoryEntryPlayerInfo();
                break;

            case 195:
                obj = new JobCrafterDirectoryEntryJobInfo();
                break;

            case 196:
                obj = new JobCrafterDirectoryListEntry();
                break;

            case 101:
                obj = new JobDescription();
                break;

            case 102:
                obj = new SkillActionDescription();
                break;

            case 103:
                obj = new SkillActionDescriptionTimed();
                break;

            case 99:
                obj = new SkillActionDescriptionCollect();
                break;

            case 100:
                obj = new SkillActionDescriptionCraft();
                break;

            case 104:
                obj = new SkillActionDescriptionCraftExtended();
                break;

            case 98:
                obj = new JobExperience();
                break;

            case 111:
                obj = new HouseInformations();
                break;

            case 112:
                obj = new HouseInformationsExtended();
                break;

            case 170:
                obj = new HouseInformationsForGuild();
                break;

            case 132:
                obj = new PaddockInformations();
                break;

            case 130:
                obj = new PaddockBuyableInformations();
                break;

            case 133:
                obj = new PaddockAbandonnedInformations();
                break;

            case 131:
                obj = new PaddockPrivateInformations();
                break;

            case 150:
                obj = new GameContextActorInformations();
                break;

            case 141:
                obj = new GameRolePlayActorInformations();
                break;

            case 157:
                obj = new HumanInformations();
                break;

            case 153:
                obj = new HumanWithGuildInformations();
                break;

            case 154:
                obj = new GameRolePlayNamedActorInformations();
                break;

            case 159:
                obj = new GameRolePlayHumanoidInformations();
                break;

            case 36:
                obj = new GameRolePlayCharacterInformations();
                break;

            case 3:
                obj = new GameRolePlayMutantInformations();
                break;

            case 129:
                obj = new GameRolePlayMerchantInformations();
                break;

            case 146:
                obj = new GameRolePlayMerchantWithGuildInformations();
                break;

            case 180:
                obj = new GameRolePlayMountInformations();
                break;

            case 147:
                obj = new TaxCollectorStaticInformations();
                break;

            case 148:
                obj = new GameRolePlayTaxCollectorInformations();
                break;

            case 167:
                obj = new TaxCollectorInformations();
                break;

            case 166:
                obj = new TaxCollectorInformationsInWaitForHelpState();
                break;

            case 186:
                obj = new ProtectedEntityWaitingForHelpInfo();
                break;

            case 169:
                obj = new TaxCollectorFightersInformation();
                break;

            case 165:
                obj = new AdditionalTaxCollectorInformations();
                break;

            case 144:
                obj = new MonsterInGroupInformations();
                break;

            case 140:
                obj = new GroupMonsterStaticInformations();
                break;

            case 160:
                obj = new GameRolePlayGroupMonsterInformations();
                break;

            case 155:
                obj = new NpcStaticInformations();
                break;

            case 156:
                obj = new GameRolePlayNpcInformations();
                break;

            case 161:
                obj = new GameRolePlayPrismInformations();
                break;

            case 143:
                obj = new GameFightFighterInformations();
                break;

            case 158:
                obj = new GameFightFighterNamedInformations();
                break;

            case 46:
                obj = new GameFightCharacterInformations();
                break;

            case 50:
                obj = new GameFightMutantInformations();
                break;

            case 151:
                obj = new GameFightAIInformations();
                break;

            case 29:
                obj = new GameFightMonsterInformations();
                break;

            case 203:
                obj = new GameFightMonsterWithAlignmentInformations();
                break;

            case 48:
                obj = new GameFightTaxCollectorInformations();
                break;

            case 174:
                obj = new MapCoordinates();
                break;

            case 176:
                obj = new MapCoordinatesExtended();
                break;

            case 175:
                obj = new AtlasPointsInformations();
                break;

            default:
                throw new Exception("Type with id " + typeId + " is unknown.");
            }
            return(obj);
        }
        public override void Deserialize(ICustomDataInput reader)
        {
            SubAreaId = reader.ReadVarShort();
            MapId     = reader.ReadDouble();
            var countHouses = reader.ReadShort();

            Houses = new List <HouseInformations>();
            for (short i = 0; i < countHouses; i++)
            {
                var housestypeId       = reader.ReadShort();
                HouseInformations type = new HouseInformations();
                type.Deserialize(reader);
                Houses.Add(type);
            }
            var countActors = reader.ReadShort();

            Actors = new List <GameRolePlayActorInformations>();
            for (short i = 0; i < countActors; i++)
            {
                var actorstypeId = reader.ReadShort();
                GameRolePlayActorInformations type = new GameRolePlayActorInformations();
                type.Deserialize(reader);
                Actors.Add(type);
            }
            var countInteractiveElements = reader.ReadShort();

            InteractiveElements = new List <InteractiveElement>();
            for (short i = 0; i < countInteractiveElements; i++)
            {
                var interactiveElementstypeId = reader.ReadShort();
                InteractiveElement type       = new InteractiveElement();
                type.Deserialize(reader);
                InteractiveElements.Add(type);
            }
            var countStatedElements = reader.ReadShort();

            StatedElements = new List <StatedElement>();
            for (short i = 0; i < countStatedElements; i++)
            {
                StatedElement type = new StatedElement();
                type.Deserialize(reader);
                StatedElements.Add(type);
            }
            var countObstacles = reader.ReadShort();

            Obstacles = new List <MapObstacle>();
            for (short i = 0; i < countObstacles; i++)
            {
                MapObstacle type = new MapObstacle();
                type.Deserialize(reader);
                Obstacles.Add(type);
            }
            var countFights = reader.ReadShort();

            Fights = new List <FightCommonInformations>();
            for (short i = 0; i < countFights; i++)
            {
                FightCommonInformations type = new FightCommonInformations();
                type.Deserialize(reader);
                Fights.Add(type);
            }
            HasAggressiveMonsters = reader.ReadBoolean();
            FightStartPositions   = new FightStartingPositions();
            FightStartPositions.Deserialize(reader);
        }
Ejemplo n.º 27
0
        public override void Deserialize(IDataReader reader)
        {
            m_subAreaId = reader.ReadVarUhShort();
            m_mapId     = reader.ReadInt();
            int housesCount = reader.ReadUShort();
            int housesIndex;

            m_houses = new System.Collections.Generic.List <HouseInformations>();
            for (housesIndex = 0; (housesIndex < housesCount); housesIndex = (housesIndex + 1))
            {
                HouseInformations objectToAdd = ProtocolTypeManager.GetInstance <HouseInformations>(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                m_houses.Add(objectToAdd);
            }

            int actorsCount = reader.ReadUShort();
            int actorsIndex;

            m_actors = new System.Collections.Generic.List <GameRolePlayActorInformations>();
            for (actorsIndex = 0; (actorsIndex < actorsCount); actorsIndex = (actorsIndex + 1))
            {
                GameRolePlayActorInformations objectToAdd = ProtocolTypeManager.GetInstance <GameRolePlayActorInformations>(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                m_actors.Add(objectToAdd);
            }
            int interactiveElementsCount = reader.ReadUShort();
            int interactiveElementsIndex;

            m_interactiveElements = new System.Collections.Generic.List <InteractiveElement>();
            for (interactiveElementsIndex = 0; (interactiveElementsIndex < interactiveElementsCount); interactiveElementsIndex = (interactiveElementsIndex + 1))
            {
                InteractiveElement objectToAdd = ProtocolTypeManager.GetInstance <InteractiveElement>(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                m_interactiveElements.Add(objectToAdd);
            }
            int statedElementsCount = reader.ReadUShort();
            int statedElementsIndex;

            m_statedElements = new System.Collections.Generic.List <StatedElement>();
            for (statedElementsIndex = 0; (statedElementsIndex < statedElementsCount); statedElementsIndex = (statedElementsIndex + 1))
            {
                StatedElement objectToAdd = new StatedElement();
                objectToAdd.Deserialize(reader);
                m_statedElements.Add(objectToAdd);
            }
            int obstaclesCount = reader.ReadUShort();
            int obstaclesIndex;

            m_obstacles = new System.Collections.Generic.List <MapObstacle>();
            for (obstaclesIndex = 0; (obstaclesIndex < obstaclesCount); obstaclesIndex = (obstaclesIndex + 1))
            {
                MapObstacle objectToAdd = new MapObstacle();
                objectToAdd.Deserialize(reader);
                m_obstacles.Add(objectToAdd);
            }
            int fightsCount = reader.ReadUShort();
            int fightsIndex;

            m_fights = new System.Collections.Generic.List <FightCommonInformations>();
            for (fightsIndex = 0; (fightsIndex < fightsCount); fightsIndex = (fightsIndex + 1))
            {
                FightCommonInformations objectToAdd = new FightCommonInformations();
                objectToAdd.Deserialize(reader);
                m_fights.Add(objectToAdd);
            }
            m_hasAggressiveMonsters = reader.ReadBoolean();
            m_fightStartPositions   = new FightStartingPositions();
            m_fightStartPositions.Deserialize(reader);
        }
        public override void Deserialize(IDataReader reader)
        {
            this.subAreaId = (uint)reader.ReadVarUhShort();
            if (this.subAreaId < 0U)
            {
                throw new Exception("Forbidden value (" + (object)this.subAreaId + ") on element of MapComplementaryInformationsDataMessage.subAreaId.");
            }
            this.mapId = reader.ReadDouble();
            if (this.mapId < 0.0 || this.mapId > 9.00719925474099E+15)
            {
                throw new Exception("Forbidden value (" + (object)this.mapId + ") on element of MapComplementaryInformationsDataMessage.mapId.");
            }
            uint num1 = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num1; ++index)
            {
                HouseInformations instance = ProtocolTypeManager.GetInstance <HouseInformations>((uint)reader.ReadUShort());
                instance.Deserialize(reader);
                this.houses.Add(instance);
            }
            uint num2 = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num2; ++index)
            {
                GameRolePlayActorInformations instance = ProtocolTypeManager.GetInstance <GameRolePlayActorInformations>((uint)reader.ReadUShort());
                instance.Deserialize(reader);
                this.actors.Add(instance);
            }
            uint num3 = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num3; ++index)
            {
                InteractiveElement instance = ProtocolTypeManager.GetInstance <InteractiveElement>((uint)reader.ReadUShort());
                instance.Deserialize(reader);
                this.interactiveElements.Add(instance);
            }
            uint num4 = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num4; ++index)
            {
                StatedElement statedElement = new StatedElement();
                statedElement.Deserialize(reader);
                this.statedElements.Add(statedElement);
            }
            uint num5 = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num5; ++index)
            {
                MapObstacle mapObstacle = new MapObstacle();
                mapObstacle.Deserialize(reader);
                this.obstacles.Add(mapObstacle);
            }
            uint num6 = (uint)reader.ReadUShort();

            for (int index = 0; (long)index < (long)num6; ++index)
            {
                FightCommonInformations commonInformations = new FightCommonInformations();
                commonInformations.Deserialize(reader);
                this.fights.Add(commonInformations);
            }
            this.hasAggressiveMonsters = reader.ReadBoolean();
            this.fightStartPositions   = new FightStartingPositions();
            this.fightStartPositions.Deserialize(reader);
        }
        public override void Deserialize(IDataReader reader)
        {
            SubAreaId = reader.ReadVarUhShort();
            MapId     = (uint)reader.ReadDouble();
            var HousesCount = reader.ReadShort();

            Houses = new List <HouseInformations>();
            for (var i = 0; i < HousesCount; i++)
            {
                HouseInformations objectToAdd = ProtocolTypeManager.GetInstance(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                Houses.Add(objectToAdd);
            }
            var ActorsCount = reader.ReadShort();

            Actors = new List <GameRolePlayActorInformations>();
            for (var i = 0; i < ActorsCount; i++)
            {
                GameRolePlayActorInformations objectToAdd = ProtocolTypeManager.GetInstance(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                Actors.Add(objectToAdd);
            }
            var InteractiveElementsCount = reader.ReadShort();

            InteractiveElements = new List <InteractiveElement>();
            for (var i = 0; i < InteractiveElementsCount; i++)
            {
                InteractiveElement objectToAdd = ProtocolTypeManager.GetInstance(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                InteractiveElements.Add(objectToAdd);
            }
            var StatedElementsCount = reader.ReadShort();

            StatedElements = new List <StatedElement>();
            for (var i = 0; i < StatedElementsCount; i++)
            {
                var objectToAdd = new StatedElement();
                objectToAdd.Deserialize(reader);
                StatedElements.Add(objectToAdd);
            }
            var ObstaclesCount = reader.ReadShort();

            Obstacles = new List <MapObstacle>();
            for (var i = 0; i < ObstaclesCount; i++)
            {
                var objectToAdd = new MapObstacle();
                objectToAdd.Deserialize(reader);
                Obstacles.Add(objectToAdd);
            }
            var FightsCount = reader.ReadShort();

            Fights = new List <FightCommonInformations>();
            for (var i = 0; i < FightsCount; i++)
            {
                var objectToAdd = new FightCommonInformations();
                objectToAdd.Deserialize(reader);
                Fights.Add(objectToAdd);
            }
            HasAggressiveMonsters = reader.ReadBoolean();
            FightStartPositions   = new FightStartingPositions();
            FightStartPositions.Deserialize(reader);
        }
Ejemplo n.º 30
0
        public override void Deserialize(IDataReader reader)
        {
            SubAreaId = reader.ReadVarUhShort();
            MapId     = reader.ReadDouble();
            var housesCount = reader.ReadUShort();

            Houses = new List <HouseInformations>();
            for (var housesIndex = 0; housesIndex < housesCount; housesIndex++)
            {
                var objectToAdd = ProtocolTypeManager.GetInstance <HouseInformations>(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                Houses.Add(objectToAdd);
            }
            var actorsCount = reader.ReadUShort();

            Actors = new List <GameRolePlayActorInformations>();
            for (var actorsIndex = 0; actorsIndex < actorsCount; actorsIndex++)
            {
                var objectToAdd = ProtocolTypeManager.GetInstance <GameRolePlayActorInformations>(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                Actors.Add(objectToAdd);
            }
            var interactiveElementsCount = reader.ReadUShort();

            InteractiveElements = new List <InteractiveElement>();
            for (var interactiveElementsIndex = 0; interactiveElementsIndex < interactiveElementsCount; interactiveElementsIndex++)
            {
                var objectToAdd = ProtocolTypeManager.GetInstance <InteractiveElement>(reader.ReadUShort());
                objectToAdd.Deserialize(reader);
                InteractiveElements.Add(objectToAdd);
            }
            var statedElementsCount = reader.ReadUShort();

            StatedElements = new List <StatedElement>();
            for (var statedElementsIndex = 0; statedElementsIndex < statedElementsCount; statedElementsIndex++)
            {
                var objectToAdd = new StatedElement();
                objectToAdd.Deserialize(reader);
                StatedElements.Add(objectToAdd);
            }
            var obstaclesCount = reader.ReadUShort();

            Obstacles = new List <MapObstacle>();
            for (var obstaclesIndex = 0; obstaclesIndex < obstaclesCount; obstaclesIndex++)
            {
                var objectToAdd = new MapObstacle();
                objectToAdd.Deserialize(reader);
                Obstacles.Add(objectToAdd);
            }
            var fightsCount = reader.ReadUShort();

            Fights = new List <FightCommonInformations>();
            for (var fightsIndex = 0; fightsIndex < fightsCount; fightsIndex++)
            {
                var objectToAdd = new FightCommonInformations();
                objectToAdd.Deserialize(reader);
                Fights.Add(objectToAdd);
            }
            HasAggressiveMonsters = reader.ReadBoolean();
            FightStartPositions   = new FightStartingPositions();
            FightStartPositions.Deserialize(reader);
        }