Ejemplo n.º 1
0
 public void OpenShop(ShopCatalog catalog)
 {
     this.catalog         = catalog;
     shopNameDisplay.text = catalog.shopName;
     anim.Play("Open");
     UpdateView();
 }
Ejemplo n.º 2
0
        public static void Main(string[] args)
        {
            //примеры работы с моделью.

            ConnectionInterface sata       = new ConnectionInterface("Sata-1");
            ConnectionInterface pciExpress = new ConnectionInterface("PCI-Express");
            ConnectionInterface powerPin   = new ConnectionInterface("PowerPin");
            ConnectionInterface socket     = new ConnectionInterface("AM4");

            MotherboardModel motherboardModel = new MotherboardModel("B450", 2, new List <ConnectionInterface>()
            {
                sata, pciExpress, powerPin, socket
            }, Socket.AM4, FormFactor.MiniATx);
            HardDriveModel hddModel = new HardDriveModel("mega hdd", 4, new List <ConnectionInterface>()
            {
                sata, powerPin
            }, 7200);
            PowerSupplyModel powerSupplyModel = new PowerSupplyModel("PS-8000", 55, new List <ConnectionInterface>()
            {
                powerPin, powerPin, powerPin
            }, 600);
            ProcessorModel processorModel = new ProcessorModel("3600x", 6, new List <ConnectionInterface>()
            {
                socket
            }, 6);

            MotherBoard mother        = new MotherBoard(motherboardModel);
            MotherBoard anotherMother = new MotherBoard(motherboardModel);
            Processor   processor     = new Processor(processorModel);
            PowerSupply powerSupply   = new PowerSupply(powerSupplyModel);
            HardDrive   hardDrive     = new HardDrive(hddModel);

            mother.Establisher.TryToConnect(processor, socket);
            mother.Establisher.TryToConnect(hardDrive, sata);
            mother.Establisher.TryToConnect(powerSupply, powerPin);
            hardDrive.Establisher.TryToConnect(powerSupply, powerPin);

            Hardware       hardware = new Hardware(mother);
            ComputerSystem system   = new ComputerSystem();

            hardDrive.InstallSystem(system);

            //Включение и перезагрузка. Включать можно только через Hardware. Выключать и рестарат через Hardware и ComputerSystem.(like IRL)
            Computer       computer     = new Computer(hardware);
            ComputerSystem loadedSystem = computer.Hardware.TryToTurnOn();

            loadedSystem.Restart();

            //Продажа компьютеров
            ShopCatalog catalog = new ShopCatalog();

            catalog.AddLot(new Lot(computer.Hardware, 100, 2));
            Lot      wantToBuy      = catalog.FindSuitable(x => x.Cost < 150 && x.Item is Hardware).First();
            Hardware boughtHardware = (Hardware)catalog.Buy(wantToBuy);
            Computer boughtComputer = new Computer(boughtHardware);

            //Замена материнской платы
            boughtComputer.Hardware.TryToReplaceComponent(mother, anotherMother);

            //Установка приложения в компьютерном классе
            Application     trojan             = new Application(new byte[228]);
            List <Computer> installedComputers = new List <Computer>()
            {
                boughtComputer
            };
            ComputerClass computerClass = new ComputerClass(installedComputers);

            computerClass.InstallApplicationOnEach(trojan);
            computerClass.Command(x => x.System?.Execute(trojan.BinaryCode));

            // сбор металлолома
            MetalCollector collector = new MetalCollector();

            collector.Collect(boughtComputer);
        }