protected Machine(ProducerPrototype prodProto) : base(prodProto.name, prodProto.sprite, prodProto.animatorController, BuildableType.Producer, prodProto.stats) { this.systemControlled = ShipSystemType.None; this.repairDifficulty = prodProto.repairDifficulty; this.tileHeight = prodProto.tileHeight; this.tileWidth = prodProto.tileWidth; this.machineCondition = prodProto.machineCondition; }
protected Producer(ProducerPrototype b) : base(b) { this.productionBlueprints = b.productionBlueprints; this.showsGrowth = b.showsGrowth; this.productionStage = b.productionStage; if (b.curProductionName.Length > 0) { foreach (ProductionBlueprint blueprint in this.productionBlueprints) { if (blueprint.itemProduced.itemName == b.curProductionName) { this.current_Blueprint = blueprint; break; } } } }
void AddTile(STile savedTile) { tileGrid[savedTile.grid_x, savedTile.grid_y] = new Tile_Data(savedTile.grid_x, savedTile.grid_y, new Vector3Int(savedTile.grid_x, savedTile.grid_y, 0), savedTile.tileType); if (savedTile.hasMachine == true) { MachinePrototype machineProto = Buildable_Manager.instance.GetMachinePrototype(savedTile.machineName); machineProto.machineCondition = savedTile.machineCondition; // use this proto to spawn the machine } else if (savedTile.hasProducer == true) { ProducerPrototype producerProto = Buildable_Manager.instance.GetProducerPrototype(savedTile.producerName); producerProto.productionStage = savedTile.productionStage; producerProto.curProductionName = savedTile.itemProduced; } }
public ProducerPrototype GetProducerPrototype(string itemName) { ProducerPrototype empty = new ProducerPrototype(); empty.name = "Empty"; if (producer_prototypes.Length < 0) { return(empty); } foreach (ProducerPrototype data in producer_prototypes) { if (data.name == itemName) { return(data); } } return(empty); }
public void LoadSavedTiles() { buildable_Manager = Buildable_Manager.instance; Item_Manager item_Manager = Item_Manager.instance; if (savedAreaTiles.savedTiles == null) { return; } if (savedAreaTiles.savedTiles.Length <= 0) { return; } SetCurrentArea((AreaID)savedAreaTiles.areaID); SetupGrid(); SetGridFromTileMap(); foreach (STile sTile in savedAreaTiles.savedTiles) { if (sTile.hasMachine == true) { MachinePrototype proto = buildable_Manager.GetMachinePrototype(sTile.machineName); proto.machineCondition = sTile.machineCondition; Item machineItem = item_Manager.CreateInstance(item_Manager.GetPrototype(proto.name)); ShipManager.instance.PlaceMachine(machineItem, proto, new Vector2(sTile.world_x, sTile.world_y)); } else if (sTile.hasProducer == true) { ProducerPrototype proto = buildable_Manager.GetProducerPrototype(sTile.producerName); proto.machineCondition = sTile.machineCondition; proto.curProductionName = sTile.itemProduced; proto.productionStage = sTile.productionStage; Item prodItem = item_Manager.CreateInstance(item_Manager.GetPrototype(proto.name)); Producer producer = buildable_Manager.CreateProducerInstance(proto); GameObject prodGObj = buildable_Manager.SpawnProducer(producer, new Vector2(sTile.world_x, sTile.world_y)); if (prodGObj == null) { return; } prodGObj.GetComponent <Producer_Controller>().Init(prodItem, producer, grid_data[sTile.grid_x, sTile.grid_y]); } } }
public static Producer CreateInstance(ProducerPrototype prototype) { return(new Producer(prototype)); }
public Producer CreateProducerInstance(ProducerPrototype prototype) { return(Producer.CreateInstance(prototype)); }