[Unity] WORLD To NGUI
APP 2020. 3. 20. 17:44using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using DG.Tweening;
public class UI_HudText : MonoBehaviour
{
public UILabel lbDamage;
public System.Action OnTweenEndCall;
public void Init(UIRoot uIRoot, Vector3 pos, float damage)
{
lbDamage.text = damage.ToString();
this.transform.SetParent(uIRoot.transform);
this.transform.localScale = new Vector3(1, 1, 1);
this.transform.localPosition = pos;
}
public void Play()
{
var pos = this.transform.position;
pos.y += 0.2F;
Sequence mySequence = DOTween.Sequence();
mySequence.Append(this.transform.DOMove(pos, 0.3f));
mySequence.Join(this.transform.DOScale(new Vector3(1.5f, 1.5f, 1.5f), 0.3f));
mySequence.AppendCallback(() =>
{
OnTweenEndCall();
});
mySequence.Play();
}
public void Play2()
{
var pos = this.transform.position;
pos.y += 0.2F;
Sequence mySequence = DOTween.Sequence();
mySequence.Append(this.transform.DOScale(new Vector3(1.6f, 1.6f, 1.6f), 0.3f));
//mySequence.Append(this.transform.DOScale(Vector3.one, 0.1f));
mySequence.AppendCallback(() =>
{
OnTweenEndCall();
});
mySequence.Play();
}
public void Play3()
{
var pos = this.transform.position;
pos.y += 0.2F;
Sequence mySequence = DOTween.Sequence();
mySequence.Append(this.transform.DOScale(new Vector3(1.6f, 1.6f, 1.6f), 0.3f));
//mySequence.Append(this.transform.DOScale(Vector3.one, 0.1f));
mySequence.AppendCallback(() =>
{
OnTweenEndCall();
});
mySequence.Play();
}
}
private void DisplayHudText(UIRoot uiRoot, Vector3 monsterPos, float damage)
{
Vector3 v = mainCam.WorldToScreenPoint(monsterPos);
//Debug.Log(v);
v.x = (v.x / Screen.width) * 1080;
v.y = (v.y / Screen.height) * 1920;
v.z = 0;
var pos = v - new Vector3(1080 / 2, 1920 / 2, 0);
//Debug.Log(v);
//Debug.Log(v - new Vector3(1080 / 2, 1920 / 2, 0));
var hudTextGo = EasyObjectPool.instance.GetObjectFromPool("UI_HudText1", Vector3.zero, Quaternion.identity);
var hud = hudTextGo.GetComponent();
hud.Init(uiRoot, pos, damage);
hud.OnTweenEndCall = () =>
{
EasyObjectPool.instance.ReturnObjectToPool(hud.gameObject);
};
hud.Play();
}
'APP' 카테고리의 다른 글
[Unity] 싱글톤의 잘못된 사용 예 (0) | 2021.05.18 |
---|---|
[Unity] Unity-Google LeaderBoard 연동 에러 (0) | 2020.04.02 |
[Unity] 몬스터 캐릭터에 상태패턴 적용 (0) | 2020.02.21 |
[Unity] Unity FireBase Auth (0) | 2020.02.19 |
[Unity] GPGS 에서 .RequestIdToken() 사용시 Authentication Canceld나는 문제 (0) | 2020.02.19 |