Example #1
0
        public void Load(ZPackage pkg)
        {
            int num1 = pkg.ReadInt();
            int num2 = pkg.ReadInt();

            this.m_inventory.Clear();
            for (int index = 0; index < num2; ++index)
            {
                string   name       = pkg.ReadString();
                int      stack      = pkg.ReadInt();
                float    durability = pkg.ReadSingle();
                Vector2i pos        = pkg.ReadVector2i();
                bool     equiped    = pkg.ReadBool();
                int      quality    = 1;
                if (num1 >= 101)
                {
                    quality = pkg.ReadInt();
                }
                int variant = 0;
                if (num1 >= 102)
                {
                    variant = pkg.ReadInt();
                }
                long   crafterID   = 0;
                string crafterName = "";
                if (num1 >= 103)
                {
                    crafterID   = pkg.ReadLong();
                    crafterName = pkg.ReadString();
                }
                if (name != "")
                {
                    m_inventory.Add(new ItemData()
                    {
                        m_name        = name,
                        m_stack       = stack,
                        m_durability  = durability,
                        m_gridPos     = pos,
                        m_equiped     = equiped,
                        m_quality     = quality,
                        m_variant     = variant,
                        m_crafterID   = crafterID,
                        m_crafterName = crafterName
                    });
                }
            }

            for (int x = 0; x < m_width; x++)
            {
                for (int y = 0; y < m_height; y++)
                {
                    if (!m_inventory.Any(i => i.m_gridPos == new Vector2i(x, y)))
                    {
                        m_inventory.Add(new ItemData()
                        {
                            m_gridPos = new Vector2i(x, y)
                        });
                    }
                }
            }
        }