public void TargetProximityObject(ProximityObject proximityObject) { // Target the object if (m_SelectedProximityObject != null) { //CelestialBody body = CelestialManager.GetInstance().GetCelestialBody( m_SelectedProximityObject.GetCelestialID() ); if (null != m_TacticalView) { m_TacticalView.SetTarget(m_SelectedProximityObject.GetCelestialID()); //CelestialManager.GetInstance().m_Camera.SetTargetedObject( body ); } } }
public void SelectProximityObject(uint celestialID) { ProximityObject proximityObject = null; foreach (ProximityObject proximityObjectCandidate in m_TextBoxList) { if (proximityObjectCandidate.GetCelestialID() == celestialID) { proximityObject = proximityObjectCandidate; break; } } SelectProximityObject(proximityObject, false); }
// Update is called once per frame private void Update() { if (m_TacticalView != null) { Vector3 cameraPosition = m_TacticalView.GetCameraPosition(); int entryCount = m_TextBoxList.Count; List <CelestialBody> bodyList = m_TacticalView.GetClosestBodies(entryCount, m_CelestialFilter, cameraPosition); for (int index = 1; index <= entryCount; ++index) { ProximityObject proximityObject = m_TextBoxList[index - 1]; CelestialBody body = (bodyList.Count >= index) ? bodyList[index - 1] : null; bool selected = (m_SelectedCelestialID != 0 && proximityObject.GetCelestialID() == m_SelectedCelestialID) ? true : false; proximityObject.Set(body, cameraPosition, selected); m_CurrentCelestialBodies[proximityObject] = body; } } }
private void OnTriggerStay(Collider other) { ProximityObject proximityObject = other.GetComponent <ProximityObject>(); if (proximityObject) { Vector3 position2D = Vector3.ProjectOnPlane(transform.position, Vector3.up); Vector3 objectPosition2D = Vector3.ProjectOnPlane(proximityObject.transform.position, Vector3.up); float distance = Vector3.Distance(position2D, objectPosition2D); //Debug.Log("distance: " + distance); if (distance < triggerDistance) { proximityObject.ToggleProximity(true); } else if (distance > revertDistance) { proximityObject.ToggleProximity(false); } } }
public void SelectProximityObject(ProximityObject proximityObject, bool lookAtTarget) { // Deselect old object if (m_SelectedProximityObject != null) { m_SelectedProximityObject.SetSelected(false); m_SelectedCelestialID = 0; } // Select new object m_SelectedProximityObject = proximityObject; if (m_SelectedProximityObject != null) { m_SelectedProximityObject.SetSelected(true); m_SelectedCelestialID = m_SelectedProximityObject.GetCelestialID(); //CelestialBody body = CelestialManager.GetInstance().GetCelestialBody( m_SelectedCelestialID ); if (null != m_TacticalView) { m_TacticalView.SetSelected(m_SelectedCelestialID, lookAtTarget); } } }