public void HitByFinisher(GameDatas.HitTarget target, float power) { int iAnimIndex; string strTrigName = GameDatas.STR_FINISHERHIT_TRIG_NAME; if (power >= GameDatas.FLOAT_FINISHER_LEVELS[0]) { iAnimIndex = 0; Vector3 powerDir; switch (target) { default: case GameDatas.HitTarget.HT_HEAD: powerDir = Vector3.forward + Vector3.up * Random.Range(0.35f, 0.5f); break; case GameDatas.HitTarget.HT_UPPER_LEFT: case GameDatas.HitTarget.HT_LOWER_LEFT: powerDir = Vector3.forward + Vector3.up * 0.25f + Vector3.left * Random.Range(0.15f, 0.25f); break; case GameDatas.HitTarget.HT_UPPER_RIGHT: case GameDatas.HitTarget.HT_LOWER_RIGHT: powerDir = Vector3.forward + Vector3.up * 0.25f + Vector3.right * Random.Range(0.15f, 0.25f); break; } Rigidbody rigid = GetComponent <Rigidbody>(); rigid.isKinematic = false; rigid.AddForce(powerDir * Random.Range(40.0f, 50.0f), ForceMode.Impulse); lightComponent.enabled = true; GameDatas.OBJ_MAINSCENE.CreateSFX(deathSounds[Random.Range(0, deathSounds.Length)]); GameDatas.OBJ_MAINSCENE.CreateSFX(GameDatas.OBJ_MAINSCENE.punchSFX[Random.Range(0, GameDatas.OBJ_MAINSCENE.punchSFX.Length)]); } else if (power >= GameDatas.FLOAT_FINISHER_LEVELS[1]) { iAnimIndex = 1; } else if (power >= GameDatas.FLOAT_FINISHER_LEVELS[2]) { iAnimIndex = 2; } else if (power >= GameDatas.FLOAT_FINISHER_LEVELS[3]) { iAnimIndex = 3; } else { iAnimIndex = 4; } IncreaseHitCount(target); PlayAnimation(strTrigName, iAnimIndex); fFinisherPower = power * (GameDatas.INT_MAX_SCORE - GameDatas.INT_MIN_SCORE) + GameDatas.INT_MIN_SCORE; }
public void HitByNormal(GameDatas.HitTarget target, float power) { int iAnimIndex; string strTrigName; GameDatas.HitTarget enTarget; switch (target) { default: case GameDatas.HitTarget.HT_HEAD: iAnimIndex = Random.Range(0, GameDatas.INT_HEADHIT_ANIM_COUNT); strTrigName = GameDatas.STR_HEADHIT_TRIG_NAME; enTarget = GameDatas.HitTarget.HT_HEAD; hitPowers[0] += power; break; case GameDatas.HitTarget.HT_UPPER_RIGHT: iAnimIndex = Random.Range(0, GameDatas.INT_UPPERHIT_RIGHT_ANIM_COUNT); strTrigName = GameDatas.STR_UPPERHIT_RIGHT_TRIG_NAME; enTarget = GameDatas.HitTarget.HT_UPPER_RIGHT; hitPowers[1] += power; break; case GameDatas.HitTarget.HT_UPPER_LEFT: iAnimIndex = Random.Range(0, GameDatas.INT_UPPERHIT_LEFT_ANIM_COUNT); strTrigName = GameDatas.STR_UPPERHIT_LEFT_TRIG_NAME; enTarget = GameDatas.HitTarget.HT_UPPER_LEFT; hitPowers[2] += power; break; case GameDatas.HitTarget.HT_LOWER_RIGHT: iAnimIndex = Random.Range(0, GameDatas.INT_LOWERHIT_RIGHT_ANIM_COUNT); strTrigName = GameDatas.STR_LOWERHIT_RIGHT_TRIG_NAME; enTarget = GameDatas.HitTarget.HT_LOWER_RIGHT; hitPowers[3] += power; break; case GameDatas.HitTarget.HT_LOWER_LEFT: iAnimIndex = Random.Range(0, GameDatas.INT_LOWERHIT_LEFT_ANIM_COUNT); strTrigName = GameDatas.STR_LOWERHIT_LEFT_TRIG_NAME; enTarget = GameDatas.HitTarget.HT_LOWER_LEFT; hitPowers[4] += power; break; } if (!audioSource.isPlaying) { audioSource.PlayOneShot(hitSounds[Random.Range(0, hitSounds.Length)]); } GameDatas.OBJ_MAINSCENE.CreateSFX(GameDatas.OBJ_MAINSCENE.punchSFX[Random.Range(0, GameDatas.OBJ_MAINSCENE.punchSFX.Length)]); IncreaseHitCount(enTarget); PlayAnimation(strTrigName, iAnimIndex); }
public int GetHitCount(GameDatas.HitTarget target) { int iIndex = (int)target; return(hitCounter[iIndex]); }
public void IncreaseHitCount(GameDatas.HitTarget target) { int iIndex = (int)target; ++hitCounter[iIndex]; }