| 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;        }    }}
 |