Esempio n. 1
0
    public void ReadMSG(byte[] msg)
    {
        if (OnlineManager.IsHost())
        {
            OnlineManager.SendMsg(msg);
        }

        if (!OnlineManager.IsOwner(onlineID.PlayerOwner))
        {
            Deserialize(msg);
        }
    }
    public static void OnlineDestroy(this UnityEngine.Object obj, GameObject gameObject)
    {
        var onlineId = gameObject.GetComponent <OnlineIdentifiant>();

        if (onlineId != null)
        {
            var info  = new DestroyObjectInfo(onlineId.ObjectId);
            var bytes = BitConverter.GetBytes((int)MsgProtocol.DestroyObject).Concat(info.Serialize()).ToArray();

            OnlineManager.SendMsg(bytes);

            if (OnlineManager.IsHost())
            {
                OnlineManager.Destroy(info);
            }
        }
    }
Esempio n. 3
0
    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Alpha0))
        {
            if (!OnlineManager.IsHost() && clientPanel != null)
            {
                clientPanel.gameObject.SetActive(!clientPanel.gameObject.activeSelf);
            }
            if (OnlineManager.IsHost() && serverPanel != null)
            {
                serverPanel.gameObject.SetActive(!serverPanel.gameObject.activeSelf);
            }
        }

        if (Input.GetKeyDown(KeyCode.Space))
        {
            this.OnlineInstantiate(OnlinePrefabs.GetPrefabBy("Sphere"), Vector3.zero, Quaternion.identity, OnlineManager.GetPlayerId());
        }
    }
    public static void OnlineInstantiate(this UnityEngine.Object obj, GameObject gameObject, Vector3 position, Quaternion rotation, OnlinePlayerId playerOwner)
    {
        InstantiateObjectInfo info = null;

        if (OnlineManager.IsHost())
        {
            info = new InstantiateObjectInfo(gameObject, position, rotation, OnlineObjectManager.GenerateId(), playerOwner);
        }
        else
        {
            info = new InstantiateObjectInfo(gameObject, position, rotation, -1, playerOwner);
        }

        var bytes = BitConverter.GetBytes((int)MsgProtocol.InstantiateObject).Concat(info.Serialize()).ToArray();

        OnlineManager.SendMsg(bytes);

        if (OnlineManager.IsHost())
        {
            OnlineManager.Instantiate(info);
        }
    }