public void ChangeItem(int stationId, int slotId, ItemProto newItem) { if (stationId < 0 || stationId >= inspector.blueprint.buildings.Length) { return; } BlueprintBuilding building = inspector.blueprint.buildings[stationId]; int protoId = building.itemId; ItemProto proto = LDB.items.Select(protoId); if (!proto.prefabDesc.isStation || proto.prefabDesc.isCollectStation) { return; } int[] parameters = building.parameters; if (parameters == null || parameters.Length < 2048) { return; } if (parameters[slotId * 6] > 0) { parameters[slotId * 6] = newItem.ID; } if (inspector.usage == UIBlueprintInspector.EUsage.Paste) { inspector.pasteBuildTool.ResetStates(); } inspector.Refresh(true, true, true); }
public PlaceBuildingTurn(int x, int y, BlueprintBuilding blueprint, string gameId) : base(gameId) { this.x = x; this.y = y; this.blueprint = blueprint; }
public static void UpdateBlueprintData(BlueprintBuilding __instance) { if (__instance.itemId != GigaStationsPlugin.ils.ID && __instance.itemId != GigaStationsPlugin.pls.ID && __instance.itemId != GigaStationsPlugin.collector.ID) // not my stations { return; } ItemProto proto = LDB.items.Select(__instance.itemId); __instance.modelIndex = (short)proto.prefabDesc.modelIndex; }