コード例 #1
0
        /// <summary>
        /// Перенос предмета между указанными хранилищами.
        /// </summary>
        /// <param name="prop"> Предмет, который будет перенесён. </param>
        /// <param name="sourceStoreType"> Хранилище-источник. </param>
        /// <param name="distStoreType"> Хранилище-назначение. </param>
        public void TransferProp(IProp prop,
                                 PropTransferMachineStores sourceStoreType,
                                 PropTransferMachineStores distStoreType)
        {
            var sourceStore = GetStore(sourceStoreType);

            sourceStore.Remove(prop);

            var distStore = GetStore(distStoreType);

            distStore.Add(prop);
        }
コード例 #2
0
        private IPropStore GetStore(PropTransferMachineStores transferStoreType)
        {
            switch (transferStoreType)
            {
            case PropTransferMachineStores.Inventory:
                return(Inventory);

            case PropTransferMachineStores.Container:
                return(Container);

            default:
                throw new ArgumentException($"Неизвестный тип контейнера для трансфера {transferStoreType}");
            }
        }