public void SetForceCharPos(float x, float z) { Vector3 vector = new Vector3(x, 0f, z); NrBattleMap battleMap = Battle.BATTLE.GetBattleMap(); if (battleMap == null) { return; } vector.y = battleMap.GetBattleMapHeight(vector) + 0.3f; this.m_pkChar.m_k3DChar.GetRootGameObject().transform.position = vector; this.m_pkChar.m_k3DChar.GetCharController().transform.position = vector; this.SetCharPos(this.m_pkChar.m_k3DChar.GetRootGameObject()); }
public void CameraUpdate(ref NrBattleMap BattleMap) { if (this.m_TargetGo == null) { return; } NrTSingleton <NkBattleCharManager> .Instance.SyncBillboardRotate(); if (this.m_bSetCameraTrigger) { if (Time.time - this.m_fTriggerStartTime < this.m_fActionTime) { Vector3 pos = Vector3.zero; pos = Vector3.Lerp(this.m_veTriggerStartPos, this.m_veTriggerEndPos, (Time.time - this.m_fTriggerStartTime) / this.m_fActionTime); if (this.m_bCalcheight) { this.currentDistance = this.m_TargetGo.transform.position.y; this.desiredDistance = BattleMap.GetBattleMapHeight(pos); pos.y = Mathf.Lerp(this.currentDistance, this.desiredDistance, Time.deltaTime * 4f); } this.SetcameraPos(pos); } else if (Time.time - this.m_fTriggerStartTime > this.m_fDurningTime) { this.m_bSetCameraTrigger = false; this.SetcameraPos(this.m_veTriggerStartPos); } return; } bool flag = false; if (NkInputManager.GetKey(KeyCode.UpArrow) || NkInputManager.GetKey(KeyCode.W)) { flag = true; } if (NkInputManager.GetKey(KeyCode.DownArrow) || NkInputManager.GetKey(KeyCode.S)) { flag = true; } if (NkInputManager.GetKey(KeyCode.LeftArrow) || NkInputManager.GetKey(KeyCode.A)) { flag = true; } if (NkInputManager.GetKey(KeyCode.RightArrow) || NkInputManager.GetKey(KeyCode.D)) { flag = true; } if (NkInputManager.GetKeyUp(KeyCode.RightBracket)) { this.m_fScrollViewSensitive += 0.001f; if (this.m_fScrollViewSensitive < 0f) { this.m_fScrollViewSensitive = 0.01f; } Debug.Log("Set ScrollView Sensitive " + this.m_fScrollViewSensitive); } if (NkInputManager.GetKeyUp(KeyCode.LeftBracket)) { this.m_fScrollViewSensitive -= 0.001f; if (this.m_fScrollViewSensitive > 0.07f) { this.m_fScrollViewSensitive = 0.07f; } Debug.Log("Set ScrollView Sensitive " + this.m_fScrollViewSensitive); } if (!flag && !this.m_bCalcheight) { return; } if (this.m_bScrollView) { return; } if (Camera.main == null) { return; } Transform transform = Camera.main.transform; Vector3 a = transform.TransformDirection(Vector3.forward); a.y = 0f; a = a.normalized; Vector3 normalized = new Vector3(a.z, 0f, -a.x); normalized = normalized.normalized; float d = 0f; float d2 = 0f; if (flag) { d = NkInputManager.GetAxisRaw("Vertical"); d2 = NkInputManager.GetAxisRaw("Horizontal"); } Vector3 vector = d2 * normalized + d * a; Vector3 vector2 = Vector3.zero; if (vector != Vector3.zero) { float num = 0.3f; vector2 = Vector3.RotateTowards(vector2, vector, num * 0.0174532924f * Time.deltaTime, 1f).normalized; } if (vector2 == Vector3.zero && !this.m_bCalcheight) { return; } Vector3 vector3 = Vector3.zero; vector3 = this.m_TargetGo.transform.position + vector2 * Time.deltaTime * this.zoomDampening; if (this.m_TargetGo.transform.position.x < this.m_fMoveLimitX && vector2.x != 0f) { vector3.x = this.m_fMoveLimitX; } if (this.m_TargetGo.transform.position.x > this.m_fMapXSize && vector2.x != 0f) { vector3.x = this.m_fMapXSize; } if (this.m_TargetGo.transform.position.z < this.m_fMoveLimitZ && vector2.z != 0f) { vector3.z = this.m_fMoveLimitZ; } if (this.m_TargetGo.transform.position.z > this.m_fMapZSize && vector2.z != 0f) { vector3.z = this.m_fMapZSize; } if (this.m_bCalcheight) { this.currentDistance = this.m_TargetGo.transform.position.y; this.desiredDistance = BattleMap.GetBattleMapHeight(vector3); vector3.y = Mathf.Lerp(this.currentDistance, this.desiredDistance, Time.deltaTime * 4f); } this.m_TargetGo.transform.position = vector3; }
public bool SetBattleCamera(ref NrBattleMap battleMap) { GameObject gameObject = TsSceneSwitcher.Instance._GetSwitchData_RootSceneGO(TsSceneSwitcher.ESceneType.BattleScene); 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); } Transform child3 = NkUtil.GetChild(gameObject.transform, "@battlemap"); if (child3 != null) { Transform child4 = NkUtil.GetChild(child3, "normal1"); if (child4 != null) { child4.gameObject.SetActive(true); } } if (Battle.BATTLE.CameraTarget != null) { this.m_TargetGo = (UnityEngine.Object.Instantiate(Battle.BATTLE.CameraTarget) as GameObject); this.m_TargetGo.SetActive(true); } if (this.m_TargetGo != null) { this.m_TargetGo.name = "BattleCameraTarget"; } else { this.m_TargetGo = GameObject.Find("BattleCameraTarget"); if (this.m_TargetGo == null) { this.m_TargetGo = new GameObject("BattleCameraTarget"); } } Vector3 vector = child.position; vector.y = battleMap.GetBattleMapHeight(vector); if (vector.y == 0f) { vector = battleMap.GetBattleMapCenterPos(); } this.m_TargetGo.transform.position = vector; maxCamera component = child.GetComponent <maxCamera>(); Transform child5 = NkUtil.GetChild(this.m_TargetGo.transform, "CameraTarget"); if (child5 != null) { this.m_goTargetAni = child5.gameObject; } component.m_bBattleCamera = true; if (Battle.BATTLE.BattleRoomtype != eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_BABELTOWER && Battle.BATTLE.BattleRoomtype != eBATTLE_ROOMTYPE.eBATTLE_ROOMTYPE_BOUNTYHUNT) { component.m_nCameraLevel = 3; } else if (Battle.BabelPartyCount > 1) { component.m_nCameraLevel = 1; } else { 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.CameraAniStop(); GameObject gameObject2 = GameObject.Find("bp1"); GameObject gameObject3 = GameObject.Find("bp2"); if (gameObject2 != null && gameObject3 != null) { this.m_fMoveLimitX = gameObject2.transform.position.x; this.m_fMoveLimitZ = gameObject2.transform.position.z; this.m_fMapXSize = gameObject3.transform.position.x; this.m_fMapZSize = gameObject3.transform.position.z; } else { this.m_fMapXSize = (float)battleMap.GetSizeX() - this.m_fMoveLimitX; this.m_fMapZSize = (float)battleMap.GetSizeY() - this.m_fMoveLimitZ; } this.currentDistance = this.m_TargetGo.transform.position.y; this.desiredDistance = this.m_TargetGo.transform.position.y; if (Application.isEditor) { Transform child6 = NkUtil.GetChild(gameObject.transform, "CAMERATARGETCUBE"); GameObject gameObject4 = null; if (child6 != null) { gameObject4 = child6.gameObject; } if (gameObject4 == null) { gameObject4 = GameObject.CreatePrimitive(PrimitiveType.Cube); Collider component2 = gameObject4.GetComponent <Collider>(); UnityEngine.Object.Destroy(component2); gameObject4.transform.parent = this.m_TargetGo.transform; gameObject4.transform.localPosition = Vector3.zero; gameObject4.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); gameObject4.name = "CAMERATARGETCUBE"; } MeshRenderer component3 = gameObject4.GetComponent <MeshRenderer>(); if (component3 != null) { component3.material = new Material(component3.sharedMaterial) { color = new Color(1f, 0f, 0f) }; } } TsSceneSwitcher.Instance.Collect(TsSceneSwitcher.ESceneType.BattleScene, this.m_TargetGo); child.camera.useOcclusionCulling = false; Camera component4 = child.GetComponent <Camera>(); if (component4 != null && component4.renderingPath != RenderingPath.Forward) { component4.renderingPath = RenderingPath.Forward; } return(true); }