コード例 #1
0
        public static void SaveToBin(Player item, BinaryWriter writer)
        {
            PackedInt.SaveToBin(item.GetSizeOfData(), writer);
            writer.Write(item.HasUUID);
            if (item.HasUUID)
            {
                for (int i = 0; i < UUID_LENGTH; i++)
                {
                    if (i >= 0 && i < item.UUID.Length)
                    {
                        writer.Write(item.UUID[i]);
                    }
                    else
                    {
                        writer.Write((byte)30);
                    }
                }
            }

            Humanoid.SaveToBin(item.HumanoidEntity, writer);
            EntityStatus.SaveToBin(item.DefaultStatus, writer);
            Status.SaveToBin(item.CurrentStatus, writer);
            StringIO.SaveToBin(item.Description, writer);
            writer.Write(item.PlayingTime);
            PlayerInventory.SaveToBin(item.Inventory, writer);
            BlueprintData.SaveToBin(item.Blueprints, writer);
            TechController.SaveToBin(item.Tech, writer);
            Armor.SaveToBin(item.EquippedArmor, writer);
            Item.SaveToBin(item.LeftHandItem, writer);
            Item.SaveToBin(item.RightHandItem, writer);
        }
コード例 #2
0
        public static void SaveToBin(Humanoid item, BinaryWriter writer)
        {
            StringIO.SaveToBin(item.Name, writer);
            StringIO.SaveToBin(item.Species, writer);
            writer.Write(item.Gender);
            StringIO.SaveToBin(item.HairGroup, writer);
            StringIO.SaveToBin(item.HairType, writer);
            StringIO.SaveToBin(item.HairDirectives, writer);
            StringIO.SaveToBin(item.BodyDirectives, writer);
            StringIO.SaveToBin(item.FacialHairGroup, writer);
            StringIO.SaveToBin(item.FacialHairType, writer);
            StringIO.SaveToBin(item.FacialHairDirectives, writer);
            StringIO.SaveToBin(item.FacialMaskGroup, writer);
            StringIO.SaveToBin(item.FacialMaskType, writer);
            StringIO.SaveToBin(item.FacialMaskDirectives, writer);
            StringIO.SaveToBin(item.Idle, writer);
            StringIO.SaveToBin(item.ArmIdle, writer);
            writer.Write(item.HeadOffsetX);
            writer.Write(item.HeadOffsetY);
            writer.Write(item.ArmOffsetX);
            writer.Write(item.ArmOffsetY);

            for (int i = 0; i < 4; i++)
            {
                writer.Write(item.Color[i]);
            }
        }
コード例 #3
0
        public static void SaveToBin(VariantDict item, BinaryWriter writer)
        {
            PackedInt.SaveToBin(new PackedInt()
            {
                Value = (ulong)item.Dict.Count
            }, writer);

            foreach (KeyValuePair <string, Variant> kvp in item.Dict)
            {
                StringIO.SaveToBin(kvp.Key, writer);
                Variant.SaveToBin(kvp.Value, writer);
            }
        }
コード例 #4
0
        public static void SaveToBin(TechController item, BinaryWriter writer)
        {
            PackedInt.SaveToBin(item.GetSizeOfData(), writer);
            PackedInt.SaveToBin(new PackedInt()
            {
                Value = (ulong)item.Tech.Count
            }, writer);

            for (int i = 0; i < item.Tech.Count; i++)
            {
                StringIO.SaveToBin(item.Tech[i], writer);
            }

            for (int i = 0; i < item.Tech.Count; i++)
            {
                writer.Write(item.UNK_ARR_1[i]);
            }
        }
コード例 #5
0
 public static void SaveToBin(EntityStatus item, BinaryWriter writer)
 {
     writer.Write(item.Admin);
     writer.Write(item.MinBodyTemperature);
     writer.Write(item.MaxBodyTemperature);
     writer.Write(item.IdealTemperature);
     writer.Write(item.MaxWarmth);
     writer.Write(item.UNK_VAL_01);
     writer.Write(item.WarmthRate);
     writer.Write(item.ConfortRegen);
     writer.Write(item.MaxHealth);
     writer.Write(item.MaxEnergy);
     writer.Write(item.EnergyRate);
     writer.Write(item.MaxFood);
     writer.Write(item.MaxBreath);
     writer.Write(item.BreathRate);
     writer.Write(item.DrownRate);
     writer.Write(item.WindChill);
     StringIO.SaveToBin(item.BodyMaterial, writer);
     StringIO.SaveToBin(item.DamageConfig, writer);
 }
コード例 #6
0
        public static void SaveToBin(Status item, BinaryWriter writer)
        {
            writer.Write(item.CurrentHealth);
            writer.Write(item.MaxHealth);
            writer.Write(item.CurrentEnergy);
            writer.Write(item.MaxEnergy);
            writer.Write(item.CurrentWarmth);
            writer.Write(item.MaxWarmth);
            writer.Write(item.CurrentFood);
            writer.Write(item.MaxFood);
            writer.Write(item.CurrentBreath);
            writer.Write(item.MaxBreath);
            writer.Write(item.Invulnerable);

            for (int i = 0; i < 3; i++)
            {
                writer.Write(item.GlowColor[i]);
            }

            PackedInt.SaveToBin(new PackedInt()
            {
                Value = (ulong)item.ActiveEffects.Count
            }, writer);

            for (int i = 0; i < item.ActiveEffects.Count; i++)
            {
                StringIO.SaveToBin(item.ActiveEffects[i], writer);
            }

            PackedInt.SaveToBin(new PackedInt()
            {
                Value = (ulong)item.EffectSources.Count
            }, writer);

            for (int i = 0; i < item.EffectSources.Count; i++)
            {
                StringIO.SaveToBin(item.EffectSources[i], writer);
            }
        }
コード例 #7
0
 public static void SaveToBin(Item item, BinaryWriter writer)
 {
     StringIO.SaveToBin(item.Name, writer);
     PackedInt.SaveToBin(item.Stack, writer);
     Variant.SaveToBin(item.ItemParams, writer);
 }