// Update is called once per frame void Update() { if (m_bTrigger == false) { if (PlayerState.GetPlayerState() == PlayerStateDefine.PlayerState_Typ.playerState_Idle) { if (!(m_rigidbody.velocity.x > 0 || m_rigidbody.velocity.x < 0 || m_rigidbody.velocity.y < 0 || m_rigidbody.velocity.y > 0)) { bool bRes = false; RaycastHit2D[] lstHit = Physics2D.RaycastAll(transform.position + transform.right * _getDiffTime() * CheckDistance, -transform.up, CheckFallDistance, CheckMask); if (lstHit.Length > 0) { bRes = true; } if (bRes == false) { //Anim.SetTrigger("IsFall"); m_bTrigger = true; } } } } else { if ((m_rigidbody.velocity.x > 0 || m_rigidbody.velocity.x < 0)) { m_bTrigger = false; } } }
private void UpdatePlayerState(int playerID, int state) { GameObject playerTemp; if (playerID == m_PlayerSelf.GetUID()) { return; } else { if (!psm.Contains(playerID)) { psm.AddPlayerState(playerID, new PlayerState(0.9)); } playerTemp = m_PlayerList[playerID].GetSelf();//psm.GetPlayer(playerID).GetPlayer(); PlayerState playerState = psm.GetPlayerState(playerID); Animator playerAnimator = playerTemp.GetComponent <Animator>(); if ((state & (int)KeyboardState.Up) != 0 || (state & (int)KeyboardState.Down) != 0 || (state & (int)KeyboardState.Left) != 0 || (state & (int)KeyboardState.Right) != 0) { playerAnimator.SetBool("walk", false); if ((state & (int)KeyboardState.Up) != 0) { //=============================== change =================================// playerAnimator.SetBool("walk", true); } } else { playerAnimator.SetBool("walk", false); playerAnimator.SetBool("stand", true); } if ((state & (int)KeyboardState.E) != 0) { playerAnimator.SetTrigger("attackT2"); } else if ((state & (int)KeyboardState.Q) != 0) { playerAnimator.SetTrigger("attackT1"); } } }
void Update() { if (active == false) { return; } if (Input.GetMouseButton(1) || (rPlayer != null && rPlayer.GetButton("Dash")) || (playerControl.controlState == PlayerControl1.ControlWay.isMobile && TouchControl.Instance.dashDrag)) { if (m_stateMgr.GetPlayerState() == PlayerStateDefine.PlayerState_Typ.playerState_Idle || m_stateMgr.GetPlayerState() == PlayerStateDefine.PlayerState_Typ.playerState_Jumping) { if (currWaitTime == 0) { AniCom.PlayerDashCharging(); if (m_stateMgr.GetPlayerState() == PlayerStateDefine.PlayerState_Typ.playerState_Jumping) { m_stateMgr.SetPlayerState(PlayerStateDefine.PlayerState_Typ.playerState_Dash); } else if (m_stateMgr.GetPlayerState() == PlayerStateDefine.PlayerState_Typ.playerState_Idle) { m_stateMgr.SetPlayerState(PlayerStateDefine.PlayerState_Typ.playerState_IdleDash); } } else { int a = 0; } } else { if (m_stateMgr.GetPlayerState() == PlayerStateDefine.PlayerState_Typ.playerState_Dash || m_stateMgr.GetPlayerState() == PlayerStateDefine.PlayerState_Typ.playerState_IdleDash) { currWaitTime += 1; } } } if (Input.GetMouseButtonDown(1) || rPlayer.GetButtonDown("Dash")) { playerControl.swap.curr = 0f; } if (Mathf.Abs(rPlayer.GetAxis("MoveHorizontal")) > 0) { int a = 0; } //Debug.Log(Time.timeScale); //播放冲刺情况下的动画 if (isDashing) { //冲刺中动画 //gaidao要求去除这个旋转 //transform.rotation = Quaternion.Euler(0, 0, -AngleBetween(Vector2.up, GetComponent<Rigidbody2D>().velocity)); } bool bChargingDash = false; //Rewired------------------------------------------------------------ if ((Input.GetMouseButton(1) && charge >= 1 && currWaitTime >= waitTime) || (rPlayer.GetButton("Dash") && charge >= 1 && currWaitTime >= waitTime) || (!(playerControl.controlState == PlayerControl1.ControlWay.isKeyboard) && TouchControl.Instance.dashDrag && charge >= 1 && currWaitTime >= waitTime)) { //蓄力粒子 if (_dashChargeParticle == null) { _dashChargeParticle = Instantiate(dashChargingParticle, transform.position, Quaternion.identity, transform); } //显示箭头 if (dashPointer != null) { if (DashPointerShow == true) { Vector2 mouseWorldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Vector2 dir = (mouseWorldPos - (Vector2)player.transform.position).normalized; dashPointer.SetActive(true); dashPointer.transform.position = (Vector2)transform.position + dir * 70f; dashPointer.transform.localRotation = Quaternion.Euler(0, 0, -AngleBetween(Vector2.up, dir)); } } playerControl.swap.realWaitTime = playerControl.swap.waitTime; playerControl.targetDeltaTime = Time.fixedDeltaTime; playerControl.targetTimeScale = Time.timeScale; m_bulletTime.ActiveBulletTime(true, BulletTime.BulletTimePriority.BulletTimePriority_High); //辅助线指示 DrawTrajectory(); //播放动态残影 playerControl.SetColShadow(); if (isDashing == false) { if (m_bDashCharging == false) { m_bDashCharging = true; m_fDashLimitChargingTime = 0.0f; } else { m_fDashLimitChargingTime += (Time.deltaTime / Time.timeScale); if (m_fDashLimitChargingTime >= DashLimitChargingTime) { m_bDashCharging = false; m_bulletTime.ActiveBulletTime(false, BulletTime.BulletTimePriority.BulletTimePriority_High); m_bChargeZero = true; playerControl.DashRequestByPlayer(); bChargingDash = true; } } } } //Rewired------------------------------------------------------------ if (Input.GetMouseButtonUp(1) || rPlayer.GetButtonUp("Dash")) { m_bulletTime.ActiveBulletTime(false, BulletTime.BulletTimePriority.BulletTimePriority_High); } if (playerControl.isTouchingGround && bChargingDash == false && isDashing == false) { charge = maxCharge; } }