Exemple #1
0
 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);
        }
Exemple #4
0
        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);
                }
            }
        }