public void WakeUp() { SNLogger.Log("Received SlotExtender 'WakeUp' message."); isSeamothArmSlotsReady = true; quickSlotTimeUsed = (float[])seamoth.GetPrivateField("quickSlotTimeUsed", BindingFlags.SetField); quickSlotCooldown = (float[])seamoth.GetPrivateField("quickSlotCooldown", BindingFlags.SetField); quickSlotToggled = (bool[])seamoth.GetPrivateField("quickSlotToggled", BindingFlags.SetField); quickSlotCharge = (float[])seamoth.GetPrivateField("quickSlotCharge", BindingFlags.SetField); seamoth.onToggle += OnToggleSlot; seamoth.modules.onEquip += OnEquip; seamoth.modules.onUnequip += OnUnequip; Player.main.playerMotorModeChanged.AddHandler(this, new Event <Player.MotorMode> .HandleFunction(OnPlayerMotorModeChanged)); onDockedChanged.AddHandler(this, new Event <bool> .HandleFunction(OnDockedChanged)); CheckArmSlots(); }