Exemple #1
0
    void OnMoveCollisionEnter(EntityHeroMoveController ctrl, Collision2D coll)
    {
        //check if it's a side collision
        //if(!ctrl.isSlopSlide && (ctrl.collisionFlags & CollisionFlags.Sides) != CollisionFlags.None)
        //ctrl.moveHorizontal *= -1.0f;

        //check for heat controller
        bool isFound = false;

        for (int i = 0; i < mHeatCollides.Count; i++)
        {
            if (mHeatCollides[i].coll == coll.collider)
            {
                isFound = true;
                break;
            }
        }

        if (!isFound)
        {
            var heatCtrl = coll.collider.GetComponent <HeatController>();
            if (heatCtrl)
            {
                if (mHeatCollides.IsFull)
                {
                    mHeatCollides.Expand();
                }

                mHeatCollides.Add(new HeatController.Contact(coll.collider, heatCtrl));
            }
        }
    }
Exemple #2
0
    protected override void Awake()
    {
        base.Awake();

        //initialize data/variables
        mHeatCollides = new M8.CacheList <HeatController.Contact>(heatCollideCapacity);

        mMoveCtrl = GetComponentInChildren <EntityHeroMoveController>();

        mMoveCtrl.collisionEnterCallback += OnMoveCollisionEnter;
        mMoveCtrl.collisionExitCallback  += OnMoveCollisionExit;
        mMoveCtrl.triggerEnterCallback   += OnMoveTriggerEnter;
        mMoveCtrl.triggerExitCallback    += OnMoveTriggerExit;

        mStartPos = transform.position;

        if (spawnAnim)
        {
            spawnAnim.gameObject.SetActive(false);
        }
        if (deathAnim)
        {
            deathAnim.gameObject.SetActive(false);
        }
    }
Exemple #3
0
    void OnMoveCollisionExit(EntityHeroMoveController ctrl, Collision2D coll)
    {
        //check for heat controller
        var heatCtrl = coll.collider.GetComponent <HeatController>();

        if (heatCtrl)
        {
            for (int i = 0; i < mHeatCollides.Count; i++)
            {
                if (mHeatCollides[i].heat == heatCtrl)
                {
                    mHeatCollides.RemoveAt(i);
                    break;
                }
            }
        }
    }
Exemple #4
0
 void OnMoveTriggerExit(EntityHeroMoveController ctrl, Collider2D coll)
 {
 }