public static void Create(Constants.EffectUIType type, Transform parent, Action <IEffectUI> callback) { var prefab = Resources.Load($"Prefabs/UI/{type}") as GameObject; var go = Instantiate(prefab, parent); var res = go.GetComponent <IEffectUI>(); callback(res); }
private void PlayEffect(Constants.EffectUIType key, Vector3 move) { if (_ghost == null) return; var parent = UIManager.I.EffectUIParent; EffectUI.Create(key, parent, effect => { var startPos = Utilities.GetScreenPosition(transform.position); effect.SetLocalPosition(startPos); effect.Play(move, isAutoDestroy:true); }); }