每个游戏的有UI,合理的UI管理可以更加节省游戏资源。本篇是对UI框架的总结。
UI框架就是把所有的UI做成Prefab存进Json文件中,等触发的时候再通过点击事件实例化出相应的UI预制体。这样做的好处是,游戏面板上什么都没有,用到什么就生成什么,为了避免重复生成,采用单例的方式来实现。
一、搭建UI界面。
二、写代码:
using System.Collections; using System.Collections.Generic; using UnityEngine; using System; //转化枚举信息给json解析提供值 [Serializable]//序列化信息(把对象转化为文本,转换为二进制) public class UIPanelInfo : ISerializationCallbackReceiver//序列化接口 { [NonSerialized] public UIPanelType type;//定义枚举 public string PanelTypeString; public string path;//json解析时要把该类信息都传递过去,所以path信息也要获取 public void OnAfterDeserialize()//反序列化之后执行的内容就是文本变对象 { UIPanelType typeinfo=(UIPanelType)Enum.Parse(typeof(UIPanelType),PanelTypeString); type = typeinfo; } public void OnBeforeSerialize() { } }