1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- //------------------------------------------------------------
- // Game Framework
- // Copyright © 2013-2021 loyalsoft. All rights reserved.
- // Homepage: http://www.game7000.com/
- // Feedback: http://www.game7000.com/
- //------------------------------------------------------------
- using GameFramework.UI;
- using UnityEngine;
- namespace UnityGameFramework.Runtime
- {
- /// <summary>
- /// 默认界面辅助器。
- /// </summary>
- public class DefaultUIFormHelper : UIFormHelperBase
- {
- private ResourceComponent m_ResourceComponent = null;
- /// <summary>
- /// 实例化界面。
- /// </summary>
- /// <param name="uiFormAsset">要实例化的界面资源。</param>
- /// <returns>实例化后的界面。</returns>
- public override object InstantiateUIForm(object uiFormAsset)
- {
- return Instantiate((Object)uiFormAsset);
- }
- /// <summary>
- /// 创建界面。
- /// </summary>
- /// <param name="uiFormInstance">界面实例。</param>
- /// <param name="uiGroup">界面所属的界面组。</param>
- /// <param name="userData">用户自定义数据。</param>
- /// <returns>界面。</returns>
- public override IUIForm CreateUIForm(object uiFormInstance, IUIGroup uiGroup, object userData)
- {
- GameObject gameObject = uiFormInstance as GameObject;
- if (gameObject == null)
- {
- Log.Error("UI form instance is invalid.");
- return null;
- }
- Transform transform = gameObject.transform;
- transform.SetParent(((MonoBehaviour)uiGroup.Helper).transform);
- transform.localScale = Vector3.one;
- return gameObject.GetOrAddComponent<UIForm>();
- }
- /// <summary>
- /// 释放界面。
- /// </summary>
- /// <param name="uiFormAsset">要释放的界面资源。</param>
- /// <param name="uiFormInstance">要释放的界面实例。</param>
- public override void ReleaseUIForm(object uiFormAsset, object uiFormInstance)
- {
- m_ResourceComponent.UnloadAsset(uiFormAsset);
- Destroy((Object)uiFormInstance);
- }
- private void Start()
- {
- m_ResourceComponent = GameEntry.GetComponent<ResourceComponent>();
- if (m_ResourceComponent == null)
- {
- Log.Fatal("Resource component is invalid.");
- return;
- }
- }
- }
- }
|