Creating Additional Networked Class

Class Functions

  • Init() - [OPTIONAL] class initialization.

  • Update() - [OPTIONAL] called every frame.

Local Properties

  • netEvent - return NetworkedEvent class.

Local Functions

  • SendToEveryone(string FunctionName, params object[] arguments) - send command to every player to call function with arguments.

  • SendToClient(string FunctionName, NetworkConnection connection, params object[] arguments) - send command to player with connection to call function with arguments.

  • SendToServer(string FunctionName, params object[] arguments) - send command to server to call function with arguments.

  • Invoke(Function, float seconds) - same logic as UnityEngine.Object.Invoke, call function after time.

Example

using UnityEngine;

namespace Plugin.Additional
{
    public class TestCommunication : Akequ.Base.Room
    {
        public override void Init()
        {
            if (netEvent.isClient)
            {
                SendToServer("GetFromClient", "Test");
            }
        }
        
        public void GetFromClient(string someData, Mirror.NetworkConnectionToClient conn)
        {
            Debug.Log($"Got From Client: {someData}");
            SendToClient("GetFromServer", conn, "Test", 35);
        }
        
        public void GetFromServer(string data, int secData)
        {
            Debug.Log($"Got From Server: {data}, {secData}");
        }
    }
}

Example Solution can be downloaded here: Link to archive

Testing

Now we can compile this plugin and move library to server plugins folder according to Folder Structure Now we can connect to server and see our message:

Last updated