12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using FairyGUI;
- using UnityEngine;
- namespace GFGGame
- {
- public class EffectUI
- {
- private GameObject _gameObject;
- private GoWrapper _wrapper;
- public bool Released;
- public void Reset(GGraph holder, string uiName, string resName, float scale = 100, EffectUIType effectUIType = EffectUIType.UI )
- {
- if (!Released) Release();
- Released = false;
- string resPath;
- switch(effectUIType)
- {
- case EffectUIType.Card:
- resPath = ResPathUtil.GetCardAnimationPath(resName);
- break;
- default:
- resPath = ResPathUtil.GetViewEffectPath(uiName, resName);
- break;
- }
- _gameObject = PrefabManager.Instance.SpawnSync(resPath);
- if(_gameObject == null)
- {
- return;
- }
- _gameObject.transform.localScale = new Vector3(scale, scale, scale);
- _wrapper = new GoWrapper(_gameObject);
- holder.SetNativeObject(_wrapper);
- var obj = _gameObject.GetComponent<BoxCollider2D>();
- if (obj != null) {
- CardDataManager.CardResInitWidth = (int)(obj.size.x * 100);
- CardDataManager.CardResInitHight = (int)(obj.size.y * 100);
- holder.x = CardDataManager.CardResInitWidth / 2 - obj.offset.x * 100;
- holder.y = CardDataManager.CardResInitHight / 2 - obj.offset.y * 100;
- }
- }
- public void Release()
- {
- Released = true;
- if (_gameObject != null)
- {
- PrefabManager.Instance.Restore(_gameObject);
- //GameObject.DestroyImmediate(_gameObject);
- _gameObject = null;
- }
- if (_wrapper != null)
- {
- if(_wrapper.wrapTarget != null)
- {
- _wrapper.wrapTarget = null;
- }
- _wrapper.Dispose();
- _wrapper = null;
- }
- }
- public GameObject GetObj()
- {
- return _gameObject;
- }
- }
- }
|