267 lines
9.8 KiB
C#
267 lines
9.8 KiB
C#
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;
|
|
}
|
|
}
|