Example #1
0
        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;
 }
Example #3
0
        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;
        }