Table of Contents

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
Object
ScriptableObject
NamingSystem
Implements
IServerBehaviour<INetworkManagerWrapper, ServerManager, NetworkConnection, IServerBehaviour>
IServerComponent<INetworkManagerWrapper, ServerManager, NetworkConnection, IServerBehaviour>
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.name
Object.hideFlags

Methods

InitializeOnce()

Initializes the naming system, registering broadcast handlers for naming and reverse naming requests.

public override ServerComponentInitializationStatus InitializeOnce()

Returns

ServerComponentInitializationStatus

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

deltaTime float

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

conn NetworkConnection

Network connection to send the broadcast to.

type NamingSystemType

Type of naming system (character, guild, etc.).

id long

ID of the object to resolve.

name string

Resolved 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

conn NetworkConnection

Network connection to send the broadcast to.

type NamingSystemType

Type of naming system (character, guild, etc.).

nameLowerCase string

Lowercase name to resolve.

id long

Resolved ID to send.

name string

Resolved name to send.