init
This commit is contained in:
commit
fca6784fe7
571 changed files with 84105 additions and 0 deletions
206
Assets/Scripts/Combat/AttackManager.cs
Normal file
206
Assets/Scripts/Combat/AttackManager.cs
Normal 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;
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue