private void Throw(InputAction.CallbackContext context)
{
animator.SetBool("persistantAttack", false);
if (context.action.ToString() == "Land/MouseClick[/Mouse/leftButton]")
{
Vector2 track = trackMouseAction.ReadValue();
shootHere = Camera.main.ScreenToWorldPoint(new Vector3(track.x, track.y, 0));
}
else
{
shootHere = Camera.main.ScreenToWorldPoint(context.ReadValue());
}
shootHere.z = 0;
PointerEventData pointerData = new PointerEventData(EventSystem.current);
pointerData.pointerId = -1;
if (context.action.ToString() == "Land/MouseClick[/Mouse/leftButton]")
{
pointerData.position = trackMouseAction.ReadValue();
}
else
{
pointerData.position = new Vector2(context.ReadValue().x, context.ReadValue().y);
}
List results = new List();
EventSystem.current.RaycastAll(pointerData, results);
int raycastCount = results.Count;
if (raycastCount < 1)
{
Vector3 characterScale = transform.localScale;
characterScale.x = (shootHere.x < transform.position.x) ? System.Math.Abs(characterScale.x) * (-1) : System.Math.Abs(characterScale.x);
transform.localScale = characterScale;
Vector3 throwDepth = transform.position - shootHere;
// inventory.CheckAmount(inventory.usingThis) > 0 &&
if (!isPersistant(inventory.usingThis))
{
if (inventory.usingThis.GetItemType() == Item.ItemType.Sword)
{
animator.SetBool("swordAttack", true);
transform.Find("Sword").gameObject.SetActive(true);
turnOffAllParticles();
swordAttacking = true;
clickCounter++;
holdingItem = false;
activateParticles(inventory.usingThis);
}
else if (inventory.usingThis.GetPrefab() == null)
{
Vector3 userPos = new Vector3(pointerData.position.x, pointerData.position.y, 0f);
Vector3 aimDirection = (userPos - transform.position).normalized;
float angle = Mathf.Atan2(aimDirection.y, aimDirection.x) * Mathf.Rad2Deg;
activateParticles(inventory.usingThis, new Vector3(0f, 0f, angle));
inventory.RemoveItem(inventory.usingThis);
if (inventory.usingThis.IsConjured())
{
setCurrentParticles();
doMagic();
}
}
else
{
doThrowType(throwDepth);
}
}
if (isPersistant(inventory.usingThis))
{
animator.SetBool("persistantAttack", true);
}
}
}
Leave a Reply