First project upload
This commit is contained in:
83
Assets/New Lowpoly Models/Scripts/MobileCombatButtons.cs
Normal file
83
Assets/New Lowpoly Models/Scripts/MobileCombatButtons.cs
Normal file
@@ -0,0 +1,83 @@
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
public class MobileCombatButtons : MonoBehaviour,
|
||||
IPointerDownHandler,
|
||||
IPointerUpHandler
|
||||
{
|
||||
public enum ButtonType
|
||||
{
|
||||
Punch,
|
||||
Kick,
|
||||
Special
|
||||
}
|
||||
|
||||
public ButtonType buttonType;
|
||||
|
||||
public PlayerControllerNewRohan player;
|
||||
|
||||
[SerializeField] private float holdTime = 0.3f;
|
||||
private float pressTime;
|
||||
|
||||
private bool isHolding;
|
||||
private bool holdTriggered;
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (player == null)
|
||||
player = FindFirstObjectByType<PlayerControllerNewRohan>();
|
||||
|
||||
if (isHolding && !holdTriggered)
|
||||
{
|
||||
if (Time.time - pressTime >= holdTime)
|
||||
{
|
||||
holdTriggered = true;
|
||||
|
||||
switch (buttonType)
|
||||
{
|
||||
case ButtonType.Punch:
|
||||
player.PunchHold();
|
||||
break;
|
||||
|
||||
case ButtonType.Kick:
|
||||
player.KickHold();
|
||||
break;
|
||||
|
||||
case ButtonType.Special:
|
||||
player.SpecialHold();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void OnPointerDown(PointerEventData eventData)
|
||||
{
|
||||
pressTime = Time.time;
|
||||
isHolding = true;
|
||||
holdTriggered = false;
|
||||
}
|
||||
|
||||
public void OnPointerUp(PointerEventData eventData)
|
||||
{
|
||||
isHolding = false;
|
||||
|
||||
if (holdTriggered)
|
||||
return;
|
||||
|
||||
switch (buttonType)
|
||||
{
|
||||
case ButtonType.Punch:
|
||||
player.PunchTap();
|
||||
break;
|
||||
|
||||
case ButtonType.Kick:
|
||||
player.KickTap();
|
||||
break;
|
||||
|
||||
case ButtonType.Special:
|
||||
player.SpecialTap();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user