Пример #1
0
    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 );
            }
        }
    }
Пример #2
0
    public void SelectProximityObject(uint celestialID)
    {
        ProximityObject proximityObject = null;

        foreach (ProximityObject proximityObjectCandidate in m_TextBoxList)
        {
            if (proximityObjectCandidate.GetCelestialID() == celestialID)
            {
                proximityObject = proximityObjectCandidate;
                break;
            }
        }

        SelectProximityObject(proximityObject, false);
    }
Пример #3
0
    // 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;
            }
        }
    }
Пример #4
0
    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);
            }
        }
    }
Пример #5
0
    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);
            }
        }
    }