Class NamingSystem
- Namespace
- FishMMO.Server.Implementation.World.SceneServer
- Assembly
- FishMMO.Server.dll
Provides name resolution services for game entities, resolving names by ID for characters and guilds. Game logic and Broadcasts run synchronously on the main thread. Database lookups are async to avoid blocking the main thread. Results from async DB queries are marshalled back via INamingSystemMainThreadQueueData.
[CreateAssetMenu(fileName = "NamingSystem", menuName = "FishMMO/Server/SceneServer/Naming System", order = 1)]
[RequiresDataContainer(typeof(NamingSystemRuntimeData))]
[RequiresDataContainer(typeof(NamingSystemMappingData))]
[RequiresDataContainer(typeof(NamingSystemMainThreadQueueData))]
[RequiresDataContainer(typeof(AsyncWorkerData))]
public class NamingSystem : ServerBehaviour, IServerBehaviour<INetworkManagerWrapper, ServerManager, NetworkConnection, IServerBehaviour>, IServerComponent<INetworkManagerWrapper, ServerManager, NetworkConnection, IServerBehaviour>, INamingSystem<NetworkConnection>, IServerBehaviour, IServerComponent
- Inheritance
-
ObjectScriptableObjectNamingSystem
- Implements
-
INamingSystem<NetworkConnection>
- 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 naming system, registering broadcast handlers for naming and reverse naming requests.
public override ServerComponentInitializationStatus InitializeOnce()
Returns
OnDeinitialize()
Cleans up the naming system, unregistering broadcast handlers.
public override void OnDeinitialize()
OnUpdate(float)
Drains the main-thread queue each frame.
protected override void OnUpdate(float deltaTime)
Parameters
deltaTimefloat
SendNamingBroadcast(NetworkConnection, NamingSystemType, long, string)
Sends a naming broadcast to the specified connection, providing the resolved name for the given ID and type.
public void SendNamingBroadcast(NetworkConnection conn, NamingSystemType type, long id, string name)
Parameters
connNetworkConnectionNetwork connection to send the broadcast to.
typeNamingSystemTypeType of naming system (character, guild, etc.).
idlongID of the object to resolve.
namestringResolved name to send.
SendReverseNamingBroadcast(NetworkConnection, NamingSystemType, string, long, string)
Sends a reverse naming broadcast to the specified connection, providing the resolved ID and name for the given type and name.
public void SendReverseNamingBroadcast(NetworkConnection conn, NamingSystemType type, string nameLowerCase, long id, string name)
Parameters
connNetworkConnectionNetwork connection to send the broadcast to.
typeNamingSystemTypeType of naming system (character, guild, etc.).
nameLowerCasestringLowercase name to resolve.
idlongResolved ID to send.
namestringResolved name to send.