protected void SimRegister() { if (base.isSpawned && simHandle == -1 && base.enabled) { PrimaryElement component = GetComponent <PrimaryElement>(); if (component.Mass > 0f) { Element element = component.Element; if (!element.IsTemperatureInsulated) { int gameCell = Grid.PosToCell(base.transform.GetPosition()); simHandle = -2; HandleVector <Game.ComplexCallbackInfo <int> > .Handle handle = Game.Instance.simComponentCallbackManager.Add(OnSimRegisteredCallback, this, "SimTemperatureTransfer.SimRegister"); float num = component.InternalTemperature; if (num <= 0f) { component.InternalTemperature = 293f; num = 293f; } SimMessages.AddElementChunk(gameCell, component.ElementID, component.Mass, num, surfaceArea, thickness, groundTransferScale, handle.index); } } } }