protected override void OnUpdate()
    {
        if (currentFacing)
        {
            attackColider.transform.localPosition = swordColiderRightPos;
        }
        else
        {
            attackColider.transform.localPosition = swordColiderLeftPos;
        }
        if (isCrouch)
        {
            polygonCollider2D.enabled = false;
            crouchColider.enabled     = true;
        }
        else
        {
            polygonCollider2D.enabled = true;
            crouchColider.enabled     = false;
        }
        if (climbMoveY)
        {
            var destination = new Vector3(transform.position.x, nextPosition.y, transform.position.z);
            transform.position = Vector3.MoveTowards(transform.position, destination, Time.deltaTime * 2.2f);
        }

        if (climbMoveX)
        {
            var destination = new Vector3(nextPosition.x, transform.position.y, transform.position.z);
            transform.position = Vector3.MoveTowards(transform.position, destination, Time.deltaTime * 1.2f);
        }
        var itemHitChecker = Physics2D.OverlapBox(new Vector2(transform.position.x + princeColider.offset.x, transform.position.y + princeColider.offset.y
                                                              ), princeColider.size, 0f, LayerMask.GetMask("Interact"));

        if (itemHitChecker)
        {
            interactObject = itemHitChecker.gameObject;
        }
        else
        {
            interactObject = null;
        }
        var upFloorColiderCheckPos = new Vector2(upFloorChecker.transform.position.x + upFloorChecker.offset.x, upFloorChecker.transform.position.y + upFloorChecker.offset.y);
        var upFloorHit             = Physics2D.OverlapBox(upFloorColiderCheckPos, upFloorChecker.size, 0f, LayerMask.GetMask("Floor"));

        if (upFloorHit)
        {
            var temp = upFloorHit.GetComponent <FloorProperty>();
            upInteractFloor = (temp) ? temp : null;
        }
        else
        {
            upInteractFloor = null;
        }
        var downFloorColiderCheckPos = new Vector2(downFloorChecker.transform.position.x + downFloorChecker.offset.x, downFloorChecker.transform.position.y + downFloorChecker.offset.y);
        var downFloorHit             = Physics2D.OverlapBox(downFloorColiderCheckPos, downFloorChecker.size, 0f, LayerMask.GetMask("Floor"));

        if (downFloorHit)
        {
            var temp = downFloorHit.GetComponent <FloorProperty>();
            downInteractFloor = (temp) ? temp : null;
        }
        else
        {
            downInteractFloor = null;
        }
        var coliderPos = new Vector2(transform.position.x + princeColider.offset.x, transform.position.y + princeColider.offset.y);
        var wallHit    = Physics2D.OverlapBox(coliderPos, princeColider.size, 0f, LayerMask.GetMask("Wall"));

        if (wallHit && currentAnimationClip == "Run_Jump")
        {
            characterRigid.simulated = true;
            isCheckingFall           = true;
            predictPosition          = transform.position;
            isMoving = false;
        }
        if (isMoving)
        {
            var predictMoveCheckPos = new Vector2(predictPosition.x + princeColider.offset.x, predictPosition.y + princeColider.offset.y);
            var predictWallHit      = Physics2D.OverlapBox(predictMoveCheckPos, princeColider.size, 0f, LayerMask.GetMask("Wall"));
        }
        if (isRunJump)
        {
            var movingIncreast = (currentFacing) ? runSpeed : -runSpeed;
            characterRigid.velocity = new Vector2(movingIncreast, characterRigid.velocity.y);
        }
        var clips = princeAnimator.GetCurrentAnimatorClipInfo(0);

        currentAnimationClip = clips[0].clip.name;
        GameCore.combatController.isPlayerAttacking = isAttacking;
        GameCore.combatController.isPlayerParring   = isParring;
        GameCore.combatController.targetPlayer      = this.gameObject;
    }
Exemple #2
0
 public override void SetLifeProp(LifeProperty lifeObj)
 {
     m_Property = lifeObj as FloorProperty;
 }