主UI模块

介绍当前客户端的数资分布,包含主界面的UI和通用数资。

1.客户端UI

底座提供了通用的UI组件接口规范与客户端的UI展示策略,终端包含移动端,PC端和VR端。

1.1 资源路径

Assets/Prefabs/ 描述
Common 通用目录
Mobile 移动端UI资源
PC PC端UI资源
VR VR端UI资源

1.2 UI Canvas

路径:Assets/Prefabs/<平台>/UI/Canvas.prefab
创建时机:
Hotfix.DllMain.Main()

结构:

1.3 UI的制作

需要在制作好的UI预制体上面挂一个BaseUI的脚本

PlayerCanMove :当前打开UI的情况下是否允许玩家移动
HaseModel:当前UI打开的时候是否显示背景图片
UIMode : UI的类型 打开之后分别挂载到对应的parent上面
OnOutsideClick : 选定区域内触发的额外事件 可以自行添加
VRUiLocationType : VR端的几种自由度模式 2Dof 3Dof 6Dof

1.4 UI的打开和关闭

打开UI -> Baidu.Meta.MCK.UI.UIManager.Instance.Open ()
关闭UI -> Baidu.Meta.MCK.UI.UIManager.Instance.Close ()

InternalAddressable.InstantiateAsync(AssetsCenter.Instance.GetAssetsPath("UI/BaiduMapNavigationPage.prefab")).Completed += obj =>
{
            Baidu.Meta.MCK.UI.UIManager.Instance.Open(obj.Result);
};

备注:AssetsCenter.Instance.GetAssetsPath(path)可以获取相对Assets/Prefabs/<平台>/path路径

2.主要UI资源

2.1 新手引导

Prefab 创建时机
Mobile,PC,VR BeginnerGuideWindow1.prefab,BeginnerGuideWindow2.prefab,XiaoduGuideWindow.prefab Hotfix.Standard.Balcony::ShowGuide如果需要屏蔽可直接跳过这部分流程。

2.2 主UI

Prefab 创建时机
Mobile,PC MainUIPanel.prefab InitMainUIPhone 1. 新手引导完成 Hotfix.Standard.MainLogic::OnAllGuideComplete。
2. 进入世界且新手引导完成,Hotfix.Standard.MainLogic::OnEnterWorld
如果屏蔽新手引导可屏蔽waitInitMainUI的判断

2.3 通用提示窗口

Prefab 示例代码
Mobile,PC, VR ServiceRetaining.prefab 如下
InternalAddressable.LoadAssetAsync<GameObject>(AssetsCenter.Instance.GetAssetsPath("UI/ServiceRetaining.prefab")).Completed += (AsyncOperationHandle<GameObject> obj) =>
{

         var go = GameObject.Instantiate(obj.Result);

         CommonRemindWindow window = go.GetComponent<CommonRemindWindow>();

          window.Init(Lang.Instance.FormatString("warm_prompt"), "确认回到出生点?",

                   RemindWindowType.TwoChoosen, Lang.Instance.FormatString("cancel"),

                   Lang.Instance.FormatString("confirm"));

          Baidu.Meta.MCK.UI.UIManager.Instance.Open(go);

          window.onConfirmClick.AddListener(() =>

          {

          });

          window.onCancelClick.AddListener(() =>

          {

          });
};
3D场景制作规范Avatar 模型创建