diff --git a/Source/FluidWarpMod/FluidWarp.csproj b/Source/FluidWarpMod/FluidWarp.csproj index cc67a1e..5bb9b95 100644 --- a/Source/FluidWarpMod/FluidWarp.csproj +++ b/Source/FluidWarpMod/FluidWarp.csproj @@ -9,7 +9,7 @@ Properties FluidWarpMod FluidWarp - v3.5 + v4.0 512 diff --git a/Source/FluidWarpMod/Logger.cs b/Source/FluidWarpMod/Logger.cs index 2db99ea..ecfcf8d 100644 --- a/Source/FluidWarpMod/Logger.cs +++ b/Source/FluidWarpMod/Logger.cs @@ -36,9 +36,9 @@ public void LogFormat(LogType logType, UnityEngine.Object context, string format } } #if DEBUG - static UnityEngine.Logger u_logger = new UnityEngine.Logger(new FileLogHandler("Mods" + Path.DirectorySeparatorChar + "_Logs" + Path.DirectorySeparatorChar + "FluidWarpMod.txt")); + static UnityEngine.Logger u_logger = new UnityEngine.Logger(new FileLogHandler("FluidWarpMod.txt")); #endif - + public static void Log(string message) { #if DEBUG diff --git a/Source/FluidWarpMod/WarpProviderBase.cs b/Source/FluidWarpMod/WarpProviderBase.cs index 8fb777a..1e10da0 100644 --- a/Source/FluidWarpMod/WarpProviderBase.cs +++ b/Source/FluidWarpMod/WarpProviderBase.cs @@ -16,11 +16,11 @@ public override BuildingDef CreateBuildingDef() string anim = "valveliquid_kanim"; int hitpoints = 30; float construction_time = 5f; - float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER7; - string[] rAW_METALS = MATERIALS.REFINED_METALS; + float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER1; + string[] rAW_METALS = MATERIALS.ALL_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; - EffectorValues tIER6 = NOISE_POLLUTION.NOISY.TIER6; + EffectorValues tIER6 = NOISE_POLLUTION.NOISY.TIER0; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, tIER, rAW_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER5, tIER6, 0.2f); buildingDef.InputConduitType = _conduitType; buildingDef.OutputConduitType = ConduitType.None; @@ -69,11 +69,11 @@ public override BuildingDef CreateBuildingDef() string anim = "valvegas_kanim"; int hitpoints = 30; float construction_time = 5f; - float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER7; - string[] rAW_METALS = MATERIALS.REFINED_METALS; + float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER1; + string[] rAW_METALS = MATERIALS.ALL_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; - EffectorValues tIER6 = NOISE_POLLUTION.NOISY.TIER6; + EffectorValues tIER6 = NOISE_POLLUTION.NOISY.TIER0; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, tIER, rAW_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER5, tIER6, 0.2f); buildingDef.InputConduitType = _conduitType; buildingDef.OutputConduitType = ConduitType.None; diff --git a/Source/FluidWarpMod/WarpRequestorBase.cs b/Source/FluidWarpMod/WarpRequestorBase.cs index 30e1cf6..303abaa 100644 --- a/Source/FluidWarpMod/WarpRequestorBase.cs +++ b/Source/FluidWarpMod/WarpRequestorBase.cs @@ -17,11 +17,11 @@ public override BuildingDef CreateBuildingDef() string anim = "valveliquid_kanim"; int hitpoints = 30; float construction_time = 5f; - float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER7; - string[] rAW_METALS = MATERIALS.REFINED_METALS; + float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER1; + string[] rAW_METALS = MATERIALS.ALL_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; - EffectorValues tIER6 = NOISE_POLLUTION.NOISY.TIER6; + EffectorValues tIER6 = NOISE_POLLUTION.NOISY.TIER0; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, tIER, rAW_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER5, tIER6, 0.2f); buildingDef.InputConduitType = ConduitType.None; buildingDef.OutputConduitType = _conduitType; @@ -71,11 +71,11 @@ public override BuildingDef CreateBuildingDef() string anim = "valvegas_kanim"; int hitpoints = 30; float construction_time = 5f; - float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER7; - string[] rAW_METALS = MATERIALS.REFINED_METALS; + float[] tIER = BUILDINGS.CONSTRUCTION_MASS_KG.TIER1; + string[] rAW_METALS = MATERIALS.ALL_METALS; float melting_point = 1600f; BuildLocationRule build_location_rule = BuildLocationRule.Anywhere; - EffectorValues tIER6 = NOISE_POLLUTION.NOISY.TIER6; + EffectorValues tIER6 = NOISE_POLLUTION.NOISY.TIER0; BuildingDef buildingDef = BuildingTemplates.CreateBuildingDef(ID, width, height, anim, hitpoints, construction_time, tIER, rAW_METALS, melting_point, build_location_rule, BUILDINGS.DECOR.PENALTY.TIER5, tIER6, 0.2f); buildingDef.InputConduitType = ConduitType.None; buildingDef.OutputConduitType = _conduitType; diff --git a/Source/FluidWarpMod/WarpSpaceManager.cs b/Source/FluidWarpMod/WarpSpaceManager.cs index 81cf79a..825106c 100644 --- a/Source/FluidWarpMod/WarpSpaceManager.cs +++ b/Source/FluidWarpMod/WarpSpaceManager.cs @@ -26,13 +26,13 @@ public ValveBaseExt(ValveBase vb) public bool isValidRequestor() { - Logger.Log(String.Format("WarpSpaceManager.RequestFluid2 Is valid requestor {0}", FlowManager.HasConduit(ValveBase.GetOutputCell()))); + //Logger.Log(String.Format("WarpSpaceManager.RequestFluid2 Is valid requestor {0}", FlowManager.HasConduit(ValveBase.GetOutputCell()))); return ValveBase != null && FlowManager.HasConduit(ValveBase.GetOutputCell()); } public bool isValidProvider() { - Logger.Log(String.Format("WarpSpaceManager.RequestFluid2 Is valid provider {0}", FlowManager.HasConduit(ValveBase.GetInputCell()))); + //Logger.Log(String.Format("WarpSpaceManager.RequestFluid2 Is valid provider {0}", FlowManager.HasConduit(ValveBase.GetInputCell()))); return ValveBase != null && FlowManager.HasConduit(ValveBase.GetInputCell()); } @@ -65,11 +65,9 @@ public static void RegisterConduitUpdater() { if (!isUpdaterRegistered) { - Logger.Log("WarpSpaceManager.RegisterConduitUpdater start"); Conduit.GetFlowManager(ConduitType.Gas).AddConduitUpdater(new Action(WarpSpaceManager.GasConduitUpdate), ConduitFlowPriority.Default); Conduit.GetFlowManager(ConduitType.Liquid).AddConduitUpdater(new Action(WarpSpaceManager.LiquidConduitUpdate), ConduitFlowPriority.Default); isUpdaterRegistered = true; - Logger.Log("WarpSpaceManager.RegisterConduitUpdater end"); } } @@ -77,11 +75,9 @@ public static void UnregisterConduitUpdate() { if (isUpdaterRegistered) { - Logger.Log("WarpSpaceManager.UnregisterConduitUpdate start"); Conduit.GetFlowManager(ConduitType.Gas).RemoveConduitUpdater(new Action(WarpSpaceManager.GasConduitUpdate)); Conduit.GetFlowManager(ConduitType.Liquid).RemoveConduitUpdater(new Action(WarpSpaceManager.LiquidConduitUpdate)); isUpdaterRegistered = false; - Logger.Log("WarpSpaceManager.UnregisterConduitUpdate end"); } } @@ -144,21 +140,26 @@ private static void PushFluid(List requesters, List { if (!provider.isValidProvider()) continue; - Logger.LogFormat("-----WarpSpaceManager.RequestFluid start for channel: {0}", provider.Channel); var flowManager = provider.FlowManager; int fromCell = provider.ValveBase.GetInputCell(); ConduitFlow.Conduit providerConduit = flowManager.GetConduit(fromCell); ConduitFlow.ConduitContents providerContents = providerConduit.GetContents(flowManager); if (SimHashes.Vacuum.Equals(providerContents.element)) + { + Logger.LogFormat("PushFluid: Vacuum found in Provider {0}, channel {1}", provider.ID, provider.Channel); continue; + } var matchedRequesters = requesters.Where(x => x.Channel == provider.Channel).ToList(); if (matchedRequesters.Count == 0) + { + Logger.LogFormat("PushFluid: No matched requestors for Provider {0}, channel {1}", provider.ID, provider.Channel); continue; + } var splitMass = providerContents.mass / matchedRequesters.Count(); - Logger.Log(String.Format("WarpSpaceManager.RequestFluid splitMass: {0}", splitMass)); - Logger.Log(String.Format("WarpSpaceManager.RequestFluid matchedRequesters: {0}", matchedRequesters.Count)); + //Logger.Log(String.Format("WarpSpaceManager.RequestFluid splitMass: {0}", splitMass)); + //Logger.Log(String.Format("WarpSpaceManager.RequestFluid matchedRequesters: {0}", matchedRequesters.Count)); foreach (var requester in matchedRequesters) { if (!requester.isValidRequestor()) @@ -169,22 +170,22 @@ private static void PushFluid(List requesters, List if (requestorContents.mass < 1f && requestorContents.element != providerContents.element && requestorContents.element != SimHashes.Vacuum) { - Logger.LogFormat("Removing contents is: {0} kg. of {1}", requestorContents.mass, requestorContents.element); + //Logger.LogFormat("Removing contents is: {0} kg. of {1}", requestorContents.mass, requestorContents.element); flowManager.RemoveElement(requestorConduit, requestorContents.mass); } float addedMass = flowManager.AddElement(toCell, providerContents.element, splitMass, providerContents.temperature, providerContents.diseaseIdx, providerContents.diseaseCount); Game.Instance.accumulators.Accumulate(provider.ValveBase.AccumulatorHandle, addedMass); - Logger.LogFormat($@"Requestor Info -requester mass: {requestorContents.mass} requester element: {requestorContents.element} -provider mass: {providerContents.mass} provider element: {providerContents.element} -provider split: {splitMass} added mass: {addedMass} -\r\n "); +// Logger.LogFormat($@"Requestor Info +//requester mass: {requestorContents.mass} requester element: {requestorContents.element} +//provider mass: {providerContents.mass} provider element: {providerContents.element} +//provider split: {splitMass} added mass: {addedMass} +//"); if (addedMass > 0f) { ConduitFlow.ConduitContents removed = flowManager.RemoveElement(providerConduit, addedMass); Game.Instance.accumulators.Accumulate(requester.ValveBase.AccumulatorHandle, addedMass); - Logger.LogFormat("Moved {0} kg. from {1} to {2}. ", addedMass, fromCell, toCell); + // Logger.LogFormat("Moved {0} kg. from {1} to {2}. ", addedMass, fromCell, toCell); } else { @@ -192,16 +193,16 @@ private static void PushFluid(List requesters, List } } - Logger.LogFormat("-----WarpSpaceManager.RequestFluid end for channel: {0}", provider.Channel); } - Logger.LogFormat("WarpSpaceManager.RequestFluid end"); } private static void UpdateConduitsOfWarpGates(float dt, ConduitType warpGateType) { try { + Logger.LogFormat("UpdateConduitsOfWarpGates: Liquid Providers: {0}, Gas Providers {1}", _liquidProviders.Count, _gasProviders.Count); + Logger.LogFormat("UpdateConduitsOfWarpGates: Liquid Requestors: {0}, Gas Requestors {1}", _liquidRequesters.Count, _gasRequesters.Count); if (warpGateType == ConduitType.Liquid) { var requesters = _liquidRequesters.Values.Where(x => x.Channel != 10000).ToList(); diff --git a/Source/ZeroPointModule/ZeroPointModule.cs b/Source/ZeroPointModule/ZeroPointModule.cs index 43604cf..b45c443 100644 --- a/Source/ZeroPointModule/ZeroPointModule.cs +++ b/Source/ZeroPointModule/ZeroPointModule.cs @@ -19,28 +19,7 @@ private static void Prefix() ModUtil.AddBuildingToPlanScreen("Power", ZeroPointModuleConfig.ID); - /* - List ls = new List((string[])TUNING.BUILDINGS.PLANORDER[2].data); - ls.Add(ZeroPointModuleConfig.ID); - TUNING.BUILDINGS.PLANORDER[2].data = (string[])ls.ToArray(); - - TUNING.BUILDINGS.COMPONENT_DESCRIPTION_ORDER.Add(ZeroPointModuleConfig.ID); - */ - /* - List category = (List)TUNING.BUILDINGS.PLANORDER.First(po => ((HashedString) "Power").Equals(po.category)).data; - category.Add(ZeroPointModuleConfig.ID); - */ - - } - /* - private static void Postfix() - { - - Debug.Log(" === ZeroPointModuleMod_GeneratedBuildings_LoadGeneratedBuildings Postfix === "); - object obj = Activator.CreateInstance(typeof(ZeroPointModuleConfig)); - BuildingConfigManager.Instance.RegisterBuilding(obj as IBuildingConfig); } - */ } [HarmonyPatch(typeof(Db), "Initialize")] diff --git a/Source/ZeroPointModule/ZeroPointModule.csproj b/Source/ZeroPointModule/ZeroPointModule.csproj index bd90fed..a80d26c 100644 --- a/Source/ZeroPointModule/ZeroPointModule.csproj +++ b/Source/ZeroPointModule/ZeroPointModule.csproj @@ -9,8 +9,9 @@ Properties ZeroPointModule ZeroPointModule - v3.5 + v4.0 512 + true diff --git a/Source/ZeroPointModule/ZeroPointModuleConfig.cs b/Source/ZeroPointModule/ZeroPointModuleConfig.cs index bbd1fa1..e972346 100644 --- a/Source/ZeroPointModule/ZeroPointModuleConfig.cs +++ b/Source/ZeroPointModule/ZeroPointModuleConfig.cs @@ -8,8 +8,6 @@ class ZeroPointModuleConfig : BaseBatteryConfig { public const string ID = "ZeroPointModule"; - private static readonly LogicPorts.Port[] OUTPUT_PORTS = LogicOperationalController.INPUT_PORTS_0_0; - public override BuildingDef CreateBuildingDef() { //string id = "ZeroPointModule"; @@ -17,12 +15,12 @@ public override BuildingDef CreateBuildingDef() int height = 2; int hitpoints = 60; string anim = "smartbattery_kanim"; - float construction_time = 120f; + float construction_time = 20f; float[] tIER = TUNING.BUILDINGS.CONSTRUCTION_MASS_KG.TIER7; - string[] aLL_METALS = TUNING.MATERIALS.REFINED_METALS; + string[] aLL_METALS = TUNING.MATERIALS.ALL_METALS; float melting_point = 800f; float exhaust_temperature_active = 0f; - float self_heat_kilowatts_active = 100f; + float self_heat_kilowatts_active = 0f; BuildingDef result = base.CreateBuildingDef(ID, width, height, hitpoints, anim, construction_time, tIER, aLL_METALS, melting_point, exhaust_temperature_active, self_heat_kilowatts_active, TUNING.BUILDINGS.DECOR.PENALTY.TIER5, TUNING.NOISE_POLLUTION.NOISY.TIER6); //result.EnergyConsumptionWhenActive = 120f; @@ -31,23 +29,12 @@ public override BuildingDef CreateBuildingDef() return result; } - public override void DoPostConfigurePreview(BuildingDef def, GameObject go) - { - GeneratedBuildings.RegisterLogicPorts(go, null, OUTPUT_PORTS); - } - - public override void DoPostConfigureUnderConstruction(GameObject go) - { - GeneratedBuildings.RegisterLogicPorts(go, null, OUTPUT_PORTS); - } - public override void DoPostConfigureComplete(GameObject go) { Battery battery = go.AddOrGet(); battery.capacity = 40000f; battery.joulesLostPerSecond = battery.capacity * 0.05f / 600f; - GeneratedBuildings.RegisterLogicPorts(go, null, OUTPUT_PORTS); base.DoPostConfigureComplete(go); } }