public void SetCameraMode(int nMode, Vector3 vePos, float fAngle) { if (this.m_nCurrentCameraMode == nMode) { return; } GameObject gameObject = TsSceneSwitcher.Instance._GetSwitchData_RootSceneGO(TsSceneSwitcher.ESceneType.BattleScene); if (gameObject == null) { return; } Transform child = NkUtil.GetChild(gameObject.transform, "Main Camera"); if (child == null) { return; } maxCamera component = child.GetComponent <maxCamera>(); if (nMode != 1) { if (!NrBattleCamera.m_BackupCameraData.checkbackup) { NrBattleCamera.m_BackupCameraData.distance = component.distance; NrBattleCamera.m_BackupCameraData.xDeg = component.xDeg; NrBattleCamera.m_BackupCameraData.yDeg = component.yDeg; NrBattleCamera.m_BackupCameraData.currentDistance = component.currentDistance; NrBattleCamera.m_BackupCameraData.desiredDistance = component.desiredDistance; NrBattleCamera.m_BackupCameraData.CameraLevel = component.m_nCameraLevel; NrBattleCamera.m_BackupCameraData.checkbackup = true; } component.SetCameraMode(nMode, vePos, fAngle); } else { component.SetCameraMode(nMode, vePos, fAngle); this.CameraDataRestore(); NrBattleCamera.m_BackupCameraData.checkbackup = false; } this.m_nCurrentCameraMode = nMode; }
public void CloseBattle() { this.SetLastAttackCamera(null, false); GameObject gameObject = TsSceneSwitcher.Instance._GetSwitchData_RootSceneGO(TsSceneSwitcher.ESceneType.BattleScene); if (gameObject == null) { return; } Transform child = NkUtil.GetChild(gameObject.transform, "Main Camera"); if (child == null) { return; } maxCamera component = child.GetComponent <maxCamera>(); if (this.m_nCurrentCameraMode != 1) { component.SetCameraMode(1, Vector3.zero, 0f); } if (!component.enabled && NrBattleCamera.m_BackupCameraData.trParent != null) { child.parent = NrBattleCamera.m_BackupCameraData.trParent; component.enabled = true; NrBattleCamera.m_BackupCameraData.trParent = null; } UnityEngine.Object.Destroy(this.m_TargetGo); component.m_bBattleCamera = false; NrBattleCamera.m_BackupCameraData.distance = component.distance; NrBattleCamera.m_BackupCameraData.xDeg = component.xDeg; NrBattleCamera.m_BackupCameraData.yDeg = component.yDeg; NrBattleCamera.m_BackupCameraData.currentDistance = component.currentDistance; NrBattleCamera.m_BackupCameraData.desiredDistance = component.desiredDistance; NrBattleCamera.m_BackupCameraData.CameraLevel = component.m_nCameraLevel; NrBattleCamera.m_BackupCameraData.checkbackup = true; NrBattleCamera.m_BackupCameraData.trParent = null; }
public bool SetPlunderCamera() { GameObject gameObject = TsSceneSwitcher.Instance._GetSwitchData_RootSceneGO(TsSceneSwitcher.ESceneType.SoldierBatchScene); if (gameObject == null) { return(false); } Transform child = NkUtil.GetChild(gameObject.transform, "Main Camera"); if (child == null) { return(false); } Transform child2 = NkUtil.GetChild(gameObject.transform, "battle_terrain"); if (child2 == null) { return(false); } if (this.m_TargetGo != null) { this.m_TargetGo.name = "SoldierBatchCameraTarget"; } else { this.m_TargetGo = GameObject.Find("SoldierBatchCameraTarget"); if (this.m_TargetGo == null) { this.m_TargetGo = new GameObject("SoldierBatchCameraTarget"); } } Vector3 position = child.transform.position; this.m_TargetGo.transform.position = position; maxCamera component = child.GetComponent <maxCamera>(); Transform child3 = NkUtil.GetChild(this.m_TargetGo.transform, "CameraTarget"); if (child3 != null) { this.m_goTargetAni = child3.gameObject; } component.m_bBattleCamera = true; component.m_nCameraLevel = 3; if (this.m_goTargetAni != null) { component.target = this.m_goTargetAni.transform; } else { component.target = this.m_TargetGo.transform; } component.Init(); this.currentDistance = this.m_TargetGo.transform.position.y; this.desiredDistance = this.m_TargetGo.transform.position.y; if (Application.isEditor) { Transform child4 = NkUtil.GetChild(gameObject.transform, "CAMERATARGETCUBE"); GameObject gameObject2 = null; if (child4 != null) { gameObject2 = child4.gameObject; } if (gameObject2 == null) { gameObject2 = GameObject.CreatePrimitive(PrimitiveType.Cube); Collider component2 = gameObject2.GetComponent <Collider>(); UnityEngine.Object.Destroy(component2); gameObject2.transform.parent = this.m_TargetGo.transform; gameObject2.transform.localPosition = Vector3.zero; gameObject2.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); gameObject2.name = "CAMERATARGETCUBE"; } MeshRenderer component3 = gameObject2.GetComponent <MeshRenderer>(); if (component3 != null) { component3.material = new Material(component3.sharedMaterial) { color = new Color(1f, 0f, 0f) }; } } TsSceneSwitcher.Instance.Collect(TsSceneSwitcher.ESceneType.SoldierBatchScene, this.m_TargetGo); child.camera.useOcclusionCulling = false; if (SoldierBatch.SOLDIER_BATCH_MODE == eSOLDIER_BATCH_MODE.MODE_MYTHRAID) { component.SetCameraMode(6, Vector3.zero, 0f); } else { component.SetCameraMode(5, Vector3.zero, 0f); } component.CameraWork(); return(true); }