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]); } } }