Files
Darklings-FightingGame/Assets/_Project/Scripts/PlayerScripts/PlayerComboSystem.cs

65 lines
2.1 KiB
C#
Raw Normal View History

2021-08-23 00:37:37 +02:00
using UnityEngine;
public class PlayerComboSystem : MonoBehaviour
{
2022-12-21 19:25:32 +02:00
public static AttackSO GetComboAttack(PlayerStatsSO playerStats, InputEnum inputEnum, bool isCrouching, bool isAir)
2022-11-28 02:57:32 +02:00
{
2022-12-27 17:24:54 +02:00
if (inputEnum == InputEnum.Special)
return GetArcana(playerStats, isCrouching, isAir);
2022-11-28 02:57:32 +02:00
if (inputEnum == InputEnum.Throw)
2022-12-21 19:25:32 +02:00
return playerStats.mThrow;
2022-11-28 02:57:32 +02:00
if (isCrouching)
2022-12-21 19:25:32 +02:00
return GetCrouchingAttackType(playerStats, inputEnum);
2022-11-28 02:57:32 +02:00
else
if (isAir)
2023-04-18 00:44:43 +03:00
return GetJumpAttackType(playerStats, inputEnum);
else
return GetStandingAttackType(playerStats, inputEnum);
2022-11-28 02:57:32 +02:00
}
2021-09-28 17:04:18 +02:00
2022-12-21 19:25:32 +02:00
private static AttackSO GetJumpAttackType(PlayerStatsSO playerStats, InputEnum inputEnum)
2022-11-28 02:57:32 +02:00
{
if (inputEnum == InputEnum.Light)
2022-12-21 19:25:32 +02:00
return playerStats.jL;
2022-11-28 02:57:32 +02:00
else if (inputEnum == InputEnum.Medium)
2022-12-21 19:25:32 +02:00
return playerStats.jM;
2022-11-28 02:57:32 +02:00
else
2022-12-21 19:25:32 +02:00
return playerStats.jH;
2022-11-28 02:57:32 +02:00
}
2022-07-24 01:25:32 +03:00
2022-12-21 19:25:32 +02:00
private static AttackSO GetCrouchingAttackType(PlayerStatsSO playerStats, InputEnum inputEnum)
2022-11-28 02:57:32 +02:00
{
if (inputEnum == InputEnum.Light)
2022-12-21 19:25:32 +02:00
return playerStats.m2L;
2022-11-28 02:57:32 +02:00
else if (inputEnum == InputEnum.Medium)
2022-12-21 19:25:32 +02:00
return playerStats.m2M;
2023-02-27 16:15:20 +02:00
else if (inputEnum == InputEnum.Heavy)
2022-12-21 19:25:32 +02:00
return playerStats.m2H;
2023-02-27 16:15:20 +02:00
return null;
2022-11-28 02:57:32 +02:00
}
2022-02-23 00:25:32 +01:00
2022-12-21 19:25:32 +02:00
private static AttackSO GetStandingAttackType(PlayerStatsSO playerStats, InputEnum inputEnum)
2022-11-28 02:57:32 +02:00
{
if (inputEnum == InputEnum.Light)
2022-12-21 19:25:32 +02:00
return playerStats.m5L;
2022-11-28 02:57:32 +02:00
else if (inputEnum == InputEnum.Medium)
2022-12-21 19:25:32 +02:00
return playerStats.m5M;
2023-02-27 16:15:20 +02:00
else if (inputEnum == InputEnum.Heavy)
2022-12-21 19:25:32 +02:00
return playerStats.m5H;
2023-02-27 16:15:20 +02:00
return null;
2022-11-28 02:57:32 +02:00
}
2022-02-23 00:25:32 +01:00
2023-04-18 00:44:43 +03:00
public static AttackSO GetThrow(PlayerStatsSO playerStats) => playerStats.mThrow;
public static AttackSO GetRedFrenzy(PlayerStatsSO playerStats) => playerStats.mRedFrenzy;
2022-04-21 23:58:15 +02:00
2023-01-12 19:12:56 +02:00
public static ArcanaSO GetArcana(PlayerStatsSO playerStats, bool isCrouching = false, bool isAir = false)
2022-12-23 03:17:40 +02:00
{
if (isAir)
return playerStats.jArcana;
if (isCrouching)
return playerStats.m2Arcana;
return playerStats.m5Arcana;
}
2021-08-23 00:37:37 +02:00
}