Example #1
0
    void OnEntityChangeState(M8.EntityBase ent)
    {
        mState = (EntityState)ent.state;

        switch (mState)
        {
        case EntityState.Spawn:
            sprite.gameObject.SetActive(false);
            break;

        case EntityState.Normal:
        case EntityState.Victory:
            if ((EntityState)ent.prevState == EntityState.Spawn)
            {
                mIsGrounded = true;
            }
            else
            {
                mIsGrounded = heroEntity.moveCtrl.isGrounded;
            }

            mMoveState = heroEntity.moveState;
            mVelY      = Mathf.Sign(heroEntity.moveCtrl.localVelocity.y) * velYThreshold;

            UpdateAnim();
            break;
        }
    }
Example #2
0
    void Update()
    {
        if (GameMapController.instance.mode == GameMapController.Mode.Edit)
        {
            return;
        }

        switch (mState)
        {
        case EntityState.Normal:
        case EntityState.Victory:
            //check if we need to update animation
            bool  isGrounded = heroEntity.moveCtrl.isGrounded;
            float velY       = isGrounded ? mVelY : heroEntity.moveCtrl.localVelocity.y;
            EntityHero.MoveState moveState = heroEntity.moveState;

            if (mIsGrounded != isGrounded || mVelY != velY || mMoveState != moveState)
            {
                mIsGrounded = isGrounded;
                mVelY       = velY;
                mMoveState  = moveState;

                UpdateAnim();
            }
            break;
        }
    }
Example #3
0
    private void ShowInterface(EntityHero.MoveState state)
    {
        switch (state)
        {
        case EntityHero.MoveState.Stop:
            stopGO.SetActive(true);
            rightGO.SetActive(false);
            leftGO.SetActive(false);
            break;

        case EntityHero.MoveState.Left:
            stopGO.SetActive(false);
            rightGO.SetActive(false);
            leftGO.SetActive(true);
            break;

        case EntityHero.MoveState.Right:
            stopGO.SetActive(false);
            rightGO.SetActive(true);
            leftGO.SetActive(false);
            break;
        }
    }