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); } }
public static HoloNetObjectIdMessage <T, TO> Create(HoloNetObjectId objectId) { var obj = HoloNet.GetObjectPool().Pop <T>(); obj.id = objectId; return(obj); }
public static HoloNetObjectIdMessage <T, TO> Create(TO actualObject) { var obj = HoloNet.GetObjectPool().Pop <T>(); obj.id = actualObject.net.oid; return(obj); }
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()); }
public static T Pop <T>() where T : HoloNetMessage { return(HoloNet.GetObjectPool().Pop <T>()); }