init
This commit is contained in:
commit
fca6784fe7
571 changed files with 84105 additions and 0 deletions
84
Assets/Scripts/Hand/FakeFingerManager.cs
Normal file
84
Assets/Scripts/Hand/FakeFingerManager.cs
Normal file
|
@ -0,0 +1,84 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
public class FakeFingerManager : MonoBehaviour, IPointerDownHandler, IBeginDragHandler, IEndDragHandler, IDragHandler, IDropHandler{
|
||||
|
||||
public HandManager.FingerTypes fingerType = HandManager.FingerTypes.Default;
|
||||
|
||||
[SerializeField] Canvas canvas = default;
|
||||
|
||||
RectTransform rectTransform;
|
||||
CanvasGroup canvasGroup;
|
||||
Vector2 defaultPos;
|
||||
|
||||
[SerializeField] float smoothTime = .5f;
|
||||
[HideInInspector] public bool dragging;
|
||||
[HideInInspector] public Vector2 posToGo;
|
||||
Vector2 position;
|
||||
|
||||
[HideInInspector] public bool setPos;
|
||||
[HideInInspector] public int index;
|
||||
|
||||
void Awake(){
|
||||
rectTransform = GetComponent<RectTransform>();
|
||||
canvasGroup = GetComponent<CanvasGroup>();
|
||||
defaultPos = posToGo = rectTransform.anchoredPosition;
|
||||
}
|
||||
|
||||
public void OnBeginDrag(PointerEventData eventData){
|
||||
canvasGroup.blocksRaycasts = false;
|
||||
canvasGroup.alpha = .6f;
|
||||
dragging = true;
|
||||
setPos = false;
|
||||
}
|
||||
|
||||
public void OnDrag(PointerEventData eventData){
|
||||
rectTransform.anchoredPosition += eventData.delta / canvas.scaleFactor;
|
||||
}
|
||||
|
||||
public void OnEndDrag(PointerEventData eventData){
|
||||
StartCoroutine(ResetToDefaultPos());
|
||||
canvasGroup.blocksRaycasts = true;
|
||||
canvasGroup.alpha = 1f;
|
||||
}
|
||||
|
||||
public void OnPointerDown(PointerEventData eventData){
|
||||
|
||||
}
|
||||
|
||||
public void OnDrop(PointerEventData eventData){
|
||||
|
||||
}
|
||||
|
||||
void Update(){
|
||||
if(!dragging)
|
||||
rectTransform.anchoredPosition = Vector2.SmoothDamp(rectTransform.anchoredPosition, posToGo, ref position, smoothTime);
|
||||
}
|
||||
|
||||
IEnumerator ResetToDefaultPos(){
|
||||
yield return new WaitForSeconds(.1f);
|
||||
if (!setPos){
|
||||
/*switch(index){
|
||||
case 1:
|
||||
hand.finger1 = false;
|
||||
break;
|
||||
case 2:
|
||||
hand.finger2 = false;
|
||||
break;
|
||||
case 3:
|
||||
hand.finger3 = false;
|
||||
break;
|
||||
case 4:
|
||||
hand.finger4 = false;
|
||||
break;
|
||||
case 5:
|
||||
hand.finger5 = false;
|
||||
break;
|
||||
}*/
|
||||
posToGo = defaultPos;
|
||||
dragging = false;
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/Hand/FakeFingerManager.cs.meta
Normal file
11
Assets/Scripts/Hand/FakeFingerManager.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6f368aced5d00294f89e49eae6378ce0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
34
Assets/Scripts/Hand/Finger.cs
Normal file
34
Assets/Scripts/Hand/Finger.cs
Normal file
|
@ -0,0 +1,34 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
public class Finger : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler{
|
||||
|
||||
[SerializeField, Range(1, 5)] int fingerIndex = 1;
|
||||
bool selected;
|
||||
|
||||
HandManager hand;
|
||||
|
||||
void Awake(){
|
||||
hand = GetComponentInParent<HandManager>();
|
||||
}
|
||||
|
||||
public void OnPointerEnter(PointerEventData eventData){
|
||||
selected = true;
|
||||
}
|
||||
|
||||
public void OnPointerExit(PointerEventData eventData){
|
||||
selected = false;
|
||||
}
|
||||
|
||||
// Update is called once per frame
|
||||
void Update(){
|
||||
if (selected){
|
||||
if (Input.GetMouseButtonDown(0)){
|
||||
hand.Cut(fingerIndex);
|
||||
//gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/Hand/Finger.cs.meta
Normal file
11
Assets/Scripts/Hand/Finger.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: ca8887ba4171ad84580e941e7a059cd5
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
42
Assets/Scripts/Hand/FingerHandManager.cs
Normal file
42
Assets/Scripts/Hand/FingerHandManager.cs
Normal file
|
@ -0,0 +1,42 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
|
||||
public class FingerHandManager : MonoBehaviour, IDropHandler{
|
||||
|
||||
[SerializeField, Range(1, 5)] int fingerIndex = 1;
|
||||
|
||||
public void OnDrop(PointerEventData eventData){
|
||||
if(eventData.pointerDrag != null){
|
||||
FakeFingerManager finger = eventData.pointerDrag.GetComponent<FakeFingerManager>();
|
||||
finger.setPos = true;
|
||||
//finger.posToGo = GetComponent<RectTransform>().anchoredPosition;
|
||||
finger.dragging = false;
|
||||
finger.index = fingerIndex;
|
||||
HandManager hand = GetComponentInParent<HandManager>();
|
||||
switch (fingerIndex){
|
||||
case 1:
|
||||
hand.finger1 = true;
|
||||
hand.finger1Type = finger.fingerType;
|
||||
break;
|
||||
case 2:
|
||||
hand.finger2 = true;
|
||||
hand.finger2Type = finger.fingerType;
|
||||
break;
|
||||
case 3:
|
||||
hand.finger3 = true;
|
||||
hand.finger3Type = finger.fingerType;
|
||||
break;
|
||||
case 4:
|
||||
hand.finger4 = true;
|
||||
hand.finger4Type = finger.fingerType;
|
||||
break;
|
||||
case 5:
|
||||
hand.finger5 = true;
|
||||
hand.finger5Type = finger.fingerType;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/Hand/FingerHandManager.cs.meta
Normal file
11
Assets/Scripts/Hand/FingerHandManager.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 149d3a055efe85349bf8c2b9b0d34330
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
267
Assets/Scripts/Hand/HandManager.cs
Normal file
267
Assets/Scripts/Hand/HandManager.cs
Normal file
|
@ -0,0 +1,267 @@
|
|||
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;
|
||||
}
|
||||
}
|
11
Assets/Scripts/Hand/HandManager.cs.meta
Normal file
11
Assets/Scripts/Hand/HandManager.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 02bd556b826f8bf4494da3d1d28ad7b7
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Loading…
Add table
Add a link
Reference in a new issue