public void ProcessPacket(PasteEntitySettingUpdate packet, NebulaConnection conn) { if (GameMain.data.factories[packet.FactoryIndex] != null) { EntitySettingDesc backup = EntitySettingDesc.clipboard; EntitySettingDesc.clipboard = packet.GetEntitySettings(); FactoryManager.EventFromServer = true; GameMain.data.factories[packet.FactoryIndex].PasteEntitySetting(packet.EntityId); FactoryManager.EventFromServer = false; EntitySettingDesc.clipboard = backup; } }
public PasteEntitySettingUpdate(int entityId, EntitySettingDesc clipboard, int factoryIndex) { EntityId = entityId; RecipeId = clipboard.recipeId; ResearchMode = clipboard.researchMode; FilterId = clipboard.filterId; OrbitId = clipboard.orbitId; Mode = clipboard.mode; RecipeType = clipboard.recipeType; Type = clipboard.type; FactoryIndex = factoryIndex; }
public EntitySettingDesc GetEntitySettings() { EntitySettingDesc result = new EntitySettingDesc(); result.recipeType = RecipeType; result.recipeId = RecipeId; result.filterId = FilterId; result.researchMode = ResearchMode; result.orbitId = OrbitId; result.mode = Mode; result.recipeType = RecipeType; result.type = Type; return(result); }
public static void PasteEntitySettingPatch(PlanetFactory __instance, int entityId) { if (entityId <= 0) { return; } EntitySettingDesc clipboard = EntitySettingDesc.clipboard; int assemblerId = __instance.entityPool[entityId].assemblerId; if (assemblerId != 0 && clipboard.type == EntitySettingType.Assembler && __instance.factorySystem.assemblerPool[assemblerId].recipeId == clipboard.recipeId) { ItemProto itemProto = LDB.items.Select((int)__instance.entityPool[entityId].protoId); if (itemProto != null && itemProto.prefabDesc != null) { SyncAssemblerFunctions(__instance.factorySystem, __instance.gameData.mainPlayer.package, assemblerId); } } }