public void CameraYaw(float[] args) { if (null == args || args.Length != 2) { return; } float dir = args[0]; float lag = args[1] / 1000.0f; m_FixedYaw = LogicSystem.RadianToDegree(dir); m_AngularSmoothLag = lag; m_SnapSmoothLag = lag; }
// Update is called once per frame void Update() { try { if (null != m_Owner) { SharedGameObjectInfo shareInfo = LogicSystem.GetSharedGameObjectInfo(m_Owner); if (null != shareInfo) { m_HideIndicator = !shareInfo.IsIndicatorVisible; m_Dir = shareInfo.IndicatorDir; SetIndicatorTarget(shareInfo.IndicatorType); } if (m_HideIndicator || m_HideIndicatorByStory) { this.transform.localPosition = UnityEngine.Vector3.zero; } else { this.transform.localPosition = new UnityEngine.Vector3(m_Owner.transform.position.x, m_Owner.transform.position.y, m_Owner.transform.position.z) + new UnityEngine.Vector3(0, 0.3f, 0); } if (m_IndicatorTypeChanged) { if (m_IndicatorTargetType == IndicatorType.NPC) { SetVisible(m_DoorEffect, false); SetVisible(m_MonEffect, true); m_CurEffect = m_MonEffect; } else if (m_IndicatorTargetType == IndicatorType.ROAD_SING) { SetVisible(m_DoorEffect, true); SetVisible(m_MonEffect, false); m_CurEffect = m_DoorEffect; } else { SetVisible(m_DoorEffect, false); SetVisible(m_MonEffect, false); } m_IndicatorTypeChanged = false; } } if (IndicatorType.NPC == m_IndicatorTargetType) { this.transform.localRotation = UnityEngine.Quaternion.Euler(0, LogicSystem.RadianToDegree(m_Dir), 0); } else if (IndicatorType.ROAD_SING == m_IndicatorTargetType) { UnityEngine.GameObject roadSign = GetRoadSign(); if (null != roadSign) { UnityEngine.Vector3 scrPos = this.transform.position; UnityEngine.Vector3 tarPos = roadSign.transform.position; if (UnityEngine.Vector2.Distance(new UnityEngine.Vector2(scrPos.x, scrPos.z), new UnityEngine.Vector2(tarPos.x, tarPos.z)) < m_InvisibleDis) { SetVisible(gameObject, false); } else { SetVisible(m_CurEffect, true); UnityEngine.Vector3 dir = roadSign.transform.position - this.transform.position; dir.y = 0; this.transform.localRotation = UnityEngine.Quaternion.LookRotation(dir, UnityEngine.Vector3.up); } } else { SetVisible(gameObject, false); } for (int i = 0; i < m_RoadSignObject.Count; i++) { UnityEngine.BoxCollider bc = m_RoadSignObject[i].GetComponent <UnityEngine.BoxCollider>(); if (null != bc) { if (bc.bounds.Contains(new UnityEngine.Vector3(m_Owner.transform.position.x, m_Owner.transform.position.y, m_Owner.transform.position.z) + new UnityEngine.Vector3(0, 1, 0))) { if (!m_TriggeredSign.Contains(m_RoadSignObject[i].name)) { m_TriggeredSign.Add(m_RoadSignObject[i].name); } } } } } /* * foreach (UnityEngine.GameObject roadSign in m_RoadSignObject) { * UnityEngine.BoxCollider bc = roadSign.GetComponent<UnityEngine.BoxCollider>(); * if (null != bc) { * if (bc.bounds.Contains(this.transform.position + new UnityEngine.Vector3(0, 1, 0))) { * m_TriggeredSign.Add(roadSign.name); * } * } * }*/ } catch (System.Exception ex) { ArkCrossEngine.LogicSystem.LogFromGfx("[Error]:Exception:{0}\n{1}", ex.Message, ex.StackTrace); } }
public void CameraFixedYaw(float dir) { m_FixedYaw = LogicSystem.RadianToDegree(dir); }
public void CameraFixedYaw(float dir) { m_FixedYaw = LogicSystem.RadianToDegree(dir); m_AngularSmoothLag = 0.3f; m_SnapSmoothLag = 0.2f; }