using Random = UnityEngine.Random; namespace CheatEnabler; public static class PlanetFunctions { public static void BuryAllVeins(bool bury) { var planet = GameMain.localPlanet; var factory = planet?.factory; if (factory == null) return; var physics = planet.physics; var height = bury ? planet.realRadius - 50f : planet.realRadius + 0.07f; var array = factory.veinPool; var num = factory.veinCursor; for (var m = 1; m < num; m++) { var pos = array[m].pos; var colliderId = array[m].colliderId; var colliderData = physics.GetColliderData(colliderId); var vector = colliderData.pos.normalized * (height + 0.4f); physics.colChunks[colliderId >> 20].colliderPool[colliderId & 0xFFFFF].pos = vector; array[m].pos = pos.normalized * height; var quaternion = Maths.SphericalRotation(array[m].pos, Random.value * 360f); physics.SetPlanetPhysicsColliderDirty(); GameMain.gpuiManager.AlterModel(array[m].modelIndex, array[m].modelId, m, array[m].pos, quaternion, false); } GameMain.gpuiManager.SyncAllGPUBuffer(); } }