52 lines
1.7 KiB
C#
52 lines
1.7 KiB
C#
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.InputSystem;
|
|
|
|
public class MarisaAbilityHandler : MonoBehaviour
|
|
{
|
|
[SerializeField] private PlayerInput inputHandler;
|
|
[SerializeField] private Marisa thisPlayer;
|
|
[Header("Abilities")] //maybe have to make them public for when you're changing out abilities
|
|
[SerializeField] private PlayerAbility mainAttack;
|
|
[SerializeField] private PlayerAbility secondaryAttack;
|
|
[SerializeField] private PlayerAbility spellA;
|
|
[SerializeField] private PlayerAbility spellB;
|
|
|
|
[Header("Ability Instances")]
|
|
public PlayerAbility mainAttackInstance;
|
|
public PlayerAbility secondaryAttackInstance;
|
|
public PlayerAbility spellAInstance;
|
|
public PlayerAbility spellBInstance;
|
|
|
|
private void Start()
|
|
{
|
|
mainAttackInstance = Instantiate(mainAttack, transform);
|
|
mainAttackInstance.thisPlayer = thisPlayer;
|
|
secondaryAttackInstance = Instantiate(secondaryAttack, transform);
|
|
secondaryAttackInstance.thisPlayer = thisPlayer;
|
|
spellAInstance = Instantiate(spellA, transform);
|
|
spellAInstance.thisPlayer = thisPlayer;
|
|
spellBInstance = Instantiate(spellB, transform);
|
|
spellBInstance.thisPlayer = thisPlayer;
|
|
}
|
|
|
|
private void Update()
|
|
{
|
|
if (inputHandler.actions["MainAttack"].inProgress)
|
|
{
|
|
mainAttackInstance.TryAbility();
|
|
}
|
|
else if (inputHandler.actions["SecondaryAttack"].inProgress)
|
|
{
|
|
secondaryAttackInstance.TryAbility();
|
|
}
|
|
else if (inputHandler.actions["SpellA"].inProgress)
|
|
{
|
|
spellAInstance.TryAbility();
|
|
}
|
|
else if (inputHandler.actions["SpellB"].inProgress)
|
|
{
|
|
spellBInstance.TryAbility();
|
|
}
|
|
}
|
|
}
|