/*------------------- UIAttackSdTypeEvent -----------------------*/ void UIAttackSdTypeEventFunc(AttackSdType attackSdType) { if (PlayerAttackEvent != null) { PlayerAttackEvent(attackSdType); } }
//AttackSdType preAttackType = AttackSdType.none; //AttackFirstType preFirstType = AttackFirstType.none; //AttackSecondType preSecondType = AttackSecondType.none; public void Reset() { attackType = AttackSdType.none; firstType = AttackFirstType.none; secondType = AttackSecondType.none; //preAttackType = AttackSdType.none; //preFirstType = AttackFirstType.none; //preSecondType = AttackSecondType.none; }
void DealAttackType() { AttackSdType tmpAttackType = GetAttackTypeByFirstAndSecond(firstType, secondType); if (tmpAttackType != AttackSdType.none && tmpAttackType != attackType) { //preAttackType = attackType; attackType = tmpAttackType; Notify(); } }
void PlayerAttackEventFunc(AttackSdType attackType) { switch (attackType) { /*-------- 点击 --------*/ case AttackSdType.A: // 轻攻击 ResetTriggers(); bodyAnim.SetTrigger("A"); break; case AttackSdType.AU: ResetTriggers(); bodyAnim.SetTrigger("AU"); break; case AttackSdType.AD: ResetTriggers(); bodyAnim.SetTrigger("AD"); break; case AttackSdType.AL: ResetTriggers(); bodyAnim.SetTrigger("AL"); break; case AttackSdType.AR: ResetTriggers(); bodyAnim.SetTrigger("AR"); break; /*-------- 点击释放 --------*/ case AttackSdType.ARN: ResetTriggers(); bodyAnim.SetTrigger("ARN"); break; case AttackSdType.ARU: ResetTriggers(); bodyAnim.SetTrigger("ARU"); break; case AttackSdType.ARD: // 闪避 ResetTriggers(); bodyAnim.SetTrigger("ARD"); break; case AttackSdType.ARL: ResetTriggers(); bodyAnim.SetTrigger("ARL"); break; case AttackSdType.ARR: // 重攻击 ResetTriggers(); bodyAnim.SetTrigger("ARR"); break; /*-------- 长按 --------*/ case AttackSdType.HA: // 蓄力 ResetTriggers(); ResetHASWithoutHA(); bodyAnim.SetBool("HA", true); break; case AttackSdType.HAU: ResetTriggers(); ResetHASWithoutHA(); bodyAnim.SetBool("HA", true); bodyAnim.SetBool("HAU", true); break; case AttackSdType.HAD: ResetTriggers(); ResetHASWithoutHA(); bodyAnim.SetBool("HA", true); bodyAnim.SetBool("HAD", true); break; case AttackSdType.HAL: ResetTriggers(); ResetHASWithoutHA(); bodyAnim.SetBool("HA", true); bodyAnim.SetBool("HAL", true); break; case AttackSdType.HAR: ResetTriggers(); ResetHASWithoutHA(); bodyAnim.SetBool("HA", true); bodyAnim.SetBool("HAR", true); break; /*-------- 长按释放 --------*/ case AttackSdType.HARN: ResetTriggers(); ResetHAS(); bodyAnim.SetTrigger("HARN"); break; case AttackSdType.HARU: ResetTriggers(); ResetHAS(); bodyAnim.SetTrigger("HARU"); break; case AttackSdType.HARD: ResetTriggers(); ResetHAS(); bodyAnim.SetTrigger("HARD"); break; case AttackSdType.HARL: ResetTriggers(); ResetHAS(); bodyAnim.SetTrigger("HARL"); break; case AttackSdType.HARR: ResetTriggers(); ResetHAS(); bodyAnim.SetTrigger("HARR"); break; } }
AttackSdType GetAttackTypeByFirstAndSecond(AttackFirstType firstType, AttackSecondType secondType) { AttackSdType attackType = AttackSdType.none; switch (firstType) { case AttackFirstType.A1: switch (secondType) { case AttackSecondType.N2: attackType = AttackSdType.A; break; case AttackSecondType.U2: attackType = AttackSdType.AU; break; case AttackSecondType.D2: attackType = AttackSdType.AD; break; case AttackSecondType.L2: attackType = AttackSdType.AL; break; case AttackSecondType.R2: attackType = AttackSdType.AR; break; } break; case AttackFirstType.HA1: switch (secondType) { case AttackSecondType.N2: attackType = AttackSdType.HA; break; case AttackSecondType.U2: attackType = AttackSdType.HAU; break; case AttackSecondType.D2: attackType = AttackSdType.HAD; break; case AttackSecondType.L2: attackType = AttackSdType.HAL; break; case AttackSecondType.R2: attackType = AttackSdType.HAR; break; } break; case AttackFirstType.AR1: switch (secondType) { case AttackSecondType.NR2: attackType = AttackSdType.ARN; break; case AttackSecondType.UR2: attackType = AttackSdType.ARU; break; case AttackSecondType.DR2: attackType = AttackSdType.ARD; break; case AttackSecondType.LR2: attackType = AttackSdType.ARL; break; case AttackSecondType.RR2: attackType = AttackSdType.ARR; break; } break; case AttackFirstType.HAR1: switch (secondType) { case AttackSecondType.NR2: attackType = AttackSdType.HARN; break; case AttackSecondType.UR2: attackType = AttackSdType.HARU; break; case AttackSecondType.DR2: attackType = AttackSdType.HARD; break; case AttackSecondType.LR2: attackType = AttackSdType.HARL; break; case AttackSecondType.RR2: attackType = AttackSdType.HARR; break; } break; } return(attackType); }