using DG.Tweening;

using System;

using System.Collections;

using System.Collections.Generic;

using TMPro;

using UnityEngine;

using UnityEngine.EventSystems;


public class PlayerCardDirector : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler

{

GameDirector gameDirector;

GameObject Mana;

GameObject Hp;

GameObject Attack;

GameObject Name;

GameObject Effect;

GameObject Tribe;


public Sprite[] cardSprite = new Sprite[100];

public int index = 0; //1๋ฒˆ๋ถ€ํ„ฐ 10๋ฒˆ๊นŒ์ง€๋‹ค

bool isPointerDown = false;


void Start()

{

gameDirector = GameObject.Find("GameDirector").GetComponent<GameDirector>();

Mana = transform.GetChild(0).gameObject;

Hp = transform.GetChild(1).gameObject;

Attack = transform.GetChild(2).gameObject;

Name = transform.GetChild(3).gameObject;

Effect = transform.GetChild(4).gameObject;

Tribe = transform.GetChild(5).gameObject;

transform.position = new Vector3(5, 0, 0);


if(int.Parse(gameDirector.sentence[gameDirector.playerHandCard[index - 1], 1]) < 4)

{

Mana.transform.Translate(0, 0.1f, 0);

Hp.transform.Translate(0, 0.1f, 0);

Attack.transform.Translate(0, 0.1f, 0);

Name.transform.Translate(0, 0.1f, 0);

Effect.transform.Translate(0, 0.1f, 0);

Tribe.transform.Translate(0, 0.1f, 0);

}

if (int.Parse(gameDirector.sentence[gameDirector.playerHandCard[index - 1], 2]) == 2)

{

Name.transform.rotation = Quaternion.Euler(0, 0, 0);

Effect.transform.Translate(0, -0.1f, 0);

Tribe.transform.Translate(0, -0.1f, 0);

Hp.GetComponent<TextMeshPro>().enabled = false;

Attack.GetComponent<TextMeshPro>().enabled = false;

}

}


void Update()

{

if(isPointerDown)

{

transform.rotation = Quaternion.Euler(0, 0, 0);

transform.position = new Vector3(transform.position.x, 0, 0);

}

else

{

transform.Translate((new Vector3(1 * (index - (gameDirector.playerHandCard.Count + 1) / 2.0f), -4.5f -0.2f * Math.Abs(index - (gameDirector.playerHandCard.Count + 1) / 2.0f), 0) - transform.position) / 30.0f);

transform.DORotate(new Vector3(0, 0, -10 * (index - (gameDirector.playerHandCard.Count + 1) / 2.0f)), 1);

}

GetComponent<SpriteRenderer>().sprite = cardSprite[gameDirector.playerHandCard[index - 1] - 1];

//GetComponent<SpriteRenderer>().sortingLayerName = "Cards";

GetComponent<SpriteRenderer>().sortingOrder = index * 10;

Mana.GetComponent<TextMeshPro>().text = gameDirector.playerHandCardMana[index - 1].ToString();

Mana.GetComponent<MeshRenderer>().sortingLayerName = "Cards";

Mana.GetComponent<MeshRenderer>().sortingOrder = index * 10 + 1;

Hp.GetComponent<TextMeshPro>().text = gameDirector.playerHandCardHp[index - 1].ToString();

Hp.GetComponent<MeshRenderer>().sortingLayerName = "Cards";

Hp.GetComponent<MeshRenderer>().sortingOrder = index * 10 + 2;

Attack.GetComponent<TextMeshPro>().text = gameDirector.playerHandCardAttack[index - 1].ToString();

Attack.GetComponent<MeshRenderer>().sortingLayerName = "Cards";

Attack.GetComponent<MeshRenderer>().sortingOrder = index * 10 + 3;

Name.GetComponent<TextMeshPro>().text = gameDirector.sentence[gameDirector.playerHandCard[index - 1], 0];

Name.GetComponent<MeshRenderer>().sortingLayerName = "Cards";

Name.GetComponent<MeshRenderer>().sortingOrder = index * 10 + 4;

Effect.GetComponent<TextMeshPro>().text = gameDirector.sentence[gameDirector.playerHandCard[index - 1], 6];

Effect.GetComponent<MeshRenderer>().sortingLayerName = "Cards";

Effect.GetComponent<MeshRenderer>().sortingOrder = index * 10 + 5;

Tribe.GetComponent<TextMeshPro>().text = gameDirector.sentence[gameDirector.playerHandCard[index - 1], 7];

Tribe.GetComponent<MeshRenderer>().sortingLayerName = "Cards";

Tribe.GetComponent<MeshRenderer>().sortingOrder = index * 10 + 6;

}


public void OnPointerEnter(PointerEventData eventData)

{

isPointerDown = true;

Debug.Log("๋งˆ์šฐ์Šค ์˜ค๋ฒ„");

}


public void OnPointerExit(PointerEventData eventData)

{

isPointerDown = false;

}


}



์Šคํฌ๋ฆฝํŠธ๋Š” ์œ„์— ์žˆ๋Š”๋Œ€๋กœ์ž„

๋งˆ์šฐ์Šค๊ฐ€ ์นด๋“œ ์œ„์— ์˜ฌ๋ผ๊ฐ”์„ ๋•Œ ์นด๋“œ๊ฐ€ ํฌ๊ฒŒ ๋‚˜์™€์•ผํ•˜๋Š”๋ฐ ๊ทธ๊ฒŒ ์•ˆ ๋˜๋Š” ์ค‘์ž„

Debug.Log๋„ ์•ˆ ๋œธ

ํ˜น์‹œ ๋งˆ์šฐ์Šค ์˜ค๋ฒ„ ์ด๋ฒคํŠธ๊ฐ€ ์ž‘๋™๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋ฉด ์„ค๋ช…ํ•ด์ฃผ๋ฉด ์ •๋ง์ •๋ง ๊ฐ์‚ฌํ•  ๋“ฏ