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; }
public override void SetLifeProp(LifeProperty lifeObj) { m_Property = lifeObj as FloorProperty; }