This commit is contained in:
Gerard Gascón 2025-04-24 17:02:43 +02:00
commit fca6784fe7
571 changed files with 84105 additions and 0 deletions

View file

@ -0,0 +1,206 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AttackManager : MonoBehaviour{
[SerializeField] HandManager hand = default;
public float maxHeight, minHeight;
public float selectSmoothTime = .1f;
[System.Serializable] public class Fingers{
public bool finger1;
public bool finger2;
public bool finger3;
public bool finger4;
public bool finger5;
}
public Fingers[] minimumForPaper = default;
public Fingers[] minimumForScisors = default;
[HideInInspector] public Fingers selectedScisor;
[HideInInspector] public Fingers selectedPaper;
public bool CanScisorAttack(){
bool temp = true;
foreach(Fingers f in minimumForScisors){
temp = true;
for (int i = 0; i < 5; i++){
switch (i){
case 0:
if (!hand.finger1 && f.finger1)
temp = false;
break;
case 1:
if (!hand.finger2 && f.finger2)
temp = false;
break;
case 2:
if (!hand.finger3 && f.finger3)
temp = false;
break;
case 3:
if (!hand.finger4 && f.finger4)
temp = false;
break;
case 4:
if (!hand.finger5 && f.finger5)
temp = false;
break;
}
}
if (temp){
selectedScisor = f;
break;
}
}
return temp;
}
public bool CanPaperAttack(){
bool temp = true;
foreach (Fingers f in minimumForPaper){
temp = true;
for (int i = 0; i < 5; i++){
switch (i){
case 0:
if (!hand.finger1 && f.finger1)
temp = false;
break;
case 1:
if (!hand.finger2 && f.finger2)
temp = false;
break;
case 2:
if (!hand.finger3 && f.finger3)
temp = false;
break;
case 3:
if (!hand.finger4 && f.finger4)
temp = false;
break;
case 4:
if (!hand.finger5 && f.finger5)
temp = false;
break;
}
}
if (temp){
selectedPaper = f;
break;
}
}
return temp;
}
public bool AttackingWithMeat(bool scisor, bool paper){
if (scisor){
for (int i = 0; i < 5; i++){
switch (i){
case 0:
if (selectedScisor.finger1 && hand.finger1Type == HandManager.FingerTypes.Meat)
return true;
break;
case 1:
if (selectedScisor.finger2 && hand.finger2Type == HandManager.FingerTypes.Meat)
return true;
break;
case 2:
if (selectedScisor.finger3 && hand.finger3Type == HandManager.FingerTypes.Meat)
return true;
break;
case 3:
if (selectedScisor.finger4 && hand.finger4Type == HandManager.FingerTypes.Meat)
return true;
break;
case 4:
if (selectedScisor.finger5 && hand.finger5Type == HandManager.FingerTypes.Meat)
return true;
break;
}
}
}else if (paper){
for (int i = 0; i < 5; i++){
switch (i){
case 0:
if (selectedPaper.finger1 && hand.finger1Type == HandManager.FingerTypes.Meat)
return true;
break;
case 1:
if (selectedPaper.finger2 && hand.finger2Type == HandManager.FingerTypes.Meat)
return true;
break;
case 2:
if (selectedPaper.finger3 && hand.finger3Type == HandManager.FingerTypes.Meat)
return true;
break;
case 3:
if (selectedPaper.finger4 && hand.finger4Type == HandManager.FingerTypes.Meat)
return true;
break;
case 4:
if (selectedPaper.finger5 && hand.finger5Type == HandManager.FingerTypes.Meat)
return true;
break;
}
}
}
return false;
}
public bool AttackingWithWood(bool scisor, bool paper){
if (scisor){
for (int i = 0; i < 5; i++){
switch (i){
case 0:
if (selectedScisor.finger1 && hand.finger1Type == HandManager.FingerTypes.Wood)
return true;
break;
case 1:
if (selectedScisor.finger2 && hand.finger2Type == HandManager.FingerTypes.Wood)
return true;
break;
case 2:
if (selectedScisor.finger3 && hand.finger3Type == HandManager.FingerTypes.Wood)
return true;
break;
case 3:
if (selectedScisor.finger4 && hand.finger4Type == HandManager.FingerTypes.Wood)
return true;
break;
case 4:
if (selectedScisor.finger5 && hand.finger5Type == HandManager.FingerTypes.Wood)
return true;
break;
}
}
}else if (paper){
for (int i = 0; i < 5; i++){
switch (i){
case 0:
if (selectedPaper.finger1 && hand.finger1Type == HandManager.FingerTypes.Wood)
return true;
break;
case 1:
if (selectedPaper.finger2 && hand.finger2Type == HandManager.FingerTypes.Wood)
return true;
break;
case 2:
if (selectedPaper.finger3 && hand.finger3Type == HandManager.FingerTypes.Wood)
return true;
break;
case 3:
if (selectedPaper.finger4 && hand.finger4Type == HandManager.FingerTypes.Wood)
return true;
break;
case 4:
if (selectedPaper.finger5 && hand.finger5Type == HandManager.FingerTypes.Wood)
return true;
break;
}
}
}
return false;
}
}