导入R3,简单实现数据绑定UI,以及双向绑定
This commit is contained in:
@@ -6,8 +6,6 @@ using static UnityEngine.Rendering.VirtualTexturing.Debugging;
|
||||
|
||||
public class Boot : MonoBehaviour
|
||||
{
|
||||
public GameObject MainUICanvas;
|
||||
public Camera UICamera;
|
||||
public Camera MainCamera;
|
||||
public EPlayMode PlayMode = EPlayMode.EditorSimulateMode;
|
||||
void Awake()
|
||||
@@ -17,14 +15,10 @@ public class Boot : MonoBehaviour
|
||||
#endif
|
||||
Application.targetFrameRate = 60;
|
||||
Application.runInBackground = true;
|
||||
DontDestroyOnLoad(MainUICanvas);
|
||||
DontDestroyOnLoad(UICamera);
|
||||
DontDestroyOnLoad(MainCamera);
|
||||
}
|
||||
async void Start()
|
||||
{
|
||||
GameManager.Inst.UICamera = UICamera;
|
||||
GameManager.Inst.MainUICanvas = MainUICanvas;
|
||||
bool updateSuccess = await PatchManager.Inst.StartOperation(PlayMode);
|
||||
if (updateSuccess)
|
||||
await EnterGame();
|
||||
|
||||
@@ -2,6 +2,5 @@ using UnityEngine;
|
||||
|
||||
public class GameManager : Singleton<GameManager>
|
||||
{
|
||||
public Camera UICamera;
|
||||
public GameObject MainUICanvas;
|
||||
|
||||
}
|
||||
|
||||
15
Assets/GameFramework/Runtime/MainUICanvas.cs
Normal file
15
Assets/GameFramework/Runtime/MainUICanvas.cs
Normal file
@@ -0,0 +1,15 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class MainUICanvas : SingletonMono<MainUICanvas>
|
||||
{
|
||||
public GameObject InitBg;
|
||||
public Transform Top;
|
||||
public Transform Medium;
|
||||
public Transform Bottom;
|
||||
public Camera UICamera;
|
||||
private void Awake()
|
||||
{
|
||||
DontDestroyOnLoad(gameObject);
|
||||
DontDestroyOnLoad(UICamera);
|
||||
}
|
||||
}
|
||||
2
Assets/GameFramework/Runtime/MainUICanvas.cs.meta
Normal file
2
Assets/GameFramework/Runtime/MainUICanvas.cs.meta
Normal file
@@ -0,0 +1,2 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a47ab17bc3d41694286b14a1c6cd2782
|
||||
@@ -33,7 +33,7 @@ public class MessageBox : MonoBehaviour
|
||||
return null;
|
||||
}
|
||||
|
||||
var go = Instantiate(prefab, GameManager.Inst.MainUICanvas.transform.Find("Top"));
|
||||
var go = Instantiate(prefab, MainUICanvas.Inst.Top);
|
||||
go.name = "MessageBox";
|
||||
var messageBox = go.GetComponent<MessageBox>();
|
||||
return messageBox;
|
||||
|
||||
@@ -43,6 +43,7 @@ public class MainOperation
|
||||
}
|
||||
if (!await operation.ClearCacheBundle()) return;
|
||||
operation.SaveVersionToCache();
|
||||
YooAssets.SetDefaultPackage(operation.package);
|
||||
}
|
||||
private void OnDownloadUpdate(DownloadUpdateData downloadUpdateData)
|
||||
{
|
||||
|
||||
@@ -42,7 +42,7 @@ public class PreloadOperation
|
||||
if (!await operation.UpdatePackageManifest()) return;
|
||||
await HotDllLoader.Inst.LoadDll(YooAssets.GetPackage("Preload"), "GameScripts.Preload");
|
||||
await LoadAndShowPatchWindow();
|
||||
GameManager.Inst.MainUICanvas.transform.Find("InitBg").gameObject.SetActive(false);
|
||||
MainUICanvas.Inst.InitBg.SetActive(false);
|
||||
_ = UpdatePreloadPackage();
|
||||
}
|
||||
void CheckIsOffline()
|
||||
@@ -71,7 +71,7 @@ public class PreloadOperation
|
||||
var assetHandle = operation.package.LoadAssetAsync<GameObject>("PatchWindow");
|
||||
await assetHandle.ToUniTask();
|
||||
if (assetHandle.Status == EOperationStatus.Succeed)
|
||||
GameObject.Instantiate(assetHandle.AssetObject, GameManager.Inst.MainUICanvas.transform.Find("Bottom"));
|
||||
GameObject.Instantiate(assetHandle.AssetObject, MainUICanvas.Inst.Medium);
|
||||
Debug.Log("创建热更信息界面");
|
||||
}
|
||||
private async UniTask UpdatePreloadPackage()
|
||||
|
||||
Reference in New Issue
Block a user