Example #1
0
        private void Unserialize(System.IO.BinaryReader reader)
        {
            int nrItems = Wrapper.Format < 0x54 ? count : reader.ReadInt32();

            if (type == TtabItemMotiveTableType.Human)
            {
                for (int i = 0; i < nrItems; i++)
                {
                    items[i] = new TtabItemSingleMotiveItem(this, reader);
                }
                for (int i = nrItems; i < items.Count; i++)
                {
                    items[i] = new TtabItemSingleMotiveItem(this);
                }
            }
            else
            {
                for (int i = 0; i < nrItems; i++)
                {
                    items[i] = new TtabItemAnimalMotiveItem(this, reader);
                }
                for (int i = nrItems; i < items.Count; i++)
                {
                    items[i] = new TtabItemAnimalMotiveItem(this);
                }
            }
        }
Example #2
0
        public override TtabItemMotiveItem Clone(TtabItemMotiveGroup parent)
        {
            TtabItemAnimalMotiveItem clone = new TtabItemAnimalMotiveItem(parent);

            this.CopyTo(clone, false);
            return(clone);
        }
Example #3
0
            /// <summary>
            /// Creates a deep copy of the TtabItemMotiveItemArrayList
            /// </summary>
            public TtabItemSingleMotiveItemArrayList Clone(TtabItemAnimalMotiveItem parent)
            {
                TtabItemSingleMotiveItemArrayList clone = new TtabItemSingleMotiveItemArrayList();

                foreach (TtabItemSingleMotiveItem item in this)
                {
                    clone.Add(item.Clone(parent.parent));
                }
                return(clone);
            }
Example #4
0
        public TtabItemMotiveGroup(TtabItemMotiveTable parent, int count, TtabItemMotiveTableType type)
        {
            this.parent = parent;
            this.count  = count;
            this.type   = type;

            int nrItems = count != -1 ? count : 16;

            items = new TtabItemMotiveItemArrayList(new TtabItemMotiveItem[nrItems < 16 ? 16 : nrItems]);
            if (type == TtabItemMotiveTableType.Human)
            {
                for (int i = 0; i < nrItems; i++)
                {
                    items[i] = new TtabItemSingleMotiveItem(this);
                }
            }
            else
            {
                for (int i = 0; i < nrItems; i++)
                {
                    items[i] = new TtabItemAnimalMotiveItem(this);
                }
            }
        }