using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading; using Google.Protobuf; using Google.Protobuf.WellKnownTypes; using RecNet; using RecRoom.Protobuf; using RecRoom.Sandbox; using RecRoom.Tools; using UnityEngine; namespace RecRoom.Persistence { // Token: 0x02000BE0 RID: 3040 public class RoomPersistenceManager : NetworkedSingletonMonoBehaviour { // Token: 0x060174D3 RID: 95443 RVA: 0x00686A10 File Offset: 0x00684C10 private void LFLCHIGHIIA(bool GENGJBCDOGB) { this.AFMBNIGJAMG(); this.NIKLDPBCPHO = base.StartCoroutine(this.LMIJNNKPKJA(GENGJBCDOGB)); } // Token: 0x060174D4 RID: 95444 RVA: 0x00686A2C File Offset: 0x00684C2C private void DNIINPBHABB(string NOBAPCOKFIL) { this.NLHOMHODEKH.MEAINJPIECA(NOBAPCOKFIL); } // Token: 0x060174D5 RID: 95445 RVA: 0x00686A3C File Offset: 0x00684C3C private void AFMBNIGJAMG() { if (this.MIFJNJPJNOP()) { base.StopCoroutine(this.NIKLDPBCPHO); this.NIKLDPBCPHO = null; } } // Token: 0x060174D6 RID: 95446 RVA: 0x00686A5C File Offset: 0x00684C5C private void Update() { this.BABIFJDNLFC.KHJKJGDBPMF(); this.FCEKOOFDJGM.DLBPEOILIFL(); } // Token: 0x060174D7 RID: 95447 RVA: 0x00686A74 File Offset: 0x00684C74 private void EHJGEGEENMB() { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.FCEKOOFDJGM.BKBFIGCPIMI(0); } } // Token: 0x060174D8 RID: 95448 RVA: 0x00686A8C File Offset: 0x00684C8C private IEnumerator MJGGJLHKBPL(bool GENGJBCDOGB, RoomPersistenceManager.BMPMAAMNNPJ JOINLHEALDL) { RoomPersistenceManager.EDGCHPHLBFA.MCPDFKAIGEN mcpdfkaigen = new RoomPersistenceManager.EDGCHPHLBFA.MCPDFKAIGEN(); mcpdfkaigen.PNDHCMIJLFP = this; if (!IHFKMIAHBFP.HCHIDMOLLAD) { JOINLHEALDL(false, null, null, "Only the Master Client may save room data."); yield break; } mcpdfkaigen.NNOPJFIPCLO = new DIEJEGFOIBF(); mcpdfkaigen.NNOPJFIPCLO.ALCFGFGJCHI = 1; EHLBEFKJLHJ ehlbefkjlhj = PEDNLMAHGBP.KGKNIMECEKH; mcpdfkaigen.NNOPJFIPCLO.MNDEJIOKCJK = LMBEHMFIOEN.OOCOFDALHOG(ehlbefkjlhj.KAPOBAEMBKL, ehlbefkjlhj.OOAECNOOFID); mcpdfkaigen.NNOPJFIPCLO.BLMPACLLEPB = DateTime.UtcNow.ToTimestamp(); this.MEKJGLMJCGE.Clear(); mcpdfkaigen.MPLGGAAMDKL = global::UnityEngine.Object.FindObjectsOfType(); mcpdfkaigen.HHHBHKENMBJ = 0; for (int i = 0; i < mcpdfkaigen.MPLGGAAMDKL.Length; i++) { if (mcpdfkaigen.MPLGGAAMDKL[i].AADHHMOLEOL) { mcpdfkaigen.HHHBHKENMBJ++; base.StartCoroutine(mcpdfkaigen.MPLGGAAMDKL[i].PreSerialize(new Action(mcpdfkaigen.OJKNBNGGBEC))); } } float realtimeSinceStartup = Time.realtimeSinceStartup; while (mcpdfkaigen.HHHBHKENMBJ > 0) { yield return null; } if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat("Preserialization complete in {0} seconds", new object[] { Time.realtimeSinceStartup - realtimeSinceStartup }); } int num = 0; RoomPersistenceManager.EDGCHPHLBFA.KMMCMJLHCNA kmmcmjlhcna = new RoomPersistenceManager.EDGCHPHLBFA.KMMCMJLHCNA(); kmmcmjlhcna.PNDHCMIJLFP = this; kmmcmjlhcna.DOCPCEJLLAL = mcpdfkaigen; kmmcmjlhcna.CIMNKHDEFOH = 0; while (kmmcmjlhcna.CIMNKHDEFOH < mcpdfkaigen.MPLGGAAMDKL.Length) { if (mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].AADHHMOLEOL) { if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat(mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH], "Serializing PersistanceView {0}", new object[] { mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].gameObject }); } mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].Serialize(new PersistenceView.LJOBLBKHDAH(kmmcmjlhcna.OJKNBNGGBEC)); num++; if (num >= 10) { yield return null; num = 0; } } kmmcmjlhcna.CIMNKHDEFOH++; } List list = new List(this.MEKJGLMJCGE); JOINLHEALDL(true, mcpdfkaigen.NNOPJFIPCLO, list, null); yield break; } // Token: 0x060174D9 RID: 95449 RVA: 0x00686AB8 File Offset: 0x00684CB8 public void HLIOPPACHBF(Action NOBAPCOKFIL) { Action action = this.MKCMFFPFOAH; Action action2; do { action2 = action; action = Interlocked.CompareExchange>(ref this.MKCMFFPFOAH, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x060174DA RID: 95450 RVA: 0x00686AF0 File Offset: 0x00684CF0 public void RequestReloadRoomData() { if (this.PKGJCPJMABF()) { base.OMNGGJICBBI.RPC("RpcMasterRequestReloadRoomData", IHFKMIAHBFP.HGDJAAMBDNH, new object[0]); } } // Token: 0x060174DB RID: 95451 RVA: 0x00686B18 File Offset: 0x00684D18 private IEnumerator PIPDEKANCNB(bool GENGJBCDOGB, RoomPersistenceManager.HADOPFJNNAO JOINLHEALDL) { RoomPersistenceManager.LKPFDEODJCN.JFLFBCHGDPO jflfbchgdpo = new RoomPersistenceManager.LKPFDEODJCN.JFLFBCHGDPO(); jflfbchgdpo.FJOCEKIKKOA = this; if (!IHFKMIAHBFP.HCHIDMOLLAD) { JOINLHEALDL(false, null, "Only Master Client is allowed to get room data."); yield break; } float num = 0f; while (HNIFBBFIBBG.OINDBDDCICD == null) { if (num >= 10f) { JOINLHEALDL(false, null, "Timed out waiting for current session room id to become valid."); yield break; } num += Time.deltaTime; yield return null; } if (string.IsNullOrEmpty(HNIFBBFIBBG.OINDBDDCICD.OCDDOBNGFEF)) { JOINLHEALDL(true, null, null); yield break; } jflfbchgdpo.FGAPLMNIFEA = string.Empty; jflfbchgdpo.KGIJJBKHLGC = null; yield return base.StartCoroutine(HNIFBBFIBBG.FDEPBLCNFAC(new HEMCJJJMLKI.JMICPMCJMJF(jflfbchgdpo.OJKNBNGGBEC))); if (!string.IsNullOrEmpty(jflfbchgdpo.FGAPLMNIFEA)) { JOINLHEALDL(false, null, "Failed to get room data : " + jflfbchgdpo.FGAPLMNIFEA); yield break; } if (jflfbchgdpo.KGIJJBKHLGC == null || jflfbchgdpo.KGIJJBKHLGC.Length == 0) { JOINLHEALDL(false, null, "No room data to load."); yield break; } DIEJEGFOIBF diejegfoibf = new DIEJEGFOIBF(); diejegfoibf.MergeFrom(jflfbchgdpo.KGIJJBKHLGC); JOINLHEALDL(true, diejegfoibf, null); yield break; } // Token: 0x060174DC RID: 95452 RVA: 0x00686B3C File Offset: 0x00684D3C private IEnumerator GEKPKKNHCPB(bool GENGJBCDOGB, RoomPersistenceManager.PEGADEADMOL JOINLHEALDL) { RoomPersistenceManager.MAMJCCLOPOH.KBBMAABNPCF kbbmaabnpcf = new RoomPersistenceManager.MAMJCCLOPOH.KBBMAABNPCF(); kbbmaabnpcf.BDJGJLDFHIE = this; if (PEDNLMAHGBP.KGKNIMECEKH.ODIPLBJJBLB == null) { JOINLHEALDL(true, null); yield break; } kbbmaabnpcf.NAGEKJMLHDE = false; kbbmaabnpcf.BKCEILIJPEP = null; yield return base.StartCoroutine(this.KAONDDNBHOO(GENGJBCDOGB, new RoomPersistenceManager.PEGADEADMOL(kbbmaabnpcf.OJKNBNGGBEC))); if (!kbbmaabnpcf.NAGEKJMLHDE) { JOINLHEALDL(false, kbbmaabnpcf.BKCEILIJPEP); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x060174DD RID: 95453 RVA: 0x00686B68 File Offset: 0x00684D68 private void AEDIJDKIEAN() { if (IHFKMIAHBFP.HCHIDMOLLAD && this.BABIFJDNLFC.CGELFKLLMBA) { this.FCEKOOFDJGM.BKBFIGCPIMI(6, 1); } } // Token: 0x060174DE RID: 95454 RVA: 0x00686B94 File Offset: 0x00684D94 private bool CKACFFNNJFP() { return this.KJCGGKEBBOP != null; } // Token: 0x060174DF RID: 95455 RVA: 0x00686BA4 File Offset: 0x00684DA4 private bool HKBDAJDBPFH() { return this.AOMJICBPLLO != null; } // Token: 0x060174E0 RID: 95456 RVA: 0x00686BB4 File Offset: 0x00684DB4 public void FHPIFBGCHEM(Action NOBAPCOKFIL) { Action action = this.NBDCGEKLCDM; Action action2; do { action2 = action; action = Interlocked.CompareExchange>(ref this.NBDCGEKLCDM, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x060174E1 RID: 95457 RVA: 0x00686BEC File Offset: 0x00684DEC private IEnumerator KGLPKEDEBHD(bool GENGJBCDOGB) { RoomPersistenceManager.HPLJFNNMFLK.JOIAKDADLBK joiakdadlbk = new RoomPersistenceManager.HPLJFNNMFLK.JOIAKDADLBK(); joiakdadlbk.KCBDIJPPCNF = this; joiakdadlbk.LLENADHIHDP = false; joiakdadlbk.OIFBPEJHDOD = null; yield return base.StartCoroutine(this.KAONDDNBHOO(GENGJBCDOGB, new RoomPersistenceManager.PEGADEADMOL(joiakdadlbk.OJKNBNGGBEC))); if (joiakdadlbk.LLENADHIHDP) { this.FCEKOOFDJGM.BKBFIGCPIMI(7); } else { this.HELCLDHMMOJ = joiakdadlbk.OIFBPEJHDOD; this.FCEKOOFDJGM.BKBFIGCPIMI(8); } this.KJCGGKEBBOP = null; yield break; } // Token: 0x060174E2 RID: 95458 RVA: 0x00686C10 File Offset: 0x00684E10 private IEnumerator LHICJABCPLF(DIEJEGFOIBF NNOPJFIPCLO, List DONBDBHJGJP, bool GENGJBCDOGB, RoomPersistenceManager.CNCJIGIGKME JOINLHEALDL) { RoomPersistenceManager.ACCJNJPBLCH.DCBJEBFKPKF dcbjebfkpkf = new RoomPersistenceManager.ACCJNJPBLCH.DCBJEBFKPKF(); dcbjebfkpkf.EMLIIAMBDJA = this; if (NNOPJFIPCLO == null) { JOINLHEALDL(false, "No persisted Room Data created."); yield break; } byte[] array = NNOPJFIPCLO.ToByteArray(); if (array == null || array.Length == 0) { JOINLHEALDL(false, "No room data to save."); yield break; } float num = 0f; while (HNIFBBFIBBG.OINDBDDCICD == null) { if (num >= 10f) { JOINLHEALDL(false, "Timed out waiting for current session room id to become valid."); yield break; } num += Time.deltaTime; yield return null; } dcbjebfkpkf.FEENBKMGNHM = string.Empty; yield return base.StartCoroutine(HNIFBBFIBBG.OEOEHMBKFBP(array, DONBDBHJGJP, new HEMCJJJMLKI.JMICPMCJMJF(dcbjebfkpkf.OJKNBNGGBEC))); if (!string.IsNullOrEmpty(dcbjebfkpkf.FEENBKMGNHM)) { JOINLHEALDL(false, dcbjebfkpkf.FEENBKMGNHM); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x060174E3 RID: 95459 RVA: 0x00686C44 File Offset: 0x00684E44 private void CHFENEJAPDD(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.BABIFJDNLFC.BJOJLPHBGMN(Player.FCEGFOFFLJJ + 0.25f); } } // Token: 0x060174E4 RID: 95460 RVA: 0x00686C68 File Offset: 0x00684E68 private void OLLBEHJLKHI() { if (IHFKMIAHBFP.HCHIDMOLLAD && !this.HKBDAJDBPFH()) { bool flag = false; this.KMEEIPGNKEH(flag); } } // Token: 0x060174E5 RID: 95461 RVA: 0x00686C94 File Offset: 0x00684E94 private IEnumerator IKKAPBDFIEM(bool GENGJBCDOGB, RoomPersistenceManager.PEGADEADMOL JOINLHEALDL) { kbbmaabnpcf = new RoomPersistenceManager.MAMJCCLOPOH.KBBMAABNPCF(); kbbmaabnpcf.BDJGJLDFHIE = this; if (PEDNLMAHGBP.KGKNIMECEKH.ODIPLBJJBLB == null) { JOINLHEALDL(true, null); yield break; } kbbmaabnpcf.NAGEKJMLHDE = false; kbbmaabnpcf.BKCEILIJPEP = null; yield return base.StartCoroutine(this.KAONDDNBHOO(GENGJBCDOGB, new RoomPersistenceManager.PEGADEADMOL(kbbmaabnpcf.OJKNBNGGBEC))); if (!kbbmaabnpcf.NAGEKJMLHDE) { JOINLHEALDL(false, kbbmaabnpcf.BKCEILIJPEP); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x060174E6 RID: 95462 RVA: 0x00686CC0 File Offset: 0x00684EC0 private void NBLOHNHIECF() { if (IHFKMIAHBFP.HCHIDMOLLAD && this.BABIFJDNLFC.CGELFKLLMBA) { this.FCEKOOFDJGM.BKBFIGCPIMI(1, 1); } } // Token: 0x060174E7 RID: 95463 RVA: 0x00686CEC File Offset: 0x00684EEC private bool ANPBBPKHGBJ() { if (IHFKMIAHBFP.HCHIDMOLLAD && this.HMFEPMPJGLE()) { this.FCEKOOFDJGM.BKBFIGCPIMI(3); return true; } return false; } // Token: 0x060174E8 RID: 95464 RVA: 0x00686D14 File Offset: 0x00684F14 protected override void Awake() { base.Awake(); IHFKMIAHBFP.ENIGMACDFMJ += new Action(this.OnMasterClientSwitched); this.NLHOMHODEKH = new LHLLJPPCDKA(this, "ERROR", string.Empty, IKCAJLLAFML.MASTER, null); this.BABIFJDNLFC = new AONMNAEOJAL(this, "TIMER", IKCAJLLAFML.MASTER); this.FCEKOOFDJGM = new PNONBEAIBHA("RSM", IKCAJLLAFML.MASTER); this.FCEKOOFDJGM.AGLMMKOFICI(0, null, null, new ANMJLCILKDJ.PLBLFEEANOO(this.JPNAFHBKFIA)); this.FCEKOOFDJGM.AGLMMKOFICI(1, null, null, null); this.FCEKOOFDJGM.AGLMMKOFICI(2, null, null, null); this.FCEKOOFDJGM.AGLMMKOFICI(3, null, null, new ANMJLCILKDJ.PLBLFEEANOO(this.OLLBEHJLKHI)); this.FCEKOOFDJGM.AGLMMKOFICI(4, new ANMJLCILKDJ.NCMAEMHOHDG(this.LKINCELIOGF), null, new ANMJLCILKDJ.PLBLFEEANOO(this.DBPNEBFFGLB)); this.FCEKOOFDJGM.AGLMMKOFICI(5, new ANMJLCILKDJ.NCMAEMHOHDG(this.NCEHDOMIIFK), null, new ANMJLCILKDJ.PLBLFEEANOO(this.AKIIEMDFNEE)); this.FCEKOOFDJGM.AGLMMKOFICI(6, new ANMJLCILKDJ.NCMAEMHOHDG(this.LENGOCDLANO), new ANMJLCILKDJ.NCMAEMHOHDG(this.PIMMODECHHA), null); this.FCEKOOFDJGM.AGLMMKOFICI(6, 0, new ANMJLCILKDJ.NCMAEMHOHDG(this.CHFENEJAPDD), null, new ANMJLCILKDJ.PLBLFEEANOO(this.AEDIJDKIEAN)); this.FCEKOOFDJGM.AGLMMKOFICI(6, 1, null, null, new ANMJLCILKDJ.PLBLFEEANOO(this.LOBBNPFHAJL)); this.FCEKOOFDJGM.AGLMMKOFICI(7, new ANMJLCILKDJ.NCMAEMHOHDG(this.KFGBOLAJHNJ), null, new ANMJLCILKDJ.PLBLFEEANOO(this.LAAEPEJLALK)); this.FCEKOOFDJGM.AGLMMKOFICI(8, new ANMJLCILKDJ.NCMAEMHOHDG(this.PFBLKJEDHOA), null, new ANMJLCILKDJ.PLBLFEEANOO(this.KDJEJEEJLJJ)); } // Token: 0x060174E9 RID: 95465 RVA: 0x00686ECC File Offset: 0x006850CC private void NPAMLKPJMAA() { if (IHFKMIAHBFP.HCHIDMOLLAD && !this.CKACFFNNJFP()) { bool flag = false; this.JCLHEGNDJLE(flag); } } // Token: 0x060174EA RID: 95466 RVA: 0x00686EF8 File Offset: 0x006850F8 private IEnumerator ICIGNFHMNHK(bool GENGJBCDOGB, RoomPersistenceManager.BMPMAAMNNPJ JOINLHEALDL) { mcpdfkaigen = new RoomPersistenceManager.EDGCHPHLBFA.MCPDFKAIGEN(); mcpdfkaigen.PNDHCMIJLFP = this; if (!IHFKMIAHBFP.HCHIDMOLLAD) { JOINLHEALDL(false, null, null, "Only the Master Client may save room data."); yield break; } mcpdfkaigen.NNOPJFIPCLO = new DIEJEGFOIBF(); mcpdfkaigen.NNOPJFIPCLO.ALCFGFGJCHI = 1; ehlbefkjlhj = PEDNLMAHGBP.KGKNIMECEKH; mcpdfkaigen.NNOPJFIPCLO.MNDEJIOKCJK = LMBEHMFIOEN.OOCOFDALHOG(ehlbefkjlhj.KAPOBAEMBKL, ehlbefkjlhj.OOAECNOOFID); mcpdfkaigen.NNOPJFIPCLO.BLMPACLLEPB = DateTime.UtcNow.ToTimestamp(); this.MEKJGLMJCGE.Clear(); mcpdfkaigen.MPLGGAAMDKL = global::UnityEngine.Object.FindObjectsOfType(); mcpdfkaigen.HHHBHKENMBJ = 0; for (int i = 0; i < mcpdfkaigen.MPLGGAAMDKL.Length; i++) { if (mcpdfkaigen.MPLGGAAMDKL[i].AADHHMOLEOL) { mcpdfkaigen.HHHBHKENMBJ++; base.StartCoroutine(mcpdfkaigen.MPLGGAAMDKL[i].PreSerialize(new Action(mcpdfkaigen.OJKNBNGGBEC))); } } realtimeSinceStartup = Time.realtimeSinceStartup; while (mcpdfkaigen.HHHBHKENMBJ > 0) { yield return null; } if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat("Preserialization complete in {0} seconds", new object[] { Time.realtimeSinceStartup - realtimeSinceStartup }); } num = 0; kmmcmjlhcna = new RoomPersistenceManager.EDGCHPHLBFA.KMMCMJLHCNA(); kmmcmjlhcna.PNDHCMIJLFP = this; kmmcmjlhcna.DOCPCEJLLAL = mcpdfkaigen; kmmcmjlhcna.CIMNKHDEFOH = 0; while (kmmcmjlhcna.CIMNKHDEFOH < mcpdfkaigen.MPLGGAAMDKL.Length) { if (mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].AADHHMOLEOL) { if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat(mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH], "Serializing PersistanceView {0}", new object[] { mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].gameObject }); } mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].Serialize(new PersistenceView.LJOBLBKHDAH(kmmcmjlhcna.OJKNBNGGBEC)); num++; if (num >= 10) { yield return null; num = 0; } } kmmcmjlhcna.CIMNKHDEFOH++; } list = new List(this.MEKJGLMJCGE); JOINLHEALDL(true, mcpdfkaigen.NNOPJFIPCLO, list, null); yield break; } // Token: 0x060174EB RID: 95467 RVA: 0x00686F24 File Offset: 0x00685124 private void PIMMODECHHA(ushort OIMHGOONBEB, ushort LPFGCCKCIEB) { if (Player.LocalPlayerExists) { RecRoomSceneManager.NCKMBFBMBFM.HDNIEJJBLGI.CAHIBCONCCH(true); } } // Token: 0x060174EC RID: 95468 RVA: 0x00686F40 File Offset: 0x00685140 private void PKMIODLNHHO(LNJFBGIBLHA BLEEFGJBALL) { this.AFMBNIGJAMG(); this.NHOBCGGKGBE(); this.COLGNEBNKHM(); } // Token: 0x060174ED RID: 95469 RVA: 0x00686F54 File Offset: 0x00685154 private IEnumerator PDFMNMEGOGM(DIEJEGFOIBF NNOPJFIPCLO, List DONBDBHJGJP, bool GENGJBCDOGB, RoomPersistenceManager.CNCJIGIGKME JOINLHEALDL) { dcbjebfkpkf = new RoomPersistenceManager.ACCJNJPBLCH.DCBJEBFKPKF(); dcbjebfkpkf.EMLIIAMBDJA = this; if (NNOPJFIPCLO == null) { JOINLHEALDL(false, "No persisted Room Data created."); yield break; } array = NNOPJFIPCLO.ToByteArray(); if (array == null || array.Length == 0) { JOINLHEALDL(false, "No room data to save."); yield break; } num = 0f; while (HNIFBBFIBBG.OINDBDDCICD == null) { if (num >= 10f) { JOINLHEALDL(false, "Timed out waiting for current session room id to become valid."); yield break; } num += Time.deltaTime; yield return null; } dcbjebfkpkf.FEENBKMGNHM = string.Empty; yield return base.StartCoroutine(HNIFBBFIBBG.OEOEHMBKFBP(array, DONBDBHJGJP, new HEMCJJJMLKI.JMICPMCJMJF(dcbjebfkpkf.OJKNBNGGBEC))); if (!string.IsNullOrEmpty(dcbjebfkpkf.FEENBKMGNHM)) { JOINLHEALDL(false, dcbjebfkpkf.FEENBKMGNHM); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x060174EE RID: 95470 RVA: 0x00686F88 File Offset: 0x00685188 private bool JHAOJJGFFPN() { return this.FCEKOOFDJGM != null && this.FCEKOOFDJGM.BHMLLHLEAFF == 4; } // Token: 0x060174EF RID: 95471 RVA: 0x00686FA8 File Offset: 0x006851A8 private void LHDEGPKAADF() { this.BABIFJDNLFC.JNDAEJOHPHO(); this.FCEKOOFDJGM.DLBPEOILIFL(); } // Token: 0x060174F0 RID: 95472 RVA: 0x00686FC0 File Offset: 0x006851C0 public IEnumerator WaitForInitialLoad(RoomPersistenceManager.PEGADEADMOL JOINLHEALDL) { while (!this.FCEKOOFDJGM.BOCFJBNNEFP) { yield return null; } while (this.OOMFOBGPNKH) { yield return null; } if (this.FCEKOOFDJGM.BHMLLHLEAFF == 1) { JOINLHEALDL(false, "Unable to complete initial room load."); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x060174F1 RID: 95473 RVA: 0x00686FE4 File Offset: 0x006851E4 private void OnMasterClientSwitched(LNJFBGIBLHA BLEEFGJBALL) { this.AFMBNIGJAMG(); this.EBNFNKCKOKL(); this.COLGNEBNKHM(); } // Token: 0x060174F2 RID: 95474 RVA: 0x00686FF8 File Offset: 0x006851F8 private void LENGOCDLANO(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { if (Player.LocalPlayerExists) { Player.LocalPlayer.DespawnLocal(false, true); } } // Token: 0x140000CA RID: 202 // (add) Token: 0x06017519 RID: 95513 RVA: 0x0068771C File Offset: 0x0068591C // (remove) Token: 0x060174F3 RID: 95475 RVA: 0x00687014 File Offset: 0x00685214 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Action DEOKOGDFDLC; // Token: 0x060174F4 RID: 95476 RVA: 0x0068704C File Offset: 0x0068524C private void JCLHEGNDJLE(bool GENGJBCDOGB) { this.EBNFNKCKOKL(); this.KJCGGKEBBOP = base.StartCoroutine(this.KGLPKEDEBHD(GENGJBCDOGB)); } // Token: 0x140000CB RID: 203 // (add) Token: 0x060174F5 RID: 95477 RVA: 0x00687068 File Offset: 0x00685268 // (remove) Token: 0x06017538 RID: 95544 RVA: 0x00687D38 File Offset: 0x00685F38 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Action NBDCGEKLCDM; // Token: 0x060174F6 RID: 95478 RVA: 0x006870A0 File Offset: 0x006852A0 private void CIEBNDBBIPB() { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.FCEKOOFDJGM.BKBFIGCPIMI(4); } } // Token: 0x17000A29 RID: 2601 // (get) Token: 0x06017508 RID: 95496 RVA: 0x0068748C File Offset: 0x0068568C // (set) Token: 0x060174F7 RID: 95479 RVA: 0x006870B8 File Offset: 0x006852B8 private string HELCLDHMMOJ { get { return this.NLHOMHODEKH.CPIBGJLHLBL(); } set { this.NLHOMHODEKH.MEAINJPIECA(value); } } // Token: 0x060174F8 RID: 95480 RVA: 0x006870C8 File Offset: 0x006852C8 private void JINNBGDAPLD() { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.FCEKOOFDJGM.BKBFIGCPIMI(6); } } // Token: 0x060174F9 RID: 95481 RVA: 0x006870E0 File Offset: 0x006852E0 private void GNNNGKONMJG() { if (this.AOAMHAKFCIP()) { base.StopCoroutine(this.KJCGGKEBBOP); this.KJCGGKEBBOP = null; } } // Token: 0x060174FA RID: 95482 RVA: 0x00687100 File Offset: 0x00685300 public void BCCILELAGHI(Action NOBAPCOKFIL) { Action action = this.NBDCGEKLCDM; Action action2; do { action2 = action; action = Interlocked.CompareExchange>(ref this.NBDCGEKLCDM, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x060174FB RID: 95483 RVA: 0x00687138 File Offset: 0x00685338 private GameObject ILAMDHOLFKB(JENDPFGMLME LJPJGMJDIKB, Guid JAGNIKELELP, Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, bool GENGJBCDOGB) { Extrusion extrusion = NetworkedSingletonMonoBehaviour.NCKMBFBMBFM.OJLKBFKKIFA(CIGPHKLAAOD, IJGPPOIJDKO, 1); if (extrusion == null) { global::UnityEngine.Debug.LogErrorFormat(" joined the game", new object[] { JAGNIKELELP }); return null; } GameObject gameObject = extrusion.gameObject; if (GENGJBCDOGB) { string text = "PhotonView with ID "; object[] array = new object[0]; array[1] = JAGNIKELELP; global::UnityEngine.Debug.LogFormat(text, array); } return gameObject; } // Token: 0x060174FC RID: 95484 RVA: 0x006871A4 File Offset: 0x006853A4 public void PersistTransientImage(string GPMCNJMPFMN) { this.MEKJGLMJCGE.Add(GPMCNJMPFMN); } // Token: 0x060174FD RID: 95485 RVA: 0x006871B4 File Offset: 0x006853B4 private void NHOBCGGKGBE() { if (this.HKBDAJDBPFH()) { base.StopCoroutine(this.AOMJICBPLLO); this.AOMJICBPLLO = null; } } // Token: 0x060174FE RID: 95486 RVA: 0x006871D4 File Offset: 0x006853D4 private bool GAJDMIBNMCM() { if (IHFKMIAHBFP.HCHIDMOLLAD && this.HMFEPMPJGLE()) { this.FCEKOOFDJGM.BKBFIGCPIMI(7); return true; } return true; } // Token: 0x060174FF RID: 95487 RVA: 0x006871FC File Offset: 0x006853FC private void EBNFNKCKOKL() { if (this.HKBDAJDBPFH()) { base.StopCoroutine(this.AOMJICBPLLO); this.AOMJICBPLLO = null; } } // Token: 0x17000A28 RID: 2600 // (get) Token: 0x06017500 RID: 95488 RVA: 0x0068721C File Offset: 0x0068541C public bool OOMFOBGPNKH { get { return this.FCEKOOFDJGM.BHMLLHLEAFF == 6 || this.FCEKOOFDJGM.BHMLLHLEAFF == 0; } } // Token: 0x06017501 RID: 95489 RVA: 0x00687240 File Offset: 0x00685440 private IEnumerator DHJDEMBANJF(bool GENGJBCDOGB, RoomPersistenceManager.PEGADEADMOL JOINLHEALDL) { RoomPersistenceManager.CFAHOAIIEGO.LNPCBGEBNIG lnpcbgebnig = new RoomPersistenceManager.CFAHOAIIEGO.LNPCBGEBNIG(); lnpcbgebnig.NJPHDNAAJHF = this; lnpcbgebnig.NNOPJFIPCLO = null; lnpcbgebnig.CPKPDBJBPEL = false; lnpcbgebnig.IGKNKHHNJNI = null; yield return base.StartCoroutine(this.PIPDEKANCNB(GENGJBCDOGB, new RoomPersistenceManager.HADOPFJNNAO(lnpcbgebnig.OJKNBNGGBEC))); if (!lnpcbgebnig.CPKPDBJBPEL) { JOINLHEALDL(false, lnpcbgebnig.IGKNKHHNJNI); yield break; } if (lnpcbgebnig.NNOPJFIPCLO == null) { JOINLHEALDL(true, null); yield break; } lnpcbgebnig.APIPJOMAGJI = false; lnpcbgebnig.DKGPJBCMBNG = null; yield return base.StartCoroutine(this.CLPFGKALHGE(lnpcbgebnig.NNOPJFIPCLO, GENGJBCDOGB, new RoomPersistenceManager.CDBPIEBHLGP(lnpcbgebnig.JAFGLCBFOHM))); if (!lnpcbgebnig.APIPJOMAGJI) { JOINLHEALDL(false, lnpcbgebnig.DKGPJBCMBNG); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x06017502 RID: 95490 RVA: 0x0068726C File Offset: 0x0068546C private void Start() { this.FCEKOOFDJGM.FLHFCMCNLEK(this, 0); } // Token: 0x06017503 RID: 95491 RVA: 0x0068727C File Offset: 0x0068547C private void OLDPFLEBGBA(DIEJEGFOIBF NNOPJFIPCLO, bool OJNLGNFPHMH) { HashSet hashSet = new HashSet(); foreach (JENDPFGMLME jendpfgmlme in NNOPJFIPCLO.IHNIMBMNOPE) { if (jendpfgmlme.MMDLCJMOPEL == null) { Guid guid = jendpfgmlme.PKJFPDJKJAH.KLNKHLCMIMD(); if (!(guid == Guid.Empty)) { hashSet.Add(guid); } } } List list = PersistenceView.AllViews.Values.ToList(); foreach (PersistenceView persistenceView in list) { if (!hashSet.Contains(persistenceView.PKJFPDJKJAH) && persistenceView.AADHHMOLEOL) { if (OJNLGNFPHMH) { global::UnityEngine.Debug.LogFormat("Destroying unused PersistenceView {0} with ID {1}", new object[] { persistenceView.gameObject, persistenceView.PKJFPDJKJAH }); } PersistenceView.AllViews.Remove(persistenceView.PKJFPDJKJAH); IHFKMIAHBFP.NJMGEDPOHED(persistenceView.gameObject); } } } // Token: 0x06017504 RID: 95492 RVA: 0x006873CC File Offset: 0x006855CC public void NGNGCOFKPAL(Action NOBAPCOKFIL) { Action action = this.BJPKKMHPMKI; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.BJPKKMHPMKI, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06017505 RID: 95493 RVA: 0x00687404 File Offset: 0x00685604 private void AKIIEMDFNEE() { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.FCEKOOFDJGM.BKBFIGCPIMI(2); } } // Token: 0x06017506 RID: 95494 RVA: 0x0068741C File Offset: 0x0068561C public void GGHMAGALPIJ(Action NOBAPCOKFIL) { Action action = this.DEOKOGDFDLC; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DEOKOGDFDLC, (Action)Delegate.Remove(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06017507 RID: 95495 RVA: 0x00687454 File Offset: 0x00685654 public void HPBKLBEEFAI(Action NOBAPCOKFIL) { Action action = this.BJPKKMHPMKI; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.BJPKKMHPMKI, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06017509 RID: 95497 RVA: 0x0068749C File Offset: 0x0068569C private void PFBLKJEDHOA(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { if (this.MKCMFFPFOAH != null) { this.MKCMFFPFOAH(this.HELCLDHMMOJ); } SingletonMonoBehaviour.NCKMBFBMBFM.Play(ScreenSpaceNotificationManager.DBNGPDFKLEK.Vital, "Room Restore Failed", 3f, null, false); NECCOFKHCAA.GILMEMNHBJC(PEDNLMAHGBP.KGKNIMECEKH.ODIPLBJJBLB, false); } // Token: 0x0601750A RID: 95498 RVA: 0x006874EC File Offset: 0x006856EC private IEnumerator GFBOAEKNGAO(bool GENGJBCDOGB, RoomPersistenceManager.PEGADEADMOL JOINLHEALDL) { RoomPersistenceManager.BBFFDFLHBAJ.DEMMHJFBCBA demmhjfbcba = new RoomPersistenceManager.BBFFDFLHBAJ.DEMMHJFBCBA(); demmhjfbcba.LPKHEOPCJLN = this; demmhjfbcba.GAALMKDADFF = null; demmhjfbcba.MFPJBNKALCA = null; demmhjfbcba.FPHFJIKEGIA = false; demmhjfbcba.BKIBFKJPHEF = null; yield return base.StartCoroutine(this.MNNLEPAPNLM(GENGJBCDOGB, new RoomPersistenceManager.BMPMAAMNNPJ(demmhjfbcba.OJKNBNGGBEC))); if (!demmhjfbcba.FPHFJIKEGIA || demmhjfbcba.GAALMKDADFF == null || demmhjfbcba.MFPJBNKALCA == null) { JOINLHEALDL(false, demmhjfbcba.BKIBFKJPHEF); yield break; } demmhjfbcba.HDOLOEDBMBJ = false; demmhjfbcba.GAEPNMAFDDC = null; yield return base.StartCoroutine(this.JOIJAICAGKH(demmhjfbcba.GAALMKDADFF, demmhjfbcba.MFPJBNKALCA, GENGJBCDOGB, new RoomPersistenceManager.CNCJIGIGKME(demmhjfbcba.JAFGLCBFOHM))); if (!demmhjfbcba.HDOLOEDBMBJ) { JOINLHEALDL(false, demmhjfbcba.GAEPNMAFDDC); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x0601750B RID: 95499 RVA: 0x00687518 File Offset: 0x00685718 private void BOMACAAIEKE() { if (IHFKMIAHBFP.HCHIDMOLLAD && this.BABIFJDNLFC.HFOKKCOENOF()) { this.FCEKOOFDJGM.BKBFIGCPIMI(0, 1); } } // Token: 0x0601750C RID: 95500 RVA: 0x00687544 File Offset: 0x00685744 private bool CCODEGFCJKP(JENDPFGMLME LJPJGMJDIKB) { return LJPJGMJDIKB == null || (LJPJGMJDIKB.DHABAPACNIN == null && LJPJGMJDIKB.OOAEHEBLAEK() == null); } // Token: 0x140000CD RID: 205 // (add) Token: 0x0601753D RID: 95549 RVA: 0x00687E20 File Offset: 0x00686020 // (remove) Token: 0x0601750D RID: 95501 RVA: 0x0068756C File Offset: 0x0068576C [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Action MKCMFFPFOAH; // Token: 0x0601750E RID: 95502 RVA: 0x006875A4 File Offset: 0x006857A4 private bool CFACCINIMAM() { if (IHFKMIAHBFP.HCHIDMOLLAD && this.JHAOJJGFFPN()) { this.FCEKOOFDJGM.BKBFIGCPIMI(6); return true; } return true; } // Token: 0x0601750F RID: 95503 RVA: 0x006875CC File Offset: 0x006857CC private IEnumerator CLPFGKALHGE(DIEJEGFOIBF NNOPJFIPCLO, bool GENGJBCDOGB, RoomPersistenceManager.CDBPIEBHLGP JOINLHEALDL) { if (!IHFKMIAHBFP.HCHIDMOLLAD) { JOINLHEALDL(false, "Only master client is allowed to deserialize room data."); yield break; } if (NNOPJFIPCLO == null) { JOINLHEALDL(false, "Room data is null."); yield break; } this.OLDPFLEBGBA(NNOPJFIPCLO, GENGJBCDOGB); yield return null; if (GENGJBCDOGB) { int num = NNOPJFIPCLO.ALCFGFGJCHI; global::UnityEngine.Debug.LogFormat("Deserializing room data version {0} with {1} persisted views.", new object[] { num, NNOPJFIPCLO.IHNIMBMNOPE.Count }); } foreach (JENDPFGMLME jendpfgmlme in NNOPJFIPCLO.IHNIMBMNOPE) { Guid guid = jendpfgmlme.PKJFPDJKJAH.KLNKHLCMIMD(); if (guid == Guid.Empty) { global::UnityEngine.Debug.LogErrorFormat("Data found with malformed or empty ID while deserializing room.", new object[0]); } else { PersistenceView persistenceView = null; if (!PersistenceView.AllViews.TryGetValue(guid, out persistenceView)) { Vector3 vector = jendpfgmlme.KOGMNNMACPG.GMOJLKHOBGG.ECHGEFCCABI(); Quaternion quaternion = Quaternion.Euler(jendpfgmlme.KOGMNNMACPG.HCDIECIBAKP.ECHGEFCCABI()); persistenceView = this.IDBLJNOCBEC(jendpfgmlme, guid, vector, quaternion, GENGJBCDOGB); } if (persistenceView == null) { if (GENGJBCDOGB) { global::UnityEngine.Debug.LogErrorFormat("Unable to create or locate Persistence View with guid {0}.", new object[] { guid }); } } else { if (!persistenceView.BHCCHBHNHCG) { persistenceView.OMNGGJICBBI.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI); } persistenceView.gameObject.SetActive(true); persistenceView.Deserialize(jendpfgmlme); } } } foreach (PersistenceView persistenceView2 in PersistenceView.AllViews.Values) { persistenceView2.NotifyDeserializationComplete(); } JOINLHEALDL(true, null); yield break; } // Token: 0x06017510 RID: 95504 RVA: 0x006875FC File Offset: 0x006857FC private void CDICMKILDFF() { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.FCEKOOFDJGM.BKBFIGCPIMI(3); } } // Token: 0x06017511 RID: 95505 RVA: 0x00687614 File Offset: 0x00685814 private IEnumerator MNNLEPAPNLM(bool GENGJBCDOGB, RoomPersistenceManager.BMPMAAMNNPJ JOINLHEALDL) { mcpdfkaigen = new RoomPersistenceManager.EDGCHPHLBFA.MCPDFKAIGEN(); mcpdfkaigen.PNDHCMIJLFP = this; if (!IHFKMIAHBFP.HCHIDMOLLAD) { JOINLHEALDL(false, null, null, "Only the Master Client may save room data."); yield break; } mcpdfkaigen.NNOPJFIPCLO = new DIEJEGFOIBF(); mcpdfkaigen.NNOPJFIPCLO.ALCFGFGJCHI = 1; ehlbefkjlhj = PEDNLMAHGBP.KGKNIMECEKH; mcpdfkaigen.NNOPJFIPCLO.MNDEJIOKCJK = LMBEHMFIOEN.OOCOFDALHOG(ehlbefkjlhj.KAPOBAEMBKL, ehlbefkjlhj.OOAECNOOFID); mcpdfkaigen.NNOPJFIPCLO.BLMPACLLEPB = DateTime.UtcNow.ToTimestamp(); this.MEKJGLMJCGE.Clear(); mcpdfkaigen.MPLGGAAMDKL = global::UnityEngine.Object.FindObjectsOfType(); mcpdfkaigen.HHHBHKENMBJ = 0; for (int i = 0; i < mcpdfkaigen.MPLGGAAMDKL.Length; i++) { if (mcpdfkaigen.MPLGGAAMDKL[i].AADHHMOLEOL) { mcpdfkaigen.HHHBHKENMBJ++; base.StartCoroutine(mcpdfkaigen.MPLGGAAMDKL[i].PreSerialize(new Action(mcpdfkaigen.OJKNBNGGBEC))); } } realtimeSinceStartup = Time.realtimeSinceStartup; while (mcpdfkaigen.HHHBHKENMBJ > 0) { yield return null; } if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat("Preserialization complete in {0} seconds", new object[] { Time.realtimeSinceStartup - realtimeSinceStartup }); } num = 0; kmmcmjlhcna = new RoomPersistenceManager.EDGCHPHLBFA.KMMCMJLHCNA(); kmmcmjlhcna.PNDHCMIJLFP = this; kmmcmjlhcna.DOCPCEJLLAL = mcpdfkaigen; kmmcmjlhcna.CIMNKHDEFOH = 0; while (kmmcmjlhcna.CIMNKHDEFOH < mcpdfkaigen.MPLGGAAMDKL.Length) { if (mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].AADHHMOLEOL) { if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat(mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH], "Serializing PersistanceView {0}", new object[] { mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].gameObject }); } mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].Serialize(new PersistenceView.LJOBLBKHDAH(kmmcmjlhcna.OJKNBNGGBEC)); num++; if (num >= 10) { yield return null; num = 0; } } kmmcmjlhcna.CIMNKHDEFOH++; } list = new List(this.MEKJGLMJCGE); JOINLHEALDL(true, mcpdfkaigen.NNOPJFIPCLO, list, null); yield break; } // Token: 0x06017512 RID: 95506 RVA: 0x00687640 File Offset: 0x00685840 private void FFLHJNKCMFA(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.BABIFJDNLFC.KLIANKEOBGC(Player.FCEGFOFFLJJ + 846f); } } // Token: 0x06017513 RID: 95507 RVA: 0x00687664 File Offset: 0x00685864 private void KJGPIGGOFGM(ushort OIMHGOONBEB, ushort LPFGCCKCIEB) { if (Player.LocalPlayerExists) { RecRoomSceneManager.LEILGOOHEOI().HDNIEJJBLGI.HJBGJIBPCLO(true); } } // Token: 0x06017514 RID: 95508 RVA: 0x00687680 File Offset: 0x00685880 private string CIFLHLHHHCO() { return this.NLHOMHODEKH.CPIBGJLHLBL(); } // Token: 0x06017515 RID: 95509 RVA: 0x00687690 File Offset: 0x00685890 private IEnumerator EBPNJBDALAN(DIEJEGFOIBF NNOPJFIPCLO, bool GENGJBCDOGB, RoomPersistenceManager.CDBPIEBHLGP JOINLHEALDL) { if (!IHFKMIAHBFP.HCHIDMOLLAD) { JOINLHEALDL(false, "Only master client is allowed to deserialize room data."); yield break; } if (NNOPJFIPCLO == null) { JOINLHEALDL(false, "Room data is null."); yield break; } this.OLDPFLEBGBA(NNOPJFIPCLO, GENGJBCDOGB); yield return null; if (GENGJBCDOGB) { int num = NNOPJFIPCLO.ALCFGFGJCHI; global::UnityEngine.Debug.LogFormat("Deserializing room data version {0} with {1} persisted views.", new object[] { num, NNOPJFIPCLO.IHNIMBMNOPE.Count }); } enumerator = NNOPJFIPCLO.IHNIMBMNOPE.GetEnumerator(); try { while (enumerator.MoveNext()) { JENDPFGMLME jendpfgmlme = enumerator.Current; Guid guid = jendpfgmlme.PKJFPDJKJAH.KLNKHLCMIMD(); if (guid == Guid.Empty) { global::UnityEngine.Debug.LogErrorFormat("Data found with malformed or empty ID while deserializing room.", new object[0]); } else { PersistenceView persistenceView = null; if (!PersistenceView.AllViews.TryGetValue(guid, out persistenceView)) { Vector3 vector = jendpfgmlme.KOGMNNMACPG.GMOJLKHOBGG.ECHGEFCCABI(); Quaternion quaternion = Quaternion.Euler(jendpfgmlme.KOGMNNMACPG.HCDIECIBAKP.ECHGEFCCABI()); persistenceView = this.IDBLJNOCBEC(jendpfgmlme, guid, vector, quaternion, GENGJBCDOGB); } if (persistenceView == null) { if (GENGJBCDOGB) { global::UnityEngine.Debug.LogErrorFormat("Unable to create or locate Persistence View with guid {0}.", new object[] { guid }); } } else { if (!persistenceView.BHCCHBHNHCG) { persistenceView.OMNGGJICBBI.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI); } persistenceView.gameObject.SetActive(true); persistenceView.Deserialize(jendpfgmlme); } } } } finally { if (enumerator != null) { enumerator.Dispose(); } } enumerator2 = PersistenceView.AllViews.Values.GetEnumerator(); try { while (enumerator2.MoveNext()) { PersistenceView persistenceView2 = enumerator2.Current; persistenceView2.NotifyDeserializationComplete(); } } finally { ((IDisposable)enumerator2).Dispose(); } JOINLHEALDL(true, null); yield break; } // Token: 0x06017516 RID: 95510 RVA: 0x006876C0 File Offset: 0x006858C0 private IEnumerator OCGAOJMCCDF(bool GENGJBCDOGB, RoomPersistenceManager.PEGADEADMOL JOINLHEALDL) { demmhjfbcba = new RoomPersistenceManager.BBFFDFLHBAJ.DEMMHJFBCBA(); demmhjfbcba.LPKHEOPCJLN = this; demmhjfbcba.GAALMKDADFF = null; demmhjfbcba.MFPJBNKALCA = null; demmhjfbcba.FPHFJIKEGIA = false; demmhjfbcba.BKIBFKJPHEF = null; yield return base.StartCoroutine(this.MNNLEPAPNLM(GENGJBCDOGB, new RoomPersistenceManager.BMPMAAMNNPJ(demmhjfbcba.OJKNBNGGBEC))); if (!demmhjfbcba.FPHFJIKEGIA || demmhjfbcba.GAALMKDADFF == null || demmhjfbcba.MFPJBNKALCA == null) { JOINLHEALDL(false, demmhjfbcba.BKIBFKJPHEF); yield break; } demmhjfbcba.HDOLOEDBMBJ = false; demmhjfbcba.GAEPNMAFDDC = null; yield return base.StartCoroutine(this.JOIJAICAGKH(demmhjfbcba.GAALMKDADFF, demmhjfbcba.MFPJBNKALCA, GENGJBCDOGB, new RoomPersistenceManager.CNCJIGIGKME(demmhjfbcba.JAFGLCBFOHM))); if (!demmhjfbcba.HDOLOEDBMBJ) { JOINLHEALDL(false, demmhjfbcba.GAEPNMAFDDC); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x06017517 RID: 95511 RVA: 0x006876EC File Offset: 0x006858EC [BCENPNOIAOM] private void RpcMasterRequestReloadRoomData() { this.KDEJHEPKFMK(); } // Token: 0x06017518 RID: 95512 RVA: 0x006876F8 File Offset: 0x006858F8 private IEnumerator IDPGEIGDFKO(bool GENGJBCDOGB) { RoomPersistenceManager.HECEDEJMDKJ.EOENHMIMAKA eoenhmimaka = new RoomPersistenceManager.HECEDEJMDKJ.EOENHMIMAKA(); eoenhmimaka.JMDBCBACLEI = this; eoenhmimaka.FAJMJGIDENN = false; eoenhmimaka.OIFBPEJHDOD = null; yield return base.StartCoroutine(this.OCGAOJMCCDF(GENGJBCDOGB, new RoomPersistenceManager.PEGADEADMOL(eoenhmimaka.OJKNBNGGBEC))); if (eoenhmimaka.FAJMJGIDENN) { this.FCEKOOFDJGM.BKBFIGCPIMI(4); } else { this.HELCLDHMMOJ = eoenhmimaka.OIFBPEJHDOD; this.FCEKOOFDJGM.BKBFIGCPIMI(5); } this.AOMJICBPLLO = null; yield break; } // Token: 0x0601751A RID: 95514 RVA: 0x00687754 File Offset: 0x00685954 private void DBPNEBFFGLB() { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.FCEKOOFDJGM.BKBFIGCPIMI(2); } } // Token: 0x0601751B RID: 95515 RVA: 0x0068776C File Offset: 0x0068596C private GameObject LKAECEBMMCP(JENDPFGMLME LJPJGMJDIKB, Guid JAGNIKELELP, Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, bool GENGJBCDOGB) { Guid guid = LJPJGMJDIKB.DHABAPACNIN.FDJFFDEFEBD().KLNKHLCMIMD(); if (guid == Guid.Empty) { global::UnityEngine.Debug.LogErrorFormat(". Client is not the MasterClient in this room.", new object[] { JAGNIKELELP }); return null; } Tool tool = NetworkedSingletonMonoBehaviour.NCKMBFBMBFM.LKIECHDIPEB(guid, CIGPHKLAAOD, IJGPPOIJDKO); if (tool == null) { string text = "SBM_TL"; object[] array = new object[4]; array[0] = JAGNIKELELP; array[0] = guid; global::UnityEngine.Debug.LogErrorFormat(text, array); return null; } GameObject gameObject = tool.gameObject; if (GENGJBCDOGB) { string text2 = "content-encoding"; object[] array2 = new object[] { null, gameObject }; array2[1] = JAGNIKELELP; global::UnityEngine.Debug.LogFormat(text2, array2); } return gameObject; } // Token: 0x0601751C RID: 95516 RVA: 0x00687820 File Offset: 0x00685A20 private void LOBBNPFHAJL() { if (IHFKMIAHBFP.HCHIDMOLLAD && !this.CKACFFNNJFP()) { bool flag = false; this.JCLHEGNDJLE(flag); } } // Token: 0x0601751D RID: 95517 RVA: 0x0068784C File Offset: 0x00685A4C private bool KDEJHEPKFMK() { if (IHFKMIAHBFP.HCHIDMOLLAD && this.PKGJCPJMABF()) { this.FCEKOOFDJGM.BKBFIGCPIMI(6, 0); return true; } return false; } // Token: 0x0601751E RID: 95518 RVA: 0x00687874 File Offset: 0x00685A74 private PersistenceView IDBLJNOCBEC(JENDPFGMLME LJPJGMJDIKB, Guid JAGNIKELELP, Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, bool GENGJBCDOGB) { GameObject gameObject = null; if (LJPJGMJDIKB.DHABAPACNIN != null) { gameObject = this.NIOJIGFCBJO(LJPJGMJDIKB, JAGNIKELELP, CIGPHKLAAOD, IJGPPOIJDKO, GENGJBCDOGB); } else if (LJPJGMJDIKB.JFFOKKEADDA != null) { gameObject = this.CDKPBNIHJOF(LJPJGMJDIKB, JAGNIKELELP, CIGPHKLAAOD, IJGPPOIJDKO, GENGJBCDOGB); } else if (LJPJGMJDIKB.LIKIIPEKBAK) { global::UnityEngine.Debug.LogFormat("Attempting to deserialize scene object with ID {0}, but no corresponding PersistenceView was found in the scene.", new object[] { JAGNIKELELP }); } else { global::UnityEngine.Debug.LogErrorFormat("Cannot deserialize runtime object with ID {0} without equipment or extrusion data.", new object[] { JAGNIKELELP }); } if (gameObject == null) { return null; } PersistenceView componentInChildren = gameObject.GetComponentInChildren(); if (componentInChildren == null) { global::UnityEngine.Debug.LogErrorFormat("Cannot deserialize object {0} with no PersistenceView on it or its children. Destroying...", new object[] { gameObject }); IHFKMIAHBFP.JFCIOOHPLFJ(gameObject); return null; } return componentInChildren; } // Token: 0x0601751F RID: 95519 RVA: 0x00687940 File Offset: 0x00685B40 private void COLGNEBNKHM() { if (this.CKACFFNNJFP()) { base.StopCoroutine(this.KJCGGKEBBOP); this.KJCGGKEBBOP = null; } } // Token: 0x06017520 RID: 95520 RVA: 0x00687960 File Offset: 0x00685B60 private void MIBIJLIBPGJ() { this.BABIFJDNLFC.JNDAEJOHPHO(); this.FCEKOOFDJGM.DLBPEOILIFL(); } // Token: 0x06017521 RID: 95521 RVA: 0x00687978 File Offset: 0x00685B78 private IEnumerator JOIJAICAGKH(DIEJEGFOIBF NNOPJFIPCLO, List DONBDBHJGJP, bool GENGJBCDOGB, RoomPersistenceManager.CNCJIGIGKME JOINLHEALDL) { dcbjebfkpkf = new RoomPersistenceManager.ACCJNJPBLCH.DCBJEBFKPKF(); dcbjebfkpkf.EMLIIAMBDJA = this; if (NNOPJFIPCLO == null) { JOINLHEALDL(false, "No persisted Room Data created."); yield break; } array = NNOPJFIPCLO.ToByteArray(); if (array == null || array.Length == 0) { JOINLHEALDL(false, "No room data to save."); yield break; } num = 0f; while (HNIFBBFIBBG.OINDBDDCICD == null) { if (num >= 10f) { JOINLHEALDL(false, "Timed out waiting for current session room id to become valid."); yield break; } num += Time.deltaTime; yield return null; } dcbjebfkpkf.FEENBKMGNHM = string.Empty; yield return base.StartCoroutine(HNIFBBFIBBG.OEOEHMBKFBP(array, DONBDBHJGJP, new HEMCJJJMLKI.JMICPMCJMJF(dcbjebfkpkf.OJKNBNGGBEC))); if (!string.IsNullOrEmpty(dcbjebfkpkf.FEENBKMGNHM)) { JOINLHEALDL(false, dcbjebfkpkf.FEENBKMGNHM); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x06017522 RID: 95522 RVA: 0x006879AC File Offset: 0x00685BAC private bool AFDDEFOAJOE(JENDPFGMLME LJPJGMJDIKB) { return LJPJGMJDIKB != null && (LJPJGMJDIKB.DHABAPACNIN != null || LJPJGMJDIKB.JFFOKKEADDA != null); } // Token: 0x06017523 RID: 95523 RVA: 0x006879D4 File Offset: 0x00685BD4 protected override void OnDestroy() { base.OnDestroy(); IHFKMIAHBFP.ENIGMACDFMJ -= new Action(this.OnMasterClientSwitched); } // Token: 0x06017524 RID: 95524 RVA: 0x006879F8 File Offset: 0x00685BF8 private void AILOFOCPEMP(string NOBAPCOKFIL) { this.NLHOMHODEKH.MEAINJPIECA(NOBAPCOKFIL); } // Token: 0x06017525 RID: 95525 RVA: 0x00687A08 File Offset: 0x00685C08 private GameObject NIOJIGFCBJO(JENDPFGMLME LJPJGMJDIKB, Guid JAGNIKELELP, Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, bool GENGJBCDOGB) { Guid guid = LJPJGMJDIKB.DHABAPACNIN.NAILJMCCJKN.KLNKHLCMIMD(); if (guid == Guid.Empty) { global::UnityEngine.Debug.LogErrorFormat("Failed to spawn instance with ID {0} that has an empty prefab ID.", new object[] { JAGNIKELELP }); return null; } Tool tool = NetworkedSingletonMonoBehaviour.NCKMBFBMBFM.MasterSpawnSandboxEquipment(guid, CIGPHKLAAOD, IJGPPOIJDKO); if (tool == null) { global::UnityEngine.Debug.LogErrorFormat("Failed to spawn instance of equipment with ID {0} and prefab ID {1}", new object[] { JAGNIKELELP, guid }); return null; } GameObject gameObject = tool.gameObject; if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat("Spawning new instance of deserialized equipment {0} with ID {1}", new object[] { gameObject, JAGNIKELELP }); } return gameObject; } // Token: 0x06017526 RID: 95526 RVA: 0x00687ABC File Offset: 0x00685CBC public void PLNEAJGEGOP(Action NOBAPCOKFIL) { Action action = this.DEOKOGDFDLC; Action action2; do { action2 = action; action = Interlocked.CompareExchange(ref this.DEOKOGDFDLC, (Action)Delegate.Combine(action2, NOBAPCOKFIL), action); } while (action != action2); } // Token: 0x06017527 RID: 95527 RVA: 0x00687AF4 File Offset: 0x00685CF4 private void HMPEEIOEBKK(bool GENGJBCDOGB) { this.EBNFNKCKOKL(); this.AOMJICBPLLO = base.StartCoroutine(this.IDPGEIGDFKO(GENGJBCDOGB)); } // Token: 0x06017528 RID: 95528 RVA: 0x00687B10 File Offset: 0x00685D10 private IEnumerator JDCDBANHLJP(DIEJEGFOIBF NNOPJFIPCLO, bool GENGJBCDOGB, RoomPersistenceManager.CDBPIEBHLGP JOINLHEALDL) { if (!IHFKMIAHBFP.HCHIDMOLLAD) { JOINLHEALDL(false, "Only master client is allowed to deserialize room data."); yield break; } if (NNOPJFIPCLO == null) { JOINLHEALDL(false, "Room data is null."); yield break; } this.OLDPFLEBGBA(NNOPJFIPCLO, GENGJBCDOGB); yield return null; if (GENGJBCDOGB) { int num = NNOPJFIPCLO.ALCFGFGJCHI; global::UnityEngine.Debug.LogFormat("Deserializing room data version {0} with {1} persisted views.", new object[] { num, NNOPJFIPCLO.IHNIMBMNOPE.Count }); } enumerator = NNOPJFIPCLO.IHNIMBMNOPE.GetEnumerator(); try { while (enumerator.MoveNext()) { JENDPFGMLME jendpfgmlme = enumerator.Current; Guid guid = jendpfgmlme.PKJFPDJKJAH.KLNKHLCMIMD(); if (guid == Guid.Empty) { global::UnityEngine.Debug.LogErrorFormat("Data found with malformed or empty ID while deserializing room.", new object[0]); } else { PersistenceView persistenceView = null; if (!PersistenceView.AllViews.TryGetValue(guid, out persistenceView)) { Vector3 vector = jendpfgmlme.KOGMNNMACPG.GMOJLKHOBGG.ECHGEFCCABI(); Quaternion quaternion = Quaternion.Euler(jendpfgmlme.KOGMNNMACPG.HCDIECIBAKP.ECHGEFCCABI()); persistenceView = this.IDBLJNOCBEC(jendpfgmlme, guid, vector, quaternion, GENGJBCDOGB); } if (persistenceView == null) { if (GENGJBCDOGB) { global::UnityEngine.Debug.LogErrorFormat("Unable to create or locate Persistence View with guid {0}.", new object[] { guid }); } } else { if (!persistenceView.BHCCHBHNHCG) { persistenceView.OMNGGJICBBI.TransferOwnership(IHFKMIAHBFP.JEFGMHBLLKI); } persistenceView.gameObject.SetActive(true); persistenceView.Deserialize(jendpfgmlme); } } } } finally { if (enumerator != null) { enumerator.Dispose(); } } enumerator2 = PersistenceView.AllViews.Values.GetEnumerator(); try { while (enumerator2.MoveNext()) { PersistenceView persistenceView2 = enumerator2.Current; persistenceView2.NotifyDeserializationComplete(); } } finally { ((IDisposable)enumerator2).Dispose(); } JOINLHEALDL(true, null); yield break; } // Token: 0x0601752A RID: 95530 RVA: 0x00687B54 File Offset: 0x00685D54 public void RequestSaveRoomData() { if (this.HMFEPMPJGLE()) { base.OMNGGJICBBI.RPC("RpcMasterRequestSaveRoomData", IHCPDNLJMMD.MasterClient, new object[0]); } } // Token: 0x0601752B RID: 95531 RVA: 0x00687B78 File Offset: 0x00685D78 private void KDPENCEGHJD() { this.KDEJHEPKFMK(); } // Token: 0x0601752C RID: 95532 RVA: 0x00687B84 File Offset: 0x00685D84 private bool MIFJNJPJNOP() { return this.NIKLDPBCPHO != null; } // Token: 0x140000CC RID: 204 // (add) Token: 0x0601752D RID: 95533 RVA: 0x00687B94 File Offset: 0x00685D94 // (remove) Token: 0x06017543 RID: 95555 RVA: 0x00687F70 File Offset: 0x00686170 [field: DebuggerBrowsable(DebuggerBrowsableState.Never)] public event Action BJPKKMHPMKI; // Token: 0x0601752E RID: 95534 RVA: 0x00687BCC File Offset: 0x00685DCC private void OJKMMGLJFFB() { if (IHFKMIAHBFP.HCHIDMOLLAD && this.BABIFJDNLFC.ALEKFIMMFPH()) { this.FCEKOOFDJGM.BKBFIGCPIMI(2, 0); } } // Token: 0x0601752F RID: 95535 RVA: 0x00687BF8 File Offset: 0x00685DF8 private IEnumerator LMIJNNKPKJA(bool GENGJBCDOGB) { RoomPersistenceManager.PIBKEONKLPK.GJNBLIEFCAH gjnbliefcah = new RoomPersistenceManager.PIBKEONKLPK.GJNBLIEFCAH(); gjnbliefcah.AOHNJFNCJKD = this; gjnbliefcah.LLENADHIHDP = false; yield return base.StartCoroutine(this.IKKAPBDFIEM(GENGJBCDOGB, new RoomPersistenceManager.PEGADEADMOL(gjnbliefcah.OJKNBNGGBEC))); if (gjnbliefcah.LLENADHIHDP) { this.FCEKOOFDJGM.BKBFIGCPIMI(2); } else { this.FCEKOOFDJGM.BKBFIGCPIMI(1); } this.NIKLDPBCPHO = null; yield break; } // Token: 0x06017530 RID: 95536 RVA: 0x00687C1C File Offset: 0x00685E1C private void BKLLOKKBMMN(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.BABIFJDNLFC.PBDGDJIFMOK(Player.FCEGFOFFLJJ + 1494f); } } // Token: 0x06017531 RID: 95537 RVA: 0x00687C40 File Offset: 0x00685E40 private IEnumerator BHIEOCFFAEK(bool GENGJBCDOGB, RoomPersistenceManager.BMPMAAMNNPJ JOINLHEALDL) { mcpdfkaigen = new RoomPersistenceManager.EDGCHPHLBFA.MCPDFKAIGEN(); mcpdfkaigen.PNDHCMIJLFP = this; if (!IHFKMIAHBFP.HCHIDMOLLAD) { JOINLHEALDL(false, null, null, "Only the Master Client may save room data."); yield break; } mcpdfkaigen.NNOPJFIPCLO = new DIEJEGFOIBF(); mcpdfkaigen.NNOPJFIPCLO.ALCFGFGJCHI = 1; ehlbefkjlhj = PEDNLMAHGBP.KGKNIMECEKH; mcpdfkaigen.NNOPJFIPCLO.MNDEJIOKCJK = LMBEHMFIOEN.OOCOFDALHOG(ehlbefkjlhj.KAPOBAEMBKL, ehlbefkjlhj.OOAECNOOFID); mcpdfkaigen.NNOPJFIPCLO.BLMPACLLEPB = DateTime.UtcNow.ToTimestamp(); this.MEKJGLMJCGE.Clear(); mcpdfkaigen.MPLGGAAMDKL = global::UnityEngine.Object.FindObjectsOfType(); mcpdfkaigen.HHHBHKENMBJ = 0; for (int i = 0; i < mcpdfkaigen.MPLGGAAMDKL.Length; i++) { if (mcpdfkaigen.MPLGGAAMDKL[i].AADHHMOLEOL) { mcpdfkaigen.HHHBHKENMBJ++; base.StartCoroutine(mcpdfkaigen.MPLGGAAMDKL[i].PreSerialize(new Action(mcpdfkaigen.OJKNBNGGBEC))); } } realtimeSinceStartup = Time.realtimeSinceStartup; while (mcpdfkaigen.HHHBHKENMBJ > 0) { yield return null; } if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat("Preserialization complete in {0} seconds", new object[] { Time.realtimeSinceStartup - realtimeSinceStartup }); } num = 0; kmmcmjlhcna = new RoomPersistenceManager.EDGCHPHLBFA.KMMCMJLHCNA(); kmmcmjlhcna.PNDHCMIJLFP = this; kmmcmjlhcna.DOCPCEJLLAL = mcpdfkaigen; kmmcmjlhcna.CIMNKHDEFOH = 0; while (kmmcmjlhcna.CIMNKHDEFOH < mcpdfkaigen.MPLGGAAMDKL.Length) { if (mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].AADHHMOLEOL) { if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat(mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH], "Serializing PersistanceView {0}", new object[] { mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].gameObject }); } mcpdfkaigen.MPLGGAAMDKL[kmmcmjlhcna.CIMNKHDEFOH].Serialize(new PersistenceView.LJOBLBKHDAH(kmmcmjlhcna.OJKNBNGGBEC)); num++; if (num >= 10) { yield return null; num = 0; } } kmmcmjlhcna.CIMNKHDEFOH++; } list = new List(this.MEKJGLMJCGE); JOINLHEALDL(true, mcpdfkaigen.NNOPJFIPCLO, list, null); yield break; } // Token: 0x06017532 RID: 95538 RVA: 0x00687C6C File Offset: 0x00685E6C private IEnumerator HAIFFLOHKGC(bool GENGJBCDOGB) { joiakdadlbk = new RoomPersistenceManager.HPLJFNNMFLK.JOIAKDADLBK(); joiakdadlbk.KCBDIJPPCNF = this; joiakdadlbk.LLENADHIHDP = false; joiakdadlbk.OIFBPEJHDOD = null; yield return base.StartCoroutine(this.KAONDDNBHOO(GENGJBCDOGB, new RoomPersistenceManager.PEGADEADMOL(joiakdadlbk.OJKNBNGGBEC))); if (joiakdadlbk.LLENADHIHDP) { this.FCEKOOFDJGM.BKBFIGCPIMI(7); } else { this.HELCLDHMMOJ = joiakdadlbk.OIFBPEJHDOD; this.FCEKOOFDJGM.BKBFIGCPIMI(8); } this.KJCGGKEBBOP = null; yield break; } // Token: 0x06017533 RID: 95539 RVA: 0x00687C90 File Offset: 0x00685E90 private bool AOAMHAKFCIP() { return this.KJCGGKEBBOP == null; } // Token: 0x06017534 RID: 95540 RVA: 0x00687CA0 File Offset: 0x00685EA0 private bool HMFEPMPJGLE() { return this.FCEKOOFDJGM != null && this.FCEKOOFDJGM.BHMLLHLEAFF == 2; } // Token: 0x06017535 RID: 95541 RVA: 0x00687CC0 File Offset: 0x00685EC0 private IEnumerator KAONDDNBHOO(bool GENGJBCDOGB, RoomPersistenceManager.PEGADEADMOL JOINLHEALDL) { lnpcbgebnig = new RoomPersistenceManager.CFAHOAIIEGO.LNPCBGEBNIG(); lnpcbgebnig.NJPHDNAAJHF = this; lnpcbgebnig.NNOPJFIPCLO = null; lnpcbgebnig.CPKPDBJBPEL = false; lnpcbgebnig.IGKNKHHNJNI = null; yield return base.StartCoroutine(this.PIPDEKANCNB(GENGJBCDOGB, new RoomPersistenceManager.HADOPFJNNAO(lnpcbgebnig.OJKNBNGGBEC))); if (!lnpcbgebnig.CPKPDBJBPEL) { JOINLHEALDL(false, lnpcbgebnig.IGKNKHHNJNI); yield break; } if (lnpcbgebnig.NNOPJFIPCLO == null) { JOINLHEALDL(true, null); yield break; } lnpcbgebnig.APIPJOMAGJI = false; lnpcbgebnig.DKGPJBCMBNG = null; yield return base.StartCoroutine(this.CLPFGKALHGE(lnpcbgebnig.NNOPJFIPCLO, GENGJBCDOGB, new RoomPersistenceManager.CDBPIEBHLGP(lnpcbgebnig.JAFGLCBFOHM))); if (!lnpcbgebnig.APIPJOMAGJI) { JOINLHEALDL(false, lnpcbgebnig.DKGPJBCMBNG); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x06017536 RID: 95542 RVA: 0x00687CEC File Offset: 0x00685EEC private IEnumerator IHELFIFJGFM(DIEJEGFOIBF NNOPJFIPCLO, List DONBDBHJGJP, bool GENGJBCDOGB, RoomPersistenceManager.CNCJIGIGKME JOINLHEALDL) { dcbjebfkpkf = new RoomPersistenceManager.ACCJNJPBLCH.DCBJEBFKPKF(); dcbjebfkpkf.EMLIIAMBDJA = this; if (NNOPJFIPCLO == null) { JOINLHEALDL(false, "No persisted Room Data created."); yield break; } array = NNOPJFIPCLO.ToByteArray(); if (array == null || array.Length == 0) { JOINLHEALDL(false, "No room data to save."); yield break; } num = 0f; while (HNIFBBFIBBG.OINDBDDCICD == null) { if (num >= 10f) { JOINLHEALDL(false, "Timed out waiting for current session room id to become valid."); yield break; } num += Time.deltaTime; yield return null; } dcbjebfkpkf.FEENBKMGNHM = string.Empty; yield return base.StartCoroutine(HNIFBBFIBBG.OEOEHMBKFBP(array, DONBDBHJGJP, new HEMCJJJMLKI.JMICPMCJMJF(dcbjebfkpkf.OJKNBNGGBEC))); if (!string.IsNullOrEmpty(dcbjebfkpkf.FEENBKMGNHM)) { JOINLHEALDL(false, dcbjebfkpkf.FEENBKMGNHM); yield break; } JOINLHEALDL(true, null); yield break; } // Token: 0x06017537 RID: 95543 RVA: 0x00687D20 File Offset: 0x00685F20 private void KDJEJEEJLJJ() { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.FCEKOOFDJGM.BKBFIGCPIMI(2); } } // Token: 0x06017539 RID: 95545 RVA: 0x00687D70 File Offset: 0x00685F70 private IEnumerator MMCCAFMBLBP(bool GENGJBCDOGB) { gjnbliefcah = new RoomPersistenceManager.PIBKEONKLPK.GJNBLIEFCAH(); gjnbliefcah.AOHNJFNCJKD = this; gjnbliefcah.LLENADHIHDP = false; yield return base.StartCoroutine(this.IKKAPBDFIEM(GENGJBCDOGB, new RoomPersistenceManager.PEGADEADMOL(gjnbliefcah.OJKNBNGGBEC))); if (gjnbliefcah.LLENADHIHDP) { this.FCEKOOFDJGM.BKBFIGCPIMI(2); } else { this.FCEKOOFDJGM.BKBFIGCPIMI(1); } this.NIKLDPBCPHO = null; yield break; } // Token: 0x0601753A RID: 95546 RVA: 0x00687D94 File Offset: 0x00685F94 protected virtual void LFEBHHFENDK() { base.OnDestroy(); IHFKMIAHBFP.ENIGMACDFMJ -= new Action(this.PKMIODLNHHO); } // Token: 0x0601753B RID: 95547 RVA: 0x00687DB8 File Offset: 0x00685FB8 private void LAAEPEJLALK() { if (IHFKMIAHBFP.HCHIDMOLLAD) { this.FCEKOOFDJGM.BKBFIGCPIMI(2); } } // Token: 0x0601753C RID: 95548 RVA: 0x00687DD0 File Offset: 0x00685FD0 private void NCEHDOMIIFK(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { if (this.NBDCGEKLCDM != null) { this.NBDCGEKLCDM(this.HELCLDHMMOJ); } SingletonMonoBehaviour.NCKMBFBMBFM.Play(ScreenSpaceNotificationManager.DBNGPDFKLEK.Vital, "Room Saving Failed", 3f, null, false); NECCOFKHCAA.FLELJAKONEE(PEDNLMAHGBP.KGKNIMECEKH.ODIPLBJJBLB, false); } // Token: 0x0601753E RID: 95550 RVA: 0x00687E58 File Offset: 0x00686058 private void OEBIDNFIAKA(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { if (this.DEOKOGDFDLC != null) { this.DEOKOGDFDLC(); } SingletonMonoBehaviour.NCKMBFBMBFM.PAHKOCPEDMB(ScreenSpaceNotificationManager.DBNGPDFKLEK.Vital, "Start", 1541f, null, false); NECCOFKHCAA.FLELJAKONEE(PEDNLMAHGBP.NNAHPOJLAHM().ODIPLBJJBLB, true); } // Token: 0x0601753F RID: 95551 RVA: 0x00687E98 File Offset: 0x00686098 private bool PKGJCPJMABF() { return this.FCEKOOFDJGM != null && this.FCEKOOFDJGM.BHMLLHLEAFF == 2; } // Token: 0x06017540 RID: 95552 RVA: 0x00687EB8 File Offset: 0x006860B8 [BCENPNOIAOM] private void RpcMasterRequestSaveRoomData() { this.ANPBBPKHGBJ(); } // Token: 0x06017541 RID: 95553 RVA: 0x00687EC4 File Offset: 0x006860C4 private GameObject CDKPBNIHJOF(JENDPFGMLME LJPJGMJDIKB, Guid JAGNIKELELP, Vector3 CIGPHKLAAOD, Quaternion IJGPPOIJDKO, bool GENGJBCDOGB) { Extrusion extrusion = NetworkedSingletonMonoBehaviour.NCKMBFBMBFM.MasterSpawnExtrusion(CIGPHKLAAOD, IJGPPOIJDKO, 0); if (extrusion == null) { global::UnityEngine.Debug.LogErrorFormat("Failed to spawn extrusion instance with ID {0}", new object[] { JAGNIKELELP }); return null; } GameObject gameObject = extrusion.gameObject; if (GENGJBCDOGB) { global::UnityEngine.Debug.LogFormat("Spawning new extrusion instance with ID {0}", new object[] { JAGNIKELELP }); } return gameObject; } // Token: 0x06017542 RID: 95554 RVA: 0x00687F30 File Offset: 0x00686130 private void LKINCELIOGF(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { if (this.DEOKOGDFDLC != null) { this.DEOKOGDFDLC(); } SingletonMonoBehaviour.NCKMBFBMBFM.Play(ScreenSpaceNotificationManager.DBNGPDFKLEK.Vital, "Room Saved!", 3f, null, false); NECCOFKHCAA.FLELJAKONEE(PEDNLMAHGBP.KGKNIMECEKH.ODIPLBJJBLB, true); } // Token: 0x06017544 RID: 95556 RVA: 0x00687FA8 File Offset: 0x006861A8 private void BPNENDANHJC() { if (this.HKBDAJDBPFH()) { base.StopCoroutine(this.AOMJICBPLLO); this.AOMJICBPLLO = null; } } // Token: 0x06017545 RID: 95557 RVA: 0x00687FC8 File Offset: 0x006861C8 private void KFGBOLAJHNJ(ushort CHJBIHILBFO, ushort BNCBHHCPCLE) { if (this.BJPKKMHPMKI != null) { this.BJPKKMHPMKI(); } SingletonMonoBehaviour.NCKMBFBMBFM.Play(ScreenSpaceNotificationManager.DBNGPDFKLEK.Vital, "Room Restored!", 3f, null, false); NECCOFKHCAA.GILMEMNHBJC(PEDNLMAHGBP.KGKNIMECEKH.ODIPLBJJBLB, true); } // Token: 0x06017546 RID: 95558 RVA: 0x00688008 File Offset: 0x00686208 private void KMEEIPGNKEH(bool GENGJBCDOGB) { this.EBNFNKCKOKL(); this.AOMJICBPLLO = base.StartCoroutine(this.IDPGEIGDFKO(GENGJBCDOGB)); } // Token: 0x06017547 RID: 95559 RVA: 0x00688024 File Offset: 0x00686224 private void JPNAFHBKFIA() { if (IHFKMIAHBFP.HCHIDMOLLAD && !this.MIFJNJPJNOP()) { bool flag = false; this.LFLCHIGHIIA(flag); } } // Token: 0x04004137 RID: 16695 private const int POKBCHGNBCN = 1; // Token: 0x04004138 RID: 16696 private const int ENKKGNEFHKI = 10; // Token: 0x04004139 RID: 16697 private const int HLAIIPPKGGI = 10; // Token: 0x0400413A RID: 16698 private const float NELJCGAPCCN = 0.25f; // Token: 0x0400413B RID: 16699 private const float FLJCCELDHEP = 10f; // Token: 0x04004140 RID: 16704 private PNONBEAIBHA FCEKOOFDJGM; // Token: 0x04004141 RID: 16705 private AONMNAEOJAL BABIFJDNLFC; // Token: 0x04004142 RID: 16706 private LHLLJPPCDKA NLHOMHODEKH; // Token: 0x04004143 RID: 16707 private Coroutine NIKLDPBCPHO; // Token: 0x04004144 RID: 16708 private Coroutine AOMJICBPLLO; // Token: 0x04004145 RID: 16709 private Coroutine KJCGGKEBBOP; // Token: 0x04004146 RID: 16710 private List MEKJGLMJCGE = new List(); // Token: 0x02000BE1 RID: 3041 // (Invoke) Token: 0x06017549 RID: 95561 public delegate void PEGADEADMOL(bool LOJMICCBPII, string OIFBPEJHDOD); // Token: 0x02000BE2 RID: 3042 // (Invoke) Token: 0x0601754D RID: 95565 private delegate void OAPOBCDABGG(bool LOJMICCBPII, global::RecNet.PLOPPLAOICD HJPIBHDNGOC, string OIFBPEJHDOD); // Token: 0x02000BE3 RID: 3043 // (Invoke) Token: 0x06017551 RID: 95569 private delegate void BMPMAAMNNPJ(bool LOJMICCBPII, DIEJEGFOIBF HFDMAMAGILP, List GEDACPBKDIG, string OIFBPEJHDOD); // Token: 0x02000BE4 RID: 3044 // (Invoke) Token: 0x06017555 RID: 95573 private delegate void CNCJIGIGKME(bool LOJMICCBPII, string OIFBPEJHDOD); // Token: 0x02000BE5 RID: 3045 // (Invoke) Token: 0x06017559 RID: 95577 private delegate void HADOPFJNNAO(bool LOJMICCBPII, DIEJEGFOIBF GFHBJBPJCLF, string OIFBPEJHDOD); // Token: 0x02000BE6 RID: 3046 // (Invoke) Token: 0x0601755D RID: 95581 private delegate void CDBPIEBHLGP(bool LOJMICCBPII, string OIFBPEJHDOD); // Token: 0x02000BE7 RID: 3047 private enum JECCIECOEID { // Token: 0x04004148 RID: 16712 INITIAL_LOADING, // Token: 0x04004149 RID: 16713 INITIAL_LOAD_FAILURE, // Token: 0x0400414A RID: 16714 IDLE, // Token: 0x0400414B RID: 16715 SAVING, // Token: 0x0400414C RID: 16716 SAVING_SUCCESS, // Token: 0x0400414D RID: 16717 SAVING_FAILURE, // Token: 0x0400414E RID: 16718 RELOADING, // Token: 0x0400414F RID: 16719 RELOADING_SUCCESS, // Token: 0x04004150 RID: 16720 RELOADING_FAILURE } // Token: 0x02000BE8 RID: 3048 private enum AKFAIMAIKGA { // Token: 0x04004152 RID: 16722 WAIT_FOR_PLAYER_DESPAWN, // Token: 0x04004153 RID: 16723 RELOAD_ROOM } } }