Creating New Room Event

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.Rooms
{
    public class HC_HID : Akequ.Base.Room
    {
        public override void Init()
        {
            if (netEvent.isServer)
            {
                Door door = DoorManager.SpawnDoor(1, Vector3.zero, Quaternion.identity);
                door.transform.parent = netEvent.transform;
                door.transform.localPosition = new Vector3(-2.8809f, 0f, -7.68036175f);
                door.transform.localRotation = Quaternion.Euler(0, 90, 0);
                door = DoorManager.SpawnDoor(1, Vector3.zero, Quaternion.identity);
                door.transform.parent = netEvent.transform;
                door.transform.localPosition = new Vector3(-2.8809f, 0f, 7.68036175f);
                door.transform.localRotation = Quaternion.Euler(0, 90, 0);
                door = DoorManager.SpawnDoor(0, Vector3.zero, Quaternion.identity);
                door.transform.parent = netEvent.transform;
                door.transform.localPosition = new Vector3(-7.758f, 0f, 0f);
                door.transform.localRotation = Quaternion.Euler(0, 90, 0);
                door.keyData = new KeyData() { armory = 3 };

                ItemPickup obj = ResourcesManager.SpawnItem("MicroHID");
                obj.transform.parent = netEvent.transform;
                obj.transform.localPosition = new Vector3(-9.41675186f, 1.71533203f, 4.32899475f);
                obj.transform.localRotation = Quaternion.Euler(0, 270f, 0);
            }
        }
    }
}

Example Solution can be downloaded here: Link to archive

Last updated