コード例 #1
0
        public void UpdateCreature(UpdateObjectPacket updatePacket)
        {
            if (guid == "" && updatePacket.creatureGuid != "")
            {
                guid = updatePacket.creatureGuid;
            }

            if (entry == 0 && updatePacket.creatureEntry != 0)
            {
                entry = updatePacket.creatureEntry;
            }

            if (name == "Unknown" && updatePacket.creatureName != "Unknown")
            {
                name = updatePacket.creatureName;
            }

            if (deathTime == TimeSpan.Zero && updatePacket.creatureCurrentHealth == 0)
            {
                deathTime = updatePacket.packetSendTime;
            }

            if (maxhealth == 0 && updatePacket.creatureMaxHealth != 0)
            {
                maxhealth = updatePacket.creatureMaxHealth;
            }

            if (lastUpdatePacketTime > updatePacket.packetSendTime && updatePacket.spawnPosition.IsValid())
            {
                spawnPosition        = updatePacket.spawnPosition;
                lastUpdatePacketTime = updatePacket.packetSendTime;
            }

            if (mapId == null && updatePacket.mapId != null)
            {
                mapId = updatePacket.mapId;
            }

            if (updatePacket.HasWaypoints())
            {
                foreach (Waypoint wp in updatePacket.waypoints)
                {
                    waypoints.Add(wp);
                }
            }

            if (!IsFlying && updatePacket.hasDisableGravity)
            {
                IsFlying = updatePacket.hasDisableGravity;
            }
        }
コード例 #2
0
        public void UpdateCreature(UpdateObjectPacket updatePacket)
        {
            if (guid == "" && updatePacket.guid != "")
            {
                guid = updatePacket.guid;
            }

            if (entry == 0 && updatePacket.entry != 0)
            {
                entry = updatePacket.entry;
            }

            if (deathTime == TimeSpan.Zero && updatePacket.currentHealth == 0)
            {
                deathTime = updatePacket.packetSendTime;
            }

            if (maxhealth == 0 && updatePacket.maxHealth != 0)
            {
                maxhealth = updatePacket.maxHealth;
            }

            if (lastUpdatePacketTime > updatePacket.packetSendTime && updatePacket.spawnPosition.IsValid())
            {
                spawnPosition        = updatePacket.spawnPosition;
                lastUpdatePacketTime = updatePacket.packetSendTime;
            }

            if (mapId == null && updatePacket.mapId != null)
            {
                mapId = updatePacket.mapId;
            }

            if (updatePacket.HasWaypoints())
            {
                foreach (Waypoint wp in updatePacket.waypoints)
                {
                    waypoints.Add(wp);
                }
            }

            if (!hasDisableGravity && updatePacket.hasDisableGravity)
            {
                hasDisableGravity = updatePacket.hasDisableGravity;
            }

            if (transportGuid == "" && updatePacket.transportGuid != "")
            {
                transportGuid = updatePacket.transportGuid;
            }
        }