コード例 #1
0
        public IEnumerator CreateOrJoinRoom(string roomName)
        {
            var roomsList = holonet.provider.GetRoomList("public");

            while (!roomsList.isDone)
            {
                yield return(null);
            }
            var targetRoom = roomsList.rooms.FirstOrDefault(item => item.name == HoloNetConfig.testRoomName);
            Action <HoloNetwork.Helper.AsyncOperations.AsyncOp> spawnActor = delegate {
                HoloNet.WaitAndApplySyncState();
                holonet.tickSynchronizer.Resume();
                holonet.messenger.Resume();
            };

            if (targetRoom == null)
            {
                holonet.provider.CreateAndJoinRoom(new RoomSettings()
                {
                    name = HoloNetConfig.testRoomName, roomType = "public", isOpen = true, isVisible = true, maxPlayers = 6
                },
                                                   spawnActor);
            }
            else
            {
                holonet.provider.JoinRoom(targetRoom.id, spawnActor);
            }
        }
コード例 #2
0
        public static HoloNetObjectIdMessage <T, TO> Create(HoloNetObjectId objectId)
        {
            var obj = HoloNet.GetObjectPool().Pop <T>();

            obj.id = objectId;
            return(obj);
        }
コード例 #3
0
        public static HoloNetObjectIdMessage <T, TO> Create(TO actualObject)
        {
            var obj = HoloNet.GetObjectPool().Pop <T>();

            obj.id = actualObject.net.oid;
            return(obj);
        }
コード例 #4
0
        public void Init(string version)
        {
            this.version = version;

            //This is ugly. Blame PUN 2
            var ss = (ServerSettings)Resources.Load("PhotonServerSettings", typeof(ServerSettings));

            ss.AppSettings.AppVersion = version;

            PhotonNetwork.AddCallbackTarget(this);
            PhotonNetwork.AutomaticallySyncScene = false;
            PhotonNetwork.OfflineMode            = false;
            PhotonNetwork.LogLevel    = PunLogLevel.ErrorsOnly;
            PhotonNetwork.GameVersion = version;
            HoloNet.RegisterSerialiationRule <PhotonHoloNetPlayer>(new PhotonHoloNetPlayerSerializationRule());
        }
コード例 #5
0
ファイル: HoloNetMessage.cs プロジェクト: nolikenet/holonet
 public static T Pop <T>() where T : HoloNetMessage
 {
     return(HoloNet.GetObjectPool().Pop <T>());
 }