Class HotkeySystem
- Namespace
- FishMMO.Server.Implementation.World.SceneServer
- Assembly
- FishMMO.Server.dll
Manages player hotkey configurations, allowing clients to set and update hotkey bindings for abilities and items.
[CreateAssetMenu(fileName = "HotkeySystem", menuName = "FishMMO/Server/SceneServer/Hotkey System", order = 1)]
[RequiresDataContainer(typeof(HotkeySystemRuntimeData))]
public class HotkeySystem : ServerBehaviour, IServerBehaviour<INetworkManagerWrapper, ServerManager, NetworkConnection, IServerBehaviour>, IServerComponent<INetworkManagerWrapper, ServerManager, NetworkConnection, IServerBehaviour>, IHotkeySystem, IServerBehaviour, IServerComponent
- Inheritance
-
ObjectScriptableObjectHotkeySystem
- Implements
- Inherited Members
-
ScriptableObject.SetDirty()ScriptableObject.CreateInstance<T>()Object.GetEntityId()Object.GetInstanceID()Object.GetHashCode()Object.InstantiateAsync<T>(T)Object.InstantiateAsync<T>(T, Transform)Object.InstantiateAsync<T>(T, Vector3, Quaternion)Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion)Object.Instantiate(Object, Vector3, Quaternion, Transform)Object.Instantiate(Object)Object.Instantiate(Object, Scene)Object.Instantiate<T>(T, InstantiateParameters)Object.Instantiate<T>(T, Vector3, Quaternion, InstantiateParameters)Object.Instantiate(Object, Transform)Object.Instantiate<T>(T)Object.Instantiate<T>(T, Vector3, Quaternion)Object.Instantiate<T>(T, Vector3, Quaternion, Transform)Object.Instantiate<T>(T, Transform)Object.Destroy(Object)Object.DestroyImmediate(Object)Object.DontDestroyOnLoad(Object)Object.DestroyObject(Object)Object.FindObjectsOfType<T>()Object.FindObjectsByType<T>(FindObjectsSortMode)Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)Object.FindObjectOfType<T>()Object.FindFirstObjectByType<T>()Object.FindAnyObjectByType<T>()Object.FindFirstObjectByType<T>(FindObjectsInactive)Object.FindAnyObjectByType<T>(FindObjectsInactive)Object.FindObjectsByType<T>()Object.FindObjectsByType<T>(FindObjectsInactive)Object.ToString()Object.nameObject.hideFlags
Methods
InitializeOnce()
Initializes the hotkey system, registering broadcast handlers for hotkey set and hotkey set multiple requests.
public override ServerComponentInitializationStatus InitializeOnce()
Returns
OnDeinitialize()
Cleans up the hotkey system, unregistering broadcast handlers.
public override void OnDeinitialize()
OnServerHotkeySetBroadcastReceived(NetworkConnection, HotkeySetBroadcast, Channel)
Handles broadcast to set a single hotkey for a player character. Validates the hotkey list and slot, then updates the hotkey data for the specified slot.
public void OnServerHotkeySetBroadcastReceived(NetworkConnection conn, HotkeySetBroadcast msg, Channel channel)
Parameters
connNetworkConnectionNetwork connection of the requesting client.
msgHotkeySetBroadcastHotkeySetBroadcast message containing hotkey data.
channelChannelNetwork channel used for the broadcast.
OnServerHotkeySetMultipleBroadcastReceived(NetworkConnection, HotkeySetMultipleBroadcast, Channel)
Handles broadcast to set multiple hotkeys for a player character. Iterates through each hotkey message, validates the hotkey list and slot, then updates the hotkey data for each slot.
public void OnServerHotkeySetMultipleBroadcastReceived(NetworkConnection conn, HotkeySetMultipleBroadcast msg, Channel channel)
Parameters
connNetworkConnectionNetwork connection of the requesting client.
msgHotkeySetMultipleBroadcastHotkeySetMultipleBroadcast message containing multiple hotkey data entries.
channelChannelNetwork channel used for the broadcast.
OnUpdate(float)
Drains stale ingress entries with bounded cleanup each frame.
protected override void OnUpdate(float deltaTime)
Parameters
deltaTimefloat