Exemple #1
0
        public static void WriteEntityEquipableVisual(this NetworkWriter writer, EntityEquipableVisual equipableVisual)
        {
            writer.WriteInt32(PinouApp.Resources.Data.Databases.GetIndex(DatabaseType.Icon, equipableVisual.Icon));
            int visualPartsLength = equipableVisual.Parts == null ? 0 : equipableVisual.Parts.Length;

            writer.WriteInt32(visualPartsLength);
            for (int i = 0; i < visualPartsLength; i++)
            {
                writer.WriteVisualPart(equipableVisual.Parts[i]);
            }
        }
Exemple #2
0
        public static EntityEquipable ReadEntityEquipable(this NetworkReader reader)
        {
            string name               = reader.ReadString();
            int    level              = reader.ReadInt32();
            EntityEquipableType type  = (EntityEquipableType)reader.ReadInt32();
            int statsInfluencesLength = reader.ReadInt32();

            StatsInfluenceData.StatsInfluence[] statsInfluences = new StatsInfluenceData.StatsInfluence[statsInfluencesLength];
            for (int i = 0; i < statsInfluencesLength; i++)
            {
                statsInfluences[i] = reader.ReadStatsInfluence();
            }

            bool hasEquippedAbility = reader.ReadBoolean();
            EntityEquipableAbility equipableAbility = null;

            if (hasEquippedAbility)
            {
                equipableAbility = reader.ReadEntityEquipableAbility();
            }

            bool hasVisual = reader.ReadBoolean();
            EntityEquipableVisual visual = null;

            if (hasVisual)
            {
                visual = reader.ReadEntityEquipableVisual();
            }

            return(new EntityEquipable(
                       name,
                       level,
                       type,
                       statsInfluences,
                       equipableAbility,
                       visual));
        }