private void OnGetBack2Spawner() { step = STEP.CHANGED; count = 0; deltaTime = 0f; SpawnerDesc spawner = BrickManager.Instance.GetSpawner(MyInfoManager.Instance.GetRoundingSpawnerType(), MyInfoManager.Instance.Ticket); if (spawner != null) { VerifyLocalController(); if (clockbombkill) { if (equipcoord != null) { equipcoord.DeleteClcokBomb(); } clockbombkill = false; } GlobalVars.Instance.DropedWeaponAllClear(); PaletteManager.Instance.Switch(on: false); if (localController != null) { localController.Respawn(spawner.position, Rot.ToQuaternion(spawner.rotation)); } VoiceManager.Instance.Play("Ingame_Ready_combo_1"); } }
public void OnCaptured() { if (BrickManager.Instance.userMap != null) { SpawnerDesc spawnerDesc = (!IsRedTeam(BrickManManager.Instance.haveFlagSeq)) ? BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.RED_FLAG_SPAWNER, 0) : BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.BLUE_FLAG_SPAWNER, 0); FlagObj.transform.position = new Vector3(spawnerDesc.position.x, spawnerDesc.position.y - 0.3f, spawnerDesc.position.z); BrickManManager.Instance.vFlag = FlagObj.transform.position; timerWaitNextBattle = 0f; UnityEngine.Object.Instantiate((UnityEngine.Object)effSetFlag, FlagObj.transform.position, Quaternion.Euler(0f, 0f, 0f)); if (IsOurTeam(BrickManManager.Instance.haveFlagSeq)) { GetComponent <AudioSource>().PlayOneShot(sndFlagCapture); PlaySoundDelay("Flag_win_3", 2f); statusMessage = StringMgr.Instance.Get("OUR_SET_FLAG"); } else { GetComponent <AudioSource>().PlayOneShot(sndFlagFail); PlaySoundDelay("Flag_lose_3", 2f); statusMessage = StringMgr.Instance.Get("ENEMY_SET_FLAG"); } localController.checkResetFlag = false; statusDelta = 0f; } }
private void CreateAwardees() { BrickManManager.Instance.ClearBrickManEtc(); Brick.SPAWNER_TYPE sPAWNER_TYPE = Brick.SPAWNER_TYPE.RED_TEAM_SPAWNER; Brick.SPAWNER_TYPE sPAWNER_TYPE2 = Brick.SPAWNER_TYPE.BLUE_TEAM_SPAWNER; int num = 0; for (int i = 0; i < RoomManager.Instance.RU.Length; i++) { BrickManDesc brickManDesc = BrickManManager.Instance.GetDesc(RoomManager.Instance.RU[i].seq); if (brickManDesc == null && RoomManager.Instance.RU[i].seq == MyInfoManager.Instance.Seq) { brickManDesc = new BrickManDesc(MyInfoManager.Instance.Seq, MyInfoManager.Instance.Nickname, MyInfoManager.Instance.GetUsings(), 0, MyInfoManager.Instance.Xp, MyInfoManager.Instance.ClanSeq, MyInfoManager.Instance.ClanName, MyInfoManager.Instance.ClanMark, MyInfoManager.Instance.Rank, null, null); } if (brickManDesc != null) { GameObject gameObject = BrickManManager.Instance.AddBrickMan(brickManDesc); if (null != gameObject) { SpawnerDesc awardSpawner4TeamMatch = BrickManager.Instance.GetAwardSpawner4TeamMatch((num >= 8) ? sPAWNER_TYPE2 : sPAWNER_TYPE, num++); if (awardSpawner4TeamMatch != null) { gameObject.transform.position = new Vector3(awardSpawner4TeamMatch.position.x, awardSpawner4TeamMatch.position.y - 0.5f, awardSpawner4TeamMatch.position.z); gameObject.transform.rotation = Rot.ToQuaternion(awardSpawner4TeamMatch.rotation); } } } } }
private void Update() { bool flag = false; Connecting component = GetComponent <Connecting>(); if (null != component) { flag = component.Show; } Screen.lockCursor = (!Application.isLoadingLevel && !battleChat.IsChatting && !DialogManager.Instance.IsModal && !flag); if (delayLoad) { deltaTime += Time.deltaTime; if (deltaTime > 1f) { delayLoad = false; StartLoad(); } } else if (!Application.isLoadingLevel) { if (!battleChat.IsChatting && BrickManager.Instance.IsLoaded && custom_inputs.Instance.GetButtonDown("K_MAIN_MENU") && !DialogManager.Instance.IsPopup(DialogManager.DIALOG_INDEX.MENU_EX) && GlobalVars.Instance.IsMenuExOpenOk()) { ((MenuEx)DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.MENU_EX, exclusive: true))?.InitDialog(); if (MyInfoManager.Instance.Seq == RoomManager.Instance.Master) { BrickManDesc[] array = BrickManManager.Instance.ToDescriptorArrayWhoTookTooLongToWait(); if (array != null && array.Length > 0) { DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.KICK, exclusive: false); } } } if (custom_inputs.Instance.GetButtonDown("K_HELP") && !DialogManager.Instance.IsModal && GlobalVars.Instance.IsMenuExOpenOk() && !battleChat.IsChatting) { DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.HELPWINDOW, exclusive: true); } GlobalVars.Instance.UpdateFlashbang(); if (isGoalRespawn) { goalRespawnTime += Time.deltaTime; if (goalRespawnTime > 5f) { isGoalRespawn = false; EscapeGoalTrigger.GoalSendReset(); SpawnerDesc spawner = BrickManager.Instance.GetSpawner(Brick.SPAWNER_TYPE.SINGLE_SPAWNER, MyInfoManager.Instance.Ticket); if (spawner != null) { localController.Spawn(spawner.position, Rot.ToQuaternion(spawner.rotation)); } } } } }
private void OnGetBack2Spawner() { BrickManManager.Instance.InitFlagVars(); if (BrickManager.Instance.userMap != null) { SpawnerDesc spawner = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.FLAG_SPAWNER, 0); if (spawner != null && FlagObj != null) { FlagObj.transform.position = new Vector3(spawner.position.x, spawner.position.y - 0.3f, spawner.position.z); BrickManManager.Instance.vFlag = FlagObj.transform.position; } } }
private void OnReturnBack() { if (BrickManager.Instance.userMap != null) { SpawnerDesc spawner = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.FLAG_SPAWNER, 0); FlagObj.transform.position = new Vector3(spawner.position.x, spawner.position.y - 0.3f, spawner.position.z); BrickManManager.Instance.vFlag = FlagObj.transform.position; if (MyInfoManager.Instance.Seq == RoomManager.Instance.Master) { localController.checkResetFlag = false; } } }
private void OnLoadComplete() { TrainManager.Instance.Load(); BrickManManager.Instance.InitFlagVars(); SpawnerDesc spawner = BrickManager.Instance.GetSpawner(MyInfoManager.Instance.GetTeamSpawnerType(), MyInfoManager.Instance.Ticket); if (spawner != null) { localController.Spawn(spawner.position, Rot.ToQuaternion(spawner.rotation)); } else { localController.Spawn(BrickManager.Instance.GetRandomSpawnPos(), Rot.ToQuaternion((byte)UnityEngine.Random.Range(0, 4))); } if (!MyInfoManager.Instance.GetCommonMask(MyInfoManager.COMMON_OPT.DONOT_FLAG_GUIDE)) { FLAGGuideDialog fLAGGuideDialog = (FLAGGuideDialog)DialogManager.Instance.GetDialogAlways(DialogManager.DIALOG_INDEX.FLAG_GUIDE); if (fLAGGuideDialog != null && !fLAGGuideDialog.DontShowThisMessageAgain) { ((FLAGGuideDialog)DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.FLAG_GUIDE, exclusive: false))?.InitDialog(); } } SpawnerDesc spawner2 = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.FLAG_SPAWNER, 0); FlagObj.transform.position = new Vector3(spawner2.position.x, spawner2.position.y - 0.3f, spawner2.position.z); BrickManManager.Instance.vFlag = FlagObj.transform.position; rbPlanes[2].transform.position = spawner2.position; spawner2 = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.RED_FLAG_SPAWNER, 0); rbPlanes[0].transform.position = spawner2.position; spawner2 = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.BLUE_FLAG_SPAWNER, 0); rbPlanes[1].transform.position = spawner2.position; GameObject brickObjectByPos = BrickManager.Instance.GetBrickObjectByPos(FlagObj.transform.position); if (null != brickObjectByPos) { BrickProperty component = brickObjectByPos.GetComponent <BrickProperty>(); if (null == component) { Debug.LogError("<FlagObj> get BrickProperty failed.."); return; } captureTheFlag = component.Seq; } bLoaded = true; }
private void InitializeFirstPerson() { int[] usables = new int[1] { 4 }; GameObject gameObject = GameObject.Find("Me"); if (null == gameObject) { Debug.LogError("Fail to find Me"); } else { EquipCoordinator component = gameObject.GetComponent <EquipCoordinator>(); if (null == component) { Debug.LogError("Fail to get EquipCoordinator component for Me"); } else { component.Initialize(usables); } localController = gameObject.GetComponent <LocalController>(); if (null == localController) { Debug.LogError("Fail to get LocalController component for Me"); } else { SpawnerDesc spawner = BrickManager.Instance.GetSpawner(Brick.SPAWNER_TYPE.SINGLE_SPAWNER, 0); if (spawner != null) { localController.Spawn(spawner.position, Rot.ToQuaternion(spawner.rotation)); } else { localController.Spawn(BrickManager.Instance.GetRandomSpawnPos(), Rot.ToQuaternion((byte)Random.Range(0, 4))); } } } }
private void DoSpawn(SpawnerDesc spawner) { if (null != localController) { if (changedRespawnTime) { respawnTimeSecure.Init(resTime); changedRespawnTime = false; } respawnTimeSecure.Reset(); if (spawner != null) { localController.Spawn(spawner.position, Rot.ToQuaternion(spawner.rotation)); } else { localController.Spawn(BrickManager.Instance.GetRandomSpawnPos(), Rot.ToQuaternion((byte)Random.Range(0, 4))); } } }
private void OnDroped() { if (BrickManManager.Instance.haveFlagSeq == -1) { SpawnerDesc spawner = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.FLAG_SPAWNER, 0); if (spawner != null && FlagObj != null) { FlagObj.transform.position = new Vector3(spawner.position.x, spawner.position.y - 0.3f, spawner.position.z); BrickManManager.Instance.vFlag = FlagObj.transform.position; } } else if (BrickManManager.Instance.haveFlagSeq == -2) { FlagObj.transform.position = BrickManManager.Instance.vFlag; } if (MyInfoManager.Instance.Seq == RoomManager.Instance.Master) { localController.checkResetFlag = true; localController.dtResetFlag = 0f; } }
private void OnLoadComplete() { TrainManager.Instance.Load(); SpawnerDesc spawner = BrickManager.Instance.GetSpawner(Brick.SPAWNER_TYPE.SINGLE_SPAWNER, MyInfoManager.Instance.Ticket); if (spawner != null) { localController.Spawn(spawner.position, Rot.ToQuaternion(spawner.rotation)); } else { localController.Spawn(BrickManager.Instance.GetRandomSpawnPos(), Rot.ToQuaternion((byte)UnityEngine.Random.Range(0, 4))); } if (!MyInfoManager.Instance.GetCommonMask(MyInfoManager.COMMON_OPT.DONOT_BATTLE_GUIDE)) { BattleGuideDialog battleGuideDialog = (BattleGuideDialog)DialogManager.Instance.GetDialogAlways(DialogManager.DIALOG_INDEX.BATTLE_GUIDE); if (battleGuideDialog != null && !battleGuideDialog.DontShowThisMessageAgain) { ((BattleGuideDialog)DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.BATTLE_GUIDE, exclusive: false))?.InitDialog(); } } }
private void OnLoadComplete() { TrainManager.Instance.Load(); if (MyInfoManager.Instance.BreakingInto) { GameObject gameObject = GameObject.Find("Main"); if (null != gameObject) { string text = StringMgr.Instance.Get("WATCHING_USER_CHANGE"); gameObject.BroadcastMessage("OnChat", new ChatText(ChatText.CHAT_TYPE.SYSTEM, -1, string.Empty, text)); } GlobalVars.Instance.senseBombInit(); MyInfoManager.Instance.ControlMode = MyInfoManager.CONTROL_MODE.PLAYING_SPECTATOR; localController.ResetGravity(); GlobalVars.Instance.battleStarting = false; CSNetManager.Instance.Sock.SendCS_ZOMBIE_OBSERVER_REQ(); } else { SpawnerDesc spawner = BrickManager.Instance.GetSpawner(Brick.SPAWNER_TYPE.SINGLE_SPAWNER, MyInfoManager.Instance.Ticket); if (spawner != null) { localController.Spawn(spawner.position, Rot.ToQuaternion(spawner.rotation)); } else { localController.Spawn(BrickManager.Instance.GetRandomSpawnPos(), Rot.ToQuaternion((byte)UnityEngine.Random.Range(0, 4))); } } if (!MyInfoManager.Instance.GetCommonMask(MyInfoManager.COMMON_OPT.DONOT_ZOMBIE_GUIDE)) { ZombieGuideDialog zombieGuideDialog = (ZombieGuideDialog)DialogManager.Instance.GetDialogAlways(DialogManager.DIALOG_INDEX.ZOMBIE_GUIDE); if (zombieGuideDialog != null && !zombieGuideDialog.DontShowThisMessageAgain) { ((ZombieGuideDialog)DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.ZOMBIE_GUIDE, exclusive: false))?.InitDialog(); } } }
private void OnLoadComplete() { TrainManager.Instance.Load(); SpawnerDesc spawner = BrickManager.Instance.GetSpawner((MyInfoManager.Instance.Slot < 4) ? Brick.SPAWNER_TYPE.RED_TEAM_SPAWNER : Brick.SPAWNER_TYPE.BLUE_TEAM_SPAWNER, MyInfoManager.Instance.Ticket); if (spawner != null) { localController.Spawn(spawner.position, Rot.ToQuaternion(spawner.rotation)); } else { Debug.LogError("Fail to get spawner "); localController.Spawn(BrickManager.Instance.GetRandomSpawnPos(), Rot.ToQuaternion((byte)UnityEngine.Random.Range(0, 4))); } if (!MyInfoManager.Instance.GetCommonMask(MyInfoManager.COMMON_OPT.DONOT_DEFENSE_GUIDE)) { DefenseGuideDialog defenseGuideDialog = (DefenseGuideDialog)DialogManager.Instance.GetDialogAlways(DialogManager.DIALOG_INDEX.DEFENSE_GUIDE); if (defenseGuideDialog != null && !defenseGuideDialog.DontShowThisMessageAgain) { ((DefenseGuideDialog)DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.DEFENSE_GUIDE, exclusive: false))?.InitDialog(); } } bLoaded = true; }
private void CreateAwardees() { BrickManManager.Instance.ClearBrickManEtc(); Brick.SPAWNER_TYPE spawnerType = Brick.SPAWNER_TYPE.BLUE_TEAM_SPAWNER; Brick.SPAWNER_TYPE spawnerType2 = Brick.SPAWNER_TYPE.RED_TEAM_SPAWNER; if (cvtEndCode == 1) { spawnerType = Brick.SPAWNER_TYPE.RED_TEAM_SPAWNER; spawnerType2 = Brick.SPAWNER_TYPE.BLUE_TEAM_SPAWNER; } int num = 0; for (int i = 0; i < RoomManager.Instance.RU.Length; i++) { if (!RoomManager.Instance.RU[i].red) { BrickManDesc brickManDesc = BrickManManager.Instance.GetDesc(RoomManager.Instance.RU[i].seq); if (brickManDesc == null && RoomManager.Instance.RU[i].seq == MyInfoManager.Instance.Seq) { brickManDesc = new BrickManDesc(MyInfoManager.Instance.Seq, MyInfoManager.Instance.Nickname, MyInfoManager.Instance.GetUsings(), 0, MyInfoManager.Instance.Xp, MyInfoManager.Instance.ClanSeq, MyInfoManager.Instance.ClanName, MyInfoManager.Instance.ClanMark, MyInfoManager.Instance.Rank, null, null); } if (brickManDesc != null) { GameObject gameObject = BrickManManager.Instance.AddBrickMan(brickManDesc); if (null != gameObject) { SpawnerDesc awardSpawner4TeamMatch = BrickManager.Instance.GetAwardSpawner4TeamMatch(spawnerType, num++); if (awardSpawner4TeamMatch != null) { gameObject.transform.position = new Vector3(awardSpawner4TeamMatch.position.x, awardSpawner4TeamMatch.position.y - 0.5f, awardSpawner4TeamMatch.position.z); gameObject.transform.rotation = Rot.ToQuaternion(awardSpawner4TeamMatch.rotation); } } } } } num = 0; for (int j = 0; j < RoomManager.Instance.RU.Length; j++) { if (RoomManager.Instance.RU[j].red) { BrickManDesc brickManDesc2 = BrickManManager.Instance.GetDesc(RoomManager.Instance.RU[j].seq); if (brickManDesc2 == null && RoomManager.Instance.RU[j].seq == MyInfoManager.Instance.Seq) { brickManDesc2 = new BrickManDesc(MyInfoManager.Instance.Seq, MyInfoManager.Instance.Nickname, MyInfoManager.Instance.GetUsings(), 0, MyInfoManager.Instance.Xp, MyInfoManager.Instance.ClanSeq, MyInfoManager.Instance.ClanName, MyInfoManager.Instance.ClanMark, MyInfoManager.Instance.Rank, null, null); } if (brickManDesc2 != null) { GameObject gameObject2 = BrickManManager.Instance.AddBrickMan(brickManDesc2); if (null != gameObject2) { SpawnerDesc awardSpawner4TeamMatch2 = BrickManager.Instance.GetAwardSpawner4TeamMatch(spawnerType2, num++); if (awardSpawner4TeamMatch2 != null) { gameObject2.transform.position = new Vector3(awardSpawner4TeamMatch2.position.x, awardSpawner4TeamMatch2.position.y - 0.5f, awardSpawner4TeamMatch2.position.z); gameObject2.transform.rotation = Rot.ToQuaternion(awardSpawner4TeamMatch2.rotation); } } } } } }
public GameObject AddMon(MonDesc desc) { SpawnerDesc spawner = BrickManager.Instance.GetSpawner(Brick.SPAWNER_TYPE.DEFENCE_SPAWNER, 0); if (spawner == null) { return(null); } Vector3 position = spawner.position; GameObject gameObject = null; if (desc.tblID == 0) { gameObject = (Object.Instantiate((Object)bee01, position, Quaternion.Euler(0f, 0f, 0f)) as GameObject); } else if (desc.tblID == 1) { gameObject = (Object.Instantiate((Object)bee02, position, Quaternion.Euler(0f, 0f, 0f)) as GameObject); } else if (desc.tblID == 2) { gameObject = (Object.Instantiate((Object)intruder01, position, Quaternion.Euler(0f, 0f, 0f)) as GameObject); } else if (desc.tblID == 3) { gameObject = (Object.Instantiate((Object)bomber01, position, Quaternion.Euler(0f, 0f, 0f)) as GameObject); } else if (desc.tblID == 4) { gameObject = (Object.Instantiate((Object)champ01, position, Quaternion.Euler(0f, 0f, 0f)) as GameObject); } if (null == gameObject) { Debug.LogError("Fail to instantiate a monster: " + desc.tblID); return(null); } MonProperty component = gameObject.GetComponent <MonProperty>(); if (null == component) { Object.DestroyImmediate(gameObject); Debug.LogError("New monster doesnt have MonProperty: " + desc.tblID); return(null); } component.Desc = desc; component.Desc.coreToDmg = DefenseManager.Instance.GetMonTable(desc.tblID).toCoreDmg; component.Desc.InitLog(); component.InvisiblePosition = position; MonAI aIClass = Instance.GetAIClass(gameObject, desc.tblID); if (null == aIClass) { Object.DestroyImmediate(gameObject); Debug.LogError("New monster doesnt have monAI: " + desc.tblID); return(null); } aIClass.StartPosition = position; aIClass.moveSpeed = DefenseManager.Instance.GetMonTable(desc.typeID).MoveSpeed; aIClass.MonType = (MonAI.MON_TYPE)desc.typeID; dicMon.Add(desc.Seq, gameObject); aIClass.changeTexture(); if (MyInfoManager.Instance.Seq == RoomManager.Instance.Master) { P2PManager instance = P2PManager.Instance; int tblID = desc.tblID; int typeID = desc.typeID; int seq = desc.Seq; float x = position.x; float y = position.y; float z = position.z; Vector3 forward = gameObject.transform.forward; float x2 = forward.x; Vector3 forward2 = gameObject.transform.forward; float y2 = forward2.y; Vector3 forward3 = gameObject.transform.forward; instance.SendPEER_MON_GEN(tblID, typeID, seq, x, y, z, x2, y2, forward3.z); } return(gameObject); }
private void OnGUI() { if (MyInfoManager.Instance.isGuiOn && isVisible) { GUI.skin = GUISkinFinder.Instance.GetGUISkin(); GUI.depth = (int)guiDepth; GUI.enabled = !DialogManager.Instance.IsModal; GUI.BeginGroup(new Rect(0f, 0f, (float)bkgnd.width, (float)bkgnd.height)); TextureUtil.DrawTexture(new Rect(0f, 0f, (float)bkgnd.width, (float)bkgnd.height), bkgnd); if (null != cameraController) { Vector2 center = new Vector2((float)(bkgnd.width / 2), (float)(bkgnd.height / 2)); Vector3 position = cameraController.transform.position; Vector3 toDirection = cameraController.transform.TransformDirection(Vector3.forward); toDirection.y = 0f; toDirection = toDirection.normalized; Quaternion rotation = Quaternion.FromToRotation(Vector3.forward, toDirection); GameObject[] array = BrickManManager.Instance.ToGameObjectArray(); for (int i = 0; i < array.Length; i++) { TPController component = array[i].GetComponent <TPController>(); PlayerProperty component2 = array[i].GetComponent <PlayerProperty>(); if (null != component2 && null != component && !component2.IsHostile() && component2.Desc.Status == 4 && !component2.Desc.IsHidePlayer) { Vector3 vector = Quaternion.Inverse(rotation) * (component2.transform.position - position); Vector2 a = new Vector2(vector.x, vector.z); Vector2 vector2 = hudRadius / radarRadius * a; vector2.y = -1f * vector2.y; if (Vector2.Distance(vector2, Vector2.zero) > hudRadius) { vector2 = hudRadius * vector2.normalized; } if (dicRadioSenders.ContainsKey(component2.Desc.Seq)) { float signalStrength = dicRadioSenders[component2.Desc.Seq].GetSignalStrength(); if (signalStrength > 0f) { DrawSignal(center, vector2, signalStrength); } } DrawPin(component.IsDead, center, vector2); } } Trigger[] enabledScriptables = BrickManager.Instance.GetEnabledScriptables(); for (int j = 0; j < enabledScriptables.Length; j++) { Vector3 vector3 = Quaternion.Inverse(rotation) * (enabledScriptables[j].transform.position - position); Vector2 a2 = new Vector2(vector3.x, vector3.z); Vector2 vector4 = hudRadius / radarRadius * a2; vector4.y = -1f * vector4.y; if (Vector2.Distance(vector4, Vector2.zero) > hudRadius) { vector4 = hudRadius * vector4.normalized; } DrawPin(isDead: false, center, vector4); } if (RoomManager.Instance.CurrentRoomType == Room.ROOM_TYPE.CAPTURE_THE_FLAG && BrickManager.Instance.userMap != null) { SpawnerDesc spawner = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.RED_FLAG_SPAWNER, 0); if (spawner != null) { Vector3 vector5 = Quaternion.Inverse(rotation) * (spawner.position - position); Vector2 a3 = new Vector2(vector5.x, vector5.z); Vector2 vector6 = hudRadius / radarRadius * a3; vector6.y = -1f * vector6.y; if (Vector2.Distance(vector6, Vector2.zero) > hudRadius) { vector6 = hudRadius * vector6.normalized; } DrawFlagR(isDead: false, center, vector6); } spawner = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.BLUE_FLAG_SPAWNER, 0); if (spawner != null) { Vector3 vector7 = Quaternion.Inverse(rotation) * (spawner.position - position); Vector2 a4 = new Vector2(vector7.x, vector7.z); Vector2 vector8 = hudRadius / radarRadius * a4; vector8.y = -1f * vector8.y; if (Vector2.Distance(vector8, Vector2.zero) > hudRadius) { vector8 = hudRadius * vector8.normalized; } DrawFlagB(isDead: false, center, vector8); } if (BrickManManager.Instance.haveFlagSeq < 0) { Vector3 vector9 = Quaternion.Inverse(rotation) * (BrickManManager.Instance.vFlag - position); Vector2 a5 = new Vector2(vector9.x, vector9.z); Vector2 vector10 = hudRadius / radarRadius * a5; vector10.y = -1f * vector10.y; if (Vector2.Distance(vector10, Vector2.zero) > hudRadius) { vector10 = hudRadius * vector10.normalized; } DrawFlag(isDead: false, center, vector10); } } if (RoomManager.Instance.CurrentRoomType == Room.ROOM_TYPE.EXPLOSION) { for (int k = 0; k < 2; k++) { if (BrickManager.Instance.userMap != null) { SpawnerDesc spawner2 = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.BOMB_SPAWNER, k); if (spawner2 != null) { Vector3 vector11 = Quaternion.Inverse(rotation) * (spawner2.position - position); Vector2 a6 = new Vector2(vector11.x, vector11.z); Vector2 vector12 = hudRadius / radarRadius * a6; vector12.y = -1f * vector12.y; if (Vector2.Distance(vector12, Vector2.zero) > hudRadius) { vector12 = hudRadius * vector12.normalized; } DrawBomb(blastTarget[k], center, vector12); } } } } if (heartBeatTime < heartBeatMax && showHeartBeat) { GameObject[] array2 = BrickManManager.Instance.ToGameObjectArray(); for (int l = 0; l < array2.Length; l++) { TPController component3 = array2[l].GetComponent <TPController>(); PlayerProperty component4 = array2[l].GetComponent <PlayerProperty>(); if (null != component4 && null != component3 && component4.IsHostile() && !component3.IsDead && component4.Desc.Status == 4 && !component4.Desc.IsHidePlayer) { Vector3 vector13 = Quaternion.Inverse(rotation) * (component4.transform.position - position); Vector2 a7 = new Vector2(vector13.x, vector13.z); Vector2 vector14 = hudRadius / radarRadius * a7; vector14.y = -1f * vector14.y; if (Vector2.Distance(vector14, Vector2.zero) > hudRadius) { vector14 = hudRadius * vector14.normalized; } DrawEnemy(center, vector14); } } } } DrawConcentric(); GUI.EndGroup(); GUI.enabled = true; } }
private void OnLoadComplete() { TrainManager.Instance.Load(); for (int i = 0; i < 2; i++) { SpawnerDesc spawner = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.BOMB_SPAWNER, i); if (spawner == null) { Debug.LogError("Fail to find BOMB SPAWNER from the geometry "); } else { GameObject brickObjectByPos = BrickManager.Instance.GetBrickObjectByPos(spawner.position); if (null != brickObjectByPos) { BrickProperty component = brickObjectByPos.GetComponent <BrickProperty>(); if (null == component) { Debug.LogError("<BombObj> get BrickProperty failed.."); } else { coreObjs[i].transform.position = spawner.position; coreObjs[i].transform.rotation = brickObjectByPos.transform.rotation; coreObjs[i].GetComponent <BlastTarget>().Spot = component.Seq; } } } } bool flag = false; if (MyInfoManager.Instance.BreakingInto && MyInfoManager.Instance.BlastModeDesc != null) { if (MyInfoManager.Instance.BlastModeDesc.rounding) { step = STEP.NOTHING; bombInstaller = -1; blastTarget = -1; flag = false; } else if (MyInfoManager.Instance.BlastModeDesc.bombInstaller < 0 || MyInfoManager.Instance.BlastModeDesc.blastTarget < 0) { step = STEP.NOTHING; bombInstaller = -1; blastTarget = -1; flag = true; } else { step = STEP.INSTALLED; bombInstaller = MyInfoManager.Instance.BlastModeDesc.bombInstaller; blastTarget = MyInfoManager.Instance.BlastModeDesc.blastTarget; clockBomb.Install(MyInfoManager.Instance.BlastModeDesc.point, MyInfoManager.Instance.BlastModeDesc.normal); flag = true; } MyInfoManager.Instance.BlastModeDesc = null; } if (flag) { GlobalVars.Instance.battleStarting = false; GlobalVars.Instance.senseBombInit(); GameObject gameObject = GameObject.Find("Main"); if (null != gameObject) { string text = StringMgr.Instance.Get("WATCHING_USER_CHANGE"); gameObject.BroadcastMessage("OnChat", new ChatText(ChatText.CHAT_TYPE.SYSTEM, -1, string.Empty, text)); } MyInfoManager.Instance.ControlMode = MyInfoManager.CONTROL_MODE.PLAYING_SPECTATOR; localController.ResetGravity(); } else { SpawnerDesc spawner2 = BrickManager.Instance.GetSpawner(MyInfoManager.Instance.GetTeamSpawnerType(), MyInfoManager.Instance.Ticket); if (spawner2 != null) { localController.Spawn(spawner2.position, Rot.ToQuaternion(spawner2.rotation)); } else { localController.Spawn(BrickManager.Instance.GetRandomSpawnPos(), Rot.ToQuaternion((byte)UnityEngine.Random.Range(0, 4))); } } if (bRedTeam) { if (!MyInfoManager.Instance.GetCommonMask(MyInfoManager.COMMON_OPT.DONOT_EXPLOSION_ATTACK_GUIDE)) { ExplosionAttackGuideDialog explosionAttackGuideDialog = (ExplosionAttackGuideDialog)DialogManager.Instance.GetDialogAlways(DialogManager.DIALOG_INDEX.EXPLOSION_ATTACK_GUIDE); if (explosionAttackGuideDialog != null && !explosionAttackGuideDialog.DontShowThisMessageAgain) { ((ExplosionAttackGuideDialog)DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.EXPLOSION_ATTACK_GUIDE, exclusive: false))?.InitDialog(); } } } else if (!MyInfoManager.Instance.GetCommonMask(MyInfoManager.COMMON_OPT.DONOT_EXPLOSION_DEFENCE_GUIDE)) { ExplosionDefenceGuideDialog explosionDefenceGuideDialog = (ExplosionDefenceGuideDialog)DialogManager.Instance.GetDialogAlways(DialogManager.DIALOG_INDEX.EXPLOSION_DEFENCE_GUIDE); if (explosionDefenceGuideDialog != null && !explosionDefenceGuideDialog.DontShowThisMessageAgain) { ((ExplosionDefenceGuideDialog)DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.EXPLOSION_DEFENCE_GUIDE, exclusive: false))?.InitDialog(); } } }
private void Update() { bool flag = false; Connecting component = GetComponent <Connecting>(); if (null != component) { flag = component.Show; } Screen.lockCursor = (!Application.isLoadingLevel && !battleChat.IsChatting && !DialogManager.Instance.IsModal && !flag); if (delayLoad) { deltaTime += Time.deltaTime; if (deltaTime > 1f) { delayLoad = false; StartLoad(); } } else if (!Application.isLoadingLevel) { if (statusMessage.Length > 0) { statusDelta += Time.deltaTime; if (statusDelta > statusMessageLimit) { statusDelta = 0f; statusMessage = string.Empty; } } if (!battleChat.IsChatting && BrickManager.Instance.IsLoaded && custom_inputs.Instance.GetButtonDown("K_MAIN_MENU") && !DialogManager.Instance.IsPopup(DialogManager.DIALOG_INDEX.MENU_EX) && GlobalVars.Instance.IsMenuExOpenOk()) { ((MenuEx)DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.MENU_EX, exclusive: true))?.InitDialog(); if (MyInfoManager.Instance.Seq == RoomManager.Instance.Master) { BrickManDesc[] array = BrickManManager.Instance.ToDescriptorArrayWhoTookTooLongToWait(); if (array != null && array.Length > 0) { DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.KICK, exclusive: false); } } } if (custom_inputs.Instance.GetButtonDown("K_HELP") && !DialogManager.Instance.IsModal && GlobalVars.Instance.IsMenuExOpenOk() && !battleChat.IsChatting) { DialogManager.Instance.Popup(DialogManager.DIALOG_INDEX.HELPWINDOW, exclusive: true); } GlobalVars.Instance.UpdateFlashbang(); } if (!bRounding && bLoaded) { VerifyLocalController(); if (localController.checkResetFlag) { localController.dtResetFlag += Time.deltaTime; if (localController.dtResetFlag > dtResetFlagmax && BrickManager.Instance.userMap != null) { SpawnerDesc spawner = BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.FLAG_SPAWNER, 0); Vector3 vector = new Vector3(spawner.position.x, spawner.position.y - 0.3f, spawner.position.z); CSNetManager.Instance.Sock.SendCS_CTF_FLAG_RETURN_REQ(vector.x, vector.y, vector.z); localController.checkResetFlag = false; } } if (strVoiceName.Length > 0) { deltaTimeDelaySound += Time.deltaTime; if (deltaTimeDelaySound > deltaTimeDelaySoundMax) { VoiceManager.Instance.Play(strVoiceName); strVoiceName = string.Empty; } } if (BrickManManager.Instance.bSendTcpCheckOnce) { deltaTimeTcp += Time.deltaTime; if (deltaTimeTcp > 1f) { BrickManManager.Instance.bSendTcpCheckOnce = false; } } if (!UpdateSuccessfulCaptureTheFlag()) { if (BrickManManager.Instance.haveFlagSeq >= 0) { if (BrickManManager.Instance.haveFlagSeq == MyInfoManager.Instance.Seq) { SpawnerDesc spawnerDesc = (MyInfoManager.Instance.Slot >= 8) ? BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.RED_FLAG_SPAWNER, 0) : BrickManager.Instance.userMap.GetSpawner(Brick.SPAWNER_TYPE.BLUE_FLAG_SPAWNER, 0); float num = Vector3.Distance(me.transform.position, spawnerDesc.position); int num2 = 0; if (IsRedTeam(MyInfoManager.Instance.Seq)) { num2 = 1; } Vector3 position = rbPlanes[num2].transform.position; float y = position.y; Vector3 position2 = me.transform.position; float num3 = y - position2.y; FlagObj.transform.position = new Vector3(0f, -10000f, 0f); if (!BrickManManager.Instance.bSendTcpCheckOnce && num3 < 0.7f && num < 3.2f) { CSNetManager.Instance.Sock.SendCS_CTF_CAPTURE_FLAG_REQ(captureTheFlag, opponent: true); BrickManManager.Instance.bSendTcpCheckOnce = true; deltaTimeTcp = 0f; } } else { GameObject gameObject = BrickManManager.Instance.Get(BrickManManager.Instance.haveFlagSeq); if ((bool)gameObject) { Transform[] componentsInChildren = gameObject.GetComponentsInChildren <Transform>(); int num4 = 0; while (true) { if (num4 >= componentsInChildren.Length) { return; } if (componentsInChildren[num4].name.Contains("dummy_water")) { break; } num4++; } FlagObj.transform.position = componentsInChildren[num4].position; FlagObj.transform.rotation = gameObject.transform.rotation; } } } else if (!localController.IsDead && !BrickManManager.Instance.bSendTcpCheckOnce) { float num5 = Vector3.Distance(me.transform.position, FlagObj.transform.position); Vector3 position3 = FlagObj.transform.position; float y2 = position3.y; Vector3 position4 = me.transform.position; float num6 = y2 - position4.y; if (num6 < 0.7f && num5 < 1.8f) { CSNetManager.Instance.Sock.SendCS_CTF_PICK_FLAG_REQ(captureTheFlag); BrickManManager.Instance.bSendTcpCheckOnce = true; deltaTimeTcp = 0f; } } } } }