コード例 #1
0
    // Update is called once per frame
    void LateUpdate()
    {
        if (!isDetectionFrame || m_manageTerritory.territoryPoints == null)
        {
            return;
        }

        SetHitFlags(CollisionTerritory.HitLineTerritory(m_manageTerritory.territoryPoints, transform.position, m_cHitDistance, -m_radius));
    }
コード例 #2
0
    void LateUpdate()
    {
        if (!isDetectionFrame || m_manageCommander == null)
        {
            return;
        }

        if (m_manageCommander.isLinked)
        {
            if (!m_isLinkedMode)
            {
                hitCommander   = CommanderManager.instance.GetCommanderObject(m_manageCommander.gameObject);
                m_isLinkedMode = true;
            }

            SetHitFlags(CollisionTerritory.HitLineTerritory(
                            m_manageCommander.manageTerritory.territoryPoints, transform.position, m_cHitDistance, -m_radius));
        }
        else
        {
            m_isLinkedMode = false;
            hitCommander   = default;

            for (int i = 0; i < CommanderManager.instance.commanderCount; ++i)
            {
                var commander = CommanderManager.instance.GetCommanderIndex(i);

                if (commander.isValid)
                {
                    bool result = CollisionTerritory.HitLineTerritory(
                        m_manageCommander.manageTerritory.territoryPoints, transform.position, m_cHitDistance, -m_radius);

                    if (result)
                    {
                        SetHitFlags(result);
                        hitCommander = CommanderManager.instance.GetCommanderObject(m_manageCommander.gameObject);
                        break;
                    }
                }
            }

            if (!hitCommander.isValid)
            {
                SetHitFlags(false);
            }
        }
    }
コード例 #3
0
 // Update is called once per frame
 void Update()
 {
     //Debug.Log(CollisionTerritory.HitSegments(Vector3.forward, -Vector3.forward, -Vector3.right, 100));
     Debug.Log(CollisionTerritory.HitLineTerritory(m_territory.territoryPoints, transform.position, 100));
 }