using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class HandManager : MonoBehaviour { public bool canCut; [Space] [SerializeField] HandManager attackHand = default; [System.Serializable] public enum FingerTypes { Default, Wood, Meat } public bool open1 = false; public bool finger1 = true; public FingerTypes finger1Type = FingerTypes.Default; public bool open2 = false; public bool finger2 = true; public FingerTypes finger2Type = FingerTypes.Default; public bool open3 = false; public bool finger3 = true; public FingerTypes finger3Type = FingerTypes.Default; public bool open4 = false; public bool finger4 = true; public FingerTypes finger4Type = FingerTypes.Default; public bool open5 = false; public bool finger5 = true; public FingerTypes finger5Type = FingerTypes.Default; [Space] [SerializeField] GameObject finger1Cutted = default; [SerializeField] GameObject finger2Cutted = default; [SerializeField] GameObject finger3Cutted = default; [SerializeField] GameObject finger4Cutted = default; [SerializeField] GameObject finger5Cutted = default; [Space] [SerializeField] Image finger1Image = default; [SerializeField] Image finger2Image = default; [SerializeField] Image finger3Image = default; [SerializeField] Image finger4Image = default; [SerializeField] Image finger5Image = default; [Space] [SerializeField] Sprite[] finger1DefaultSprite = default; [SerializeField] Sprite[] finger1MeatSprite = default; [SerializeField] Sprite[] finger1WoodSprite = default; [SerializeField] Sprite[] finger2DefaultSprite = default; [SerializeField] Sprite[] finger2MeatSprite = default; [SerializeField] Sprite[] finger2WoodSprite = default; [SerializeField] Sprite[] finger3DefaultSprite = default; [SerializeField] Sprite[] finger3MeatSprite = default; [SerializeField] Sprite[] finger3WoodSprite = default; [SerializeField] Sprite[] finger4DefaultSprite = default; [SerializeField] Sprite[] finger4MeatSprite = default; [SerializeField] Sprite[] finger4WoodSprite = default; [SerializeField] Sprite[] finger5DefaultSprite = default; [SerializeField] Sprite[] finger5MeatSprite = default; [SerializeField] Sprite[] finger5WoodSprite = default; void Start(){ if (GameMaster.instance == null) return; finger1 = GameMaster.instance.finger1; finger2 = GameMaster.instance.finger2; finger3 = GameMaster.instance.finger3; finger4 = GameMaster.instance.finger4; finger5 = GameMaster.instance.finger5; } void Update(){ if(finger1Cutted != null){ finger1Cutted.SetActive(!finger1); finger2Cutted.SetActive(!finger2); finger3Cutted.SetActive(!finger3); finger4Cutted.SetActive(!finger4); finger5Cutted.SetActive(!finger5); } if (finger1){ finger1Image.enabled = true; if (finger1Type == FingerTypes.Default){ finger1Image.sprite = open1 ? finger1DefaultSprite[0] : finger1DefaultSprite[1]; }else if (finger1Type == FingerTypes.Wood){ finger1Image.sprite = open1 ? finger1WoodSprite[0] : finger1WoodSprite[1]; }else{ finger1Image.sprite = open1 ? finger1MeatSprite[0] : finger1MeatSprite[1]; } }else{ finger1Image.enabled = false; } if (finger2){ finger2Image.enabled = true; if (finger2Type == FingerTypes.Default){ finger2Image.sprite = open2 ? finger2DefaultSprite[0] : finger2DefaultSprite[1]; }else if (finger2Type == FingerTypes.Wood){ finger2Image.sprite = open2 ? finger2WoodSprite[0] : finger2WoodSprite[1]; }else{ finger2Image.sprite = open2 ? finger2MeatSprite[0] : finger2MeatSprite[1]; } }else{ finger2Image.enabled = false; } if (finger3){ finger3Image.enabled = true; if (finger3Type == FingerTypes.Default){ finger3Image.sprite = open3 ? finger3DefaultSprite[0] : finger3DefaultSprite[1]; }else if (finger3Type == FingerTypes.Wood){ finger3Image.sprite = open3 ? finger3WoodSprite[0] : finger3WoodSprite[1]; }else{ finger3Image.sprite = open3 ? finger3MeatSprite[0] : finger3MeatSprite[1]; } }else{ finger3Image.enabled = false; } if (finger4){ finger4Image.enabled = true; if (finger4Type == FingerTypes.Default){ finger4Image.sprite = open4 ? finger4DefaultSprite[0] : finger4DefaultSprite[1]; }else if (finger4Type == FingerTypes.Wood){ finger4Image.sprite = open4 ? finger4WoodSprite[0] : finger4WoodSprite[1]; }else{ finger4Image.sprite = open4 ? finger4MeatSprite[0] : finger4MeatSprite[1]; } }else{ finger4Image.enabled = false; } if (finger5){ finger5Image.enabled = true; if (finger5Type == FingerTypes.Default){ finger5Image.sprite = open5 ? finger5DefaultSprite[0] : finger5DefaultSprite[1]; }else if (finger5Type == FingerTypes.Wood){ finger5Image.sprite = open5 ? finger5WoodSprite[0] : finger5WoodSprite[1]; }else{ finger5Image.sprite = open5 ? finger5MeatSprite[0] : finger5MeatSprite[1]; } }else{ finger5Image.enabled = false; } UpdateOtherHand(); } void UpdateOtherHand(){ if (attackHand == null) return; attackHand.finger1Type = finger1Type; attackHand.finger2Type = finger2Type; attackHand.finger3Type = finger3Type; attackHand.finger4Type = finger4Type; attackHand.finger5Type = finger5Type; attackHand.finger1 = finger1; attackHand.finger2 = finger2; attackHand.finger3 = finger3; attackHand.finger4 = finger4; attackHand.finger5 = finger5; } public void StartGame(){ if (finger1){ finger1Image.enabled = true; if (finger1Type == FingerTypes.Default){ finger1Image.sprite = open1 ? finger1DefaultSprite[0] : finger1DefaultSprite[1]; }else if (finger1Type == FingerTypes.Wood){ finger1Image.sprite = open1 ? finger1WoodSprite[0] : finger1WoodSprite[1]; }else{ finger1Image.sprite = open1 ? finger1MeatSprite[0] : finger1MeatSprite[1]; } }else{ finger1Image.enabled = false; } if (finger2){ finger2Image.enabled = true; if (finger2Type == FingerTypes.Default){ finger2Image.sprite = open2 ? finger2DefaultSprite[0] : finger2DefaultSprite[1]; }else if (finger2Type == FingerTypes.Wood){ finger2Image.sprite = open2 ? finger2WoodSprite[0] : finger2WoodSprite[1]; }else{ finger2Image.sprite = open2 ? finger2MeatSprite[0] : finger2MeatSprite[1]; } }else{ finger2Image.enabled = false; } if (finger3){ finger3Image.enabled = true; if (finger3Type == FingerTypes.Default){ finger3Image.sprite = open3 ? finger3DefaultSprite[0] : finger3DefaultSprite[1]; }else if (finger3Type == FingerTypes.Wood){ finger3Image.sprite = open3 ? finger3WoodSprite[0] : finger3WoodSprite[1]; }else{ finger3Image.sprite = open3 ? finger3MeatSprite[0] : finger3MeatSprite[1]; } }else{ finger3Image.enabled = false; } if (finger4){ finger4Image.enabled = true; if (finger4Type == FingerTypes.Default){ finger4Image.sprite = open4 ? finger4DefaultSprite[0] : finger4DefaultSprite[1]; }else if (finger4Type == FingerTypes.Wood){ finger4Image.sprite = open4 ? finger4WoodSprite[0] : finger4WoodSprite[1]; }else{ finger4Image.sprite = open4 ? finger4MeatSprite[0] : finger4MeatSprite[1]; } }else{ finger4Image.enabled = false; } if (finger5){ finger5Image.enabled = true; if (finger5Type == FingerTypes.Default){ finger5Image.sprite = open5 ? finger5DefaultSprite[0] : finger5DefaultSprite[1]; }else if (finger5Type == FingerTypes.Wood){ finger5Image.sprite = open5 ? finger5WoodSprite[0] : finger5WoodSprite[1]; }else{ finger5Image.sprite = open5 ? finger5MeatSprite[0] : finger5MeatSprite[1]; } }else{ finger5Image.enabled = false; } } public void Cut(int index){ if (!canCut) return; switch (index){ case 1: finger1 = false; GameMaster.instance.finger1 = false; break; case 2: finger2 = false; GameMaster.instance.finger2 = false; break; case 3: finger3 = false; GameMaster.instance.finger3 = false; break; case 4: finger4 = false; GameMaster.instance.finger4 = false; break; case 5: finger5 = false; GameMaster.instance.finger5 = false; break; } GameMaster.instance.CompleteGrid(GameMaster.instance.currentGrid); canCut = false; } }