예제 #1
0
        public void Unpack(FieldList source)
        {
            if (source == null)
            {
                return;
            }

            PairedList <ByteField, FieldList> searchResults =
                source.GetPairedItems <ByteField, FieldList>(DefAgentFieldID.ComponentState, DefAgentFieldID.DataPerComponentState);

            foreach (Pair <ByteField, FieldList> result in searchResults)
            {
                BlockState state = (BlockState)result.First.Data;

                if (!Data.ContainsKey(state))
                {
                    SlotStyleData newData = new SlotStyleData();
                    newData.Unpack(result.Second);

                    Data[state] = newData;
                }
            }

            // done
            IsUnpacked = true;
        }