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]); } }
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)); }