private static bool Prefix(int gameCell, float mass, byte disease_idx, int disease_count, CellModifyMassEvent ev, float temperature, SimHashes element) { SimMessages_Utils.Log(MethodBase.GetCurrentMethod(), gameCell, mass, disease_idx, disease_count, ev, temperature, element); return(true); }
protected override void OnPrefabInit() { base.OnPrefabInit(); Instance = this; SimMessagesSolid = (AddEvent(new CellSolidEvent("SimMessageSolid", "Sim Message", false, true)) as CellSolidEvent); SimCellOccupierDestroy = (AddEvent(new CellSolidEvent("SimCellOccupierClearSolid", "Sim Cell Occupier Destroy", false, true)) as CellSolidEvent); SimCellOccupierForceSolid = (AddEvent(new CellSolidEvent("SimCellOccupierForceSolid", "Sim Cell Occupier Force Solid", false, true)) as CellSolidEvent); SimCellOccupierSolidChanged = (AddEvent(new CellSolidEvent("SimCellOccupierSolidChanged", "Sim Cell Occupier Solid Changed", false, true)) as CellSolidEvent); DoorOpen = (AddEvent(new CellElementEvent("DoorOpen", "Door Open", true, true)) as CellElementEvent); DoorClose = (AddEvent(new CellElementEvent("DoorClose", "Door Close", true, true)) as CellElementEvent); Excavator = (AddEvent(new CellElementEvent("Excavator", "Excavator", true, true)) as CellElementEvent); DebugTool = (AddEvent(new CellElementEvent("DebugTool", "Debug Tool", true, true)) as CellElementEvent); SandBoxTool = (AddEvent(new CellElementEvent("SandBoxTool", "Sandbox Tool", true, true)) as CellElementEvent); TemplateLoader = (AddEvent(new CellElementEvent("TemplateLoader", "Template Loader", true, true)) as CellElementEvent); Scenario = (AddEvent(new CellElementEvent("Scenario", "Scenario", true, true)) as CellElementEvent); SimCellOccupierOnSpawn = (AddEvent(new CellElementEvent("SimCellOccupierOnSpawn", "Sim Cell Occupier OnSpawn", true, true)) as CellElementEvent); SimCellOccupierDestroySelf = (AddEvent(new CellElementEvent("SimCellOccupierDestroySelf", "Sim Cell Occupier Destroy Self", true, true)) as CellElementEvent); WorldGapManager = (AddEvent(new CellElementEvent("WorldGapManager", "World Gap Manager", true, true)) as CellElementEvent); ReceiveElementChanged = (AddEvent(new CellElementEvent("ReceiveElementChanged", "Sim Message", false, false)) as CellElementEvent); ObjectSetSimOnSpawn = (AddEvent(new CellElementEvent("ObjectSetSimOnSpawn", "Object set sim on spawn", true, true)) as CellElementEvent); DecompositionDirtyWater = (AddEvent(new CellElementEvent("DecompositionDirtyWater", "Decomposition dirty water", true, true)) as CellElementEvent); SendCallback = (AddEvent(new CellCallbackEvent("SendCallback", true, true)) as CellCallbackEvent); ReceiveCallback = (AddEvent(new CellCallbackEvent("ReceiveCallback", false, true)) as CellCallbackEvent); Dig = (AddEvent(new CellDigEvent(true)) as CellDigEvent); WorldDamageDelayedSpawnFX = (AddEvent(new CellAddRemoveSubstanceEvent("WorldDamageDelayedSpawnFX", "World Damage Delayed Spawn FX", false)) as CellAddRemoveSubstanceEvent); OxygenModifierSimUpdate = (AddEvent(new CellAddRemoveSubstanceEvent("OxygenModifierSimUpdate", "Oxygen Modifier SimUpdate", false)) as CellAddRemoveSubstanceEvent); LiquidChunkOnStore = (AddEvent(new CellAddRemoveSubstanceEvent("LiquidChunkOnStore", "Liquid Chunk On Store", false)) as CellAddRemoveSubstanceEvent); FallingWaterAddToSim = (AddEvent(new CellAddRemoveSubstanceEvent("FallingWaterAddToSim", "Falling Water Add To Sim", false)) as CellAddRemoveSubstanceEvent); ExploderOnSpawn = (AddEvent(new CellAddRemoveSubstanceEvent("ExploderOnSpawn", "Exploder OnSpawn", false)) as CellAddRemoveSubstanceEvent); ExhaustSimUpdate = (AddEvent(new CellAddRemoveSubstanceEvent("ExhaustSimUpdate", "Exhaust SimUpdate", false)) as CellAddRemoveSubstanceEvent); ElementConsumerSimUpdate = (AddEvent(new CellAddRemoveSubstanceEvent("ElementConsumerSimUpdate", "Element Consumer SimUpdate", false)) as CellAddRemoveSubstanceEvent); SublimatesEmit = (AddEvent(new CellAddRemoveSubstanceEvent("SublimatesEmit", "Sublimates Emit", false)) as CellAddRemoveSubstanceEvent); Mop = (AddEvent(new CellAddRemoveSubstanceEvent("Mop", "Mop", false)) as CellAddRemoveSubstanceEvent); OreMelted = (AddEvent(new CellAddRemoveSubstanceEvent("OreMelted", "Ore Melted", false)) as CellAddRemoveSubstanceEvent); ConstructTile = (AddEvent(new CellAddRemoveSubstanceEvent("ConstructTile", "ConstructTile", false)) as CellAddRemoveSubstanceEvent); Dumpable = (AddEvent(new CellAddRemoveSubstanceEvent("Dympable", "Dumpable", false)) as CellAddRemoveSubstanceEvent); Cough = (AddEvent(new CellAddRemoveSubstanceEvent("Cough", "Cough", false)) as CellAddRemoveSubstanceEvent); Meteor = (AddEvent(new CellAddRemoveSubstanceEvent("Meteor", "Meteor", false)) as CellAddRemoveSubstanceEvent); ElementChunkTransition = (AddEvent(new CellAddRemoveSubstanceEvent("ElementChunkTransition", "Element Chunk Transition", false)) as CellAddRemoveSubstanceEvent); OxyrockEmit = (AddEvent(new CellAddRemoveSubstanceEvent("OxyrockEmit", "Oxyrock Emit", false)) as CellAddRemoveSubstanceEvent); BleachstoneEmit = (AddEvent(new CellAddRemoveSubstanceEvent("BleachstoneEmit", "Bleachstone Emit", false)) as CellAddRemoveSubstanceEvent); UnstableGround = (AddEvent(new CellAddRemoveSubstanceEvent("UnstableGround", "Unstable Ground", false)) as CellAddRemoveSubstanceEvent); ConduitFlowEmptyConduit = (AddEvent(new CellAddRemoveSubstanceEvent("ConduitFlowEmptyConduit", "Conduit Flow Empty Conduit", false)) as CellAddRemoveSubstanceEvent); ConduitConsumerWrongElement = (AddEvent(new CellAddRemoveSubstanceEvent("ConduitConsumerWrongElement", "Conduit Consumer Wrong Element", false)) as CellAddRemoveSubstanceEvent); OverheatableMeltingDown = (AddEvent(new CellAddRemoveSubstanceEvent("OverheatableMeltingDown", "Overheatable MeltingDown", false)) as CellAddRemoveSubstanceEvent); FabricatorProduceMelted = (AddEvent(new CellAddRemoveSubstanceEvent("FabricatorProduceMelted", "Fabricator Produce Melted", false)) as CellAddRemoveSubstanceEvent); PumpSimUpdate = (AddEvent(new CellAddRemoveSubstanceEvent("PumpSimUpdate", "Pump SimUpdate", false)) as CellAddRemoveSubstanceEvent); WallPumpSimUpdate = (AddEvent(new CellAddRemoveSubstanceEvent("WallPumpSimUpdate", "Wall Pump SimUpdate", false)) as CellAddRemoveSubstanceEvent); Vomit = (AddEvent(new CellAddRemoveSubstanceEvent("Vomit", "Vomit", false)) as CellAddRemoveSubstanceEvent); Tears = (AddEvent(new CellAddRemoveSubstanceEvent("Tears", "Tears", false)) as CellAddRemoveSubstanceEvent); Pee = (AddEvent(new CellAddRemoveSubstanceEvent("Pee", "Pee", false)) as CellAddRemoveSubstanceEvent); AlgaeHabitat = (AddEvent(new CellAddRemoveSubstanceEvent("AlgaeHabitat", "AlgaeHabitat", false)) as CellAddRemoveSubstanceEvent); CO2FilterOxygen = (AddEvent(new CellAddRemoveSubstanceEvent("CO2FilterOxygen", "CO2FilterOxygen", false)) as CellAddRemoveSubstanceEvent); ToiletEmit = (AddEvent(new CellAddRemoveSubstanceEvent("ToiletEmit", "ToiletEmit", false)) as CellAddRemoveSubstanceEvent); ElementEmitted = (AddEvent(new CellAddRemoveSubstanceEvent("ElementEmitted", "Element Emitted", false)) as CellAddRemoveSubstanceEvent); CO2ManagerFixedUpdate = (AddEvent(new CellModifyMassEvent("CO2ManagerFixedUpdate", "CO2Manager FixedUpdate", false)) as CellModifyMassEvent); EnvironmentConsumerFixedUpdate = (AddEvent(new CellModifyMassEvent("EnvironmentConsumerFixedUpdate", "EnvironmentConsumer FixedUpdate", false)) as CellModifyMassEvent); ExcavatorShockwave = (AddEvent(new CellModifyMassEvent("ExcavatorShockwave", "Excavator Shockwave", false)) as CellModifyMassEvent); OxygenBreatherSimUpdate = (AddEvent(new CellModifyMassEvent("OxygenBreatherSimUpdate", "Oxygen Breather SimUpdate", false)) as CellModifyMassEvent); CO2ScrubberSimUpdate = (AddEvent(new CellModifyMassEvent("CO2ScrubberSimUpdate", "CO2Scrubber SimUpdate", false)) as CellModifyMassEvent); RiverSourceSimUpdate = (AddEvent(new CellModifyMassEvent("RiverSourceSimUpdate", "RiverSource SimUpdate", false)) as CellModifyMassEvent); RiverTerminusSimUpdate = (AddEvent(new CellModifyMassEvent("RiverTerminusSimUpdate", "RiverTerminus SimUpdate", false)) as CellModifyMassEvent); DebugToolModifyMass = (AddEvent(new CellModifyMassEvent("DebugToolModifyMass", "DebugTool ModifyMass", false)) as CellModifyMassEvent); EnergyGeneratorModifyMass = (AddEvent(new CellModifyMassEvent("EnergyGeneratorModifyMass", "EnergyGenerator ModifyMass", false)) as CellModifyMassEvent); SolidFilterEvent = (AddEvent(new CellSolidFilterEvent("SolidFilterEvent", true)) as CellSolidFilterEvent); }
public static void ModifyMass(int gameCell, float mass, byte disease_idx, int disease_count, CellModifyMassEvent ev, float temperature = -1f, SimHashes element = SimHashes.Vacuum) { if (element != SimHashes.Vacuum) { int elementIndex = GetElementIndex(element); if (elementIndex != -1) { if (temperature == -1f) { temperature = ElementLoader.elements[elementIndex].defaultValues.temperature; } ModifyCell(gameCell, elementIndex, temperature, mass, disease_idx, disease_count, ReplaceType.None, false, -1); } } else { ModifyCell(gameCell, 0, temperature, mass, disease_idx, disease_count, ReplaceType.None, false, -1); } }