示例#1
0
    public override void ConfigureDetector(UnitHitDetector detector)
    {
        if (!m_collider)
        {
            m_collider = GetComponent <CircleCollider2D>();
        }

        detector.ConfigureCircleCollider(m_collider.radius, m_collider.offset);
    }
示例#2
0
    public override void ConfigureDetector(UnitHitDetector detector)
    {
        if (!m_collider)
        {
            m_collider = GetComponent <BoxCollider2D>();
        }
        m_collider = GetComponent <BoxCollider2D>();
        //Debug.Assert(m_collider != null);

        detector.ConfigureBoxCollider(m_collider.size, m_collider.offset);
    }
示例#3
0
    private void Awake()
    {
        instance = this;

        allyCollisions  = new List <BattleUnit>(3);
        enemyCollisions = new List <BattleUnit>(4);

        CircleCollider2D circleCollider = GetComponentInChildren <CircleCollider2D>(true);

        circleCollider.gameObject.SetActive(false);
        m_circleCollider = new System.Tuple <CircleCollider2D, SpriteRenderer>(circleCollider, circleCollider.GetComponentInChildren <SpriteRenderer>());
        m_circleCollider.Item1.GetComponent <CollisionCallbacks2D>().TriggerEnter2D += TriggerEnter2D;
        m_circleCollider.Item1.GetComponent <CollisionCallbacks2D>().TriggerExit2D  += TriggerExit2D;

        BoxCollider2D boxCollider = GetComponentInChildren <BoxCollider2D>(true);

        boxCollider.gameObject.SetActive(false);
        m_boxCollider = new System.Tuple <BoxCollider2D, SpriteRenderer>(boxCollider, boxCollider.GetComponentInChildren <SpriteRenderer>());
        m_boxCollider.Item1.GetComponent <CollisionCallbacks2D>().TriggerEnter2D += TriggerEnter2D;
        m_boxCollider.Item1.GetComponent <CollisionCallbacks2D>().TriggerExit2D  += TriggerExit2D;

        m_activeCollider = new System.Tuple <Collider2D, SpriteRenderer>(m_boxCollider.Item1, m_boxCollider.Item2);
    }
示例#4
0
 public abstract void ConfigureDetector(UnitHitDetector detector);