OnBuildingMerge
OxideCarbonStructureCalled when a building merges.
void OnBuildingMerge(ServerBuildingManager serverBuildingManager, BuildingManager.Building building1, BuildingManager.Building building2)Works — the game method in this build is the one the hook was written for.
Parameters
- serverBuildingManager
- ServerBuildingManager
- building1
- BuildingManager.Building
- building2
- BuildingManager.Building
Return value
voidThe return value is ignored — the hook only notifies.
Example
private void OnBuildingMerge(ServerBuildingManager serverBuildingManager, BuildingManager.Building building1, BuildingManager.Building building2)
{
Puts("OnBuildingMerge");
}Works in both Oxide and Carbon: Carbon loads Oxide plugins as is.
Injection point
Rust.opj (Oxide)
void ServerBuildingManager.Merge(BuildingManager.Building, BuildingManager.Building)
Passes: ServerBuildingManager serverBuildingManager, BuildingManager.Building building1, BuildingManager.Building building2
WorksReturnBehavior: ContinueArgumentBehavior: AllAssembly-CSharp.dll
Where it is called (this branch's game code)
private void Merge(Building building1, Building building2)
Interface.CallHook("OnBuildingMerge", this, building1, building2);
{
while (building2.HasDecayEntities())
{
building2.decayEntities[0].AttachToBuilding(building1.ID);
}
if (AI.useUnityNavmesh && AI.nav_carve_use_building_optimization)
{
building1.isNavMeshCarvingDirty = true;
// …Sources: Rust.opj from OxideMod/Oxide.Rust (MIT) and hook metadata of the Carbon documentation (MIT). Method code is decompiled from this branch's server.