当前位置: 首页 > wzjs >正文

产品通过网站做营销中国搜索

产品通过网站做营销,中国搜索,摄影设计,网站建设可以资本化吗使用框架前置条件:调整脚本运行顺序, Canvas挂载UIManager, Panel挂载对应的UIController、UI控件挂载UIControl。 UIManager:UI管理器,用于处理和管理各个UIController和UIControl的业务逻辑,挂载在Canvas上; UIController:界面层…

使用框架前置条件:调整脚本运行顺序, Canvas挂载UIManager, Panel挂载对应的UIController、UI控件挂载UIControl。

UIManager:UI管理器,用于处理和管理各个UIController和UIControl的业务逻辑,挂载在Canvas上;

UIController:界面层Controller,用于管理该界面下的所有控件信息;

UIControl:控件层Control,用于管理对应的组件信息。

UIManager:

public class UIManager3 : MonoBehaviour

{

private static UIManager3 instance;

public static UIManager3 Instance { get => instance; }

private Dictionary<string, UIController3> uiControllerList = new();

public virtual void Awake()

{

instance = this;

}

public virtual void OnDestroy()

{

uiControllerList.Clear();

Destroy(this);

}

public void AddToList(string uiControllerName, UIController3 uiController3)

{

if (!uiControllerList.ContainsKey(uiControllerName))

uiControllerList.Add(uiControllerName, uiController3);

}

public void LogoutUIController(string name)

{

if (uiControllerList.ContainsKey(name))

uiControllerList.Remove(name);

}

public void SetControllerActive(string uiControllerName, bool active)

{

foreach(Transform trans in transform)

{

if (trans.name == uiControllerName) trans.gameObject.SetActive(active);

}

}

public UIController3 GetUIController(string name)

{

if (uiControllerList.TryGetValue(name, out UIController3 uiController3))

return uiController3;

return null;

}

public UIControl3 GetUIControl(string controllerName, string controlName)

{

if (uiControllerList.TryGetValue(controllerName, out UIController3 uiController3))

return uiController3.GetUIControl(controlName);

return null;

}

}

UIController:

public abstract class UIController3 : MonoBehaviour

{

private Dictionary<string, UIControl3> uiControlList = new();

public virtual void Start()

{

UIManager3.Instance.AddToList(this.name, this);

foreach(Transform trans in transform)

{

if (trans.gameObject.GetComponent<UIControl>() != null) Destroy(trans.gameObject.GetComponent<UIControl>());

trans.gameObject.AddComponent<UIControl3>();

}

}

public virtual void OnDestroy()

{

UIManager3.Instance.LogoutUIController(this.name);

Destroy(this);

}

public UIControl3 GetUIControl(string name)

{

if (uiControlList.TryGetValue(name, out UIControl3 uiControl3))

return uiControl3;

return null;

}

public void LogoutUIControl(string name)

{

if (uiControlList.ContainsKey(name))

uiControlList.Remove(name);

}

}

UIControl:

public class UIControl3 : MonoBehaviour

{

private UIController3 parentController;

public virtual void Start()

{

if (transform.parent.GetComponentInParent<UIController3>() != null) parentController = transform.parent.GetComponentInParent<UIController3>();

}

public virtual void OnDestroy()

{

parentController.LogoutUIControl(this.name);

Destroy(this);

}

public void SetText(string txt)

{

if (GetComponent<Text>() != null)

GetComponent<Text>().text = txt;

}

public void SetButtonOnClick(UnityAction unityAction)

{

if (GetComponent<Button>() != null)

GetComponent<Button>().onClick.AddListener(unityAction);

}

public void SetSliderEvent(UnityAction<float> unityAction)

{

if (GetComponent<Slider>() != null)

GetComponent<Slider>().onValueChanged.AddListener(unityAction);//unityAction(float), float为Slider改变后的value值

}

public void SetImage(Sprite sprite)

{

if (GetComponent<Image>() != null)

GetComponent<Image>().sprite = sprite;

}

public void SetInpueFieldEvent(UnityAction<string> unityAction)

{

if (GetComponent<InputField>() != null)

GetComponent<InputField>().onValueChanged.AddListener(unityAction);//unityAction(string), string为InputField的整个文本

}

}

LoginPanel(GameObject名称为“Login_Panel”):

public class LoginPanel3 : UIController3

{

public Button UI_LoginBtn;

public override void Start()

{

base.Start();

UI_LoginBtn.GetComponent<Button>().onClick.AddListener(UILoginBtnOnClick);

}

private void UILoginBtnOnClick()

{

UIManager3.Instance.SetControllerActive(this.name, false);

UIManager3.Instance.SetControllerActive("Main_Panel", true);

}

}

MainPanel(GameObject名称为“Main_Panel”):

public class MainPanel3 : UIController3

{

public Button UI_ToMenuBtn;

public Button UI_LogoutBtn;

public override void Start()

{

base.Start();

UI_ToMenuBtn.GetComponent<UIControl3>().SetButtonOnClick(UITOMenuBtnOnClick);

UI_LogoutBtn.GetComponent<UIControl3>().SetButtonOnClick(UILogoutBtnOnClick);

}

private void UITOMenuBtnOnClick()

{

UIManager3.Instance.SetControllerActive(this.name, false);

UIManager3.Instance.SetControllerActive("Menu_Panel", true);

}

private void UILogoutBtnOnClick()

{

UIManager3.Instance.SetControllerActive(this.name, false);

UIManager3.Instance.SetControllerActive("Login_Panel", true);

}

}

MenuPanel(GameObject名称为“Menu_Panel”):

public class MenuPanel3 : UIController3

{

public Button UI_TOMainBtn;

public override void Start()

{

base.Start();

UI_TOMainBtn.GetComponent<UIControl3>().SetButtonOnClick(UITOMainBtnOnClick);

}

private void UITOMainBtnOnClick()

{

UIManager3.Instance.SetControllerActive(this.name, false);

UIManager3.Instance.SetControllerActive("Main_Panel", true);

}

}

http://www.dtcms.com/wzjs/250098.html

相关文章:

  • 论坛网站开发 go关键词排名怎么做上首页
  • 怎样做婚恋网站如何去除痘痘效果好
  • 网站怎么做才不会被墙网络营销案例分析题
  • 电子商务网站建设的方法有哪些方面全渠道营销管理平台
  • 做网站的图片需要多少钱热点新闻
  • 如何做网站活动封面外链生成
  • 北京市建设工程交易网培训优化
  • 阜阳哪里有做网站的舆情优化公司
  • 微软网站做u盘启动教程深圳全网推广平台
  • 多品牌网站建设百度高级搜索页面的网址
  • 网站开发私单哪里接百度一下子就知道了
  • 电脑用虚拟机做网站网站推广的基本方法是
  • 网站开发的基本条件百度广告联盟官网
  • 企业网站建设哪家服务好 百度一下
  • 做网站的常识数据分析网页
  • 国有资产处网站建设国际新闻稿件
  • 建设网站以后怎么让百度收录呢电子商务营销
  • 宁波网站推广排名大数据分析培训机构
  • 新加坡网站大全百度网址ip
  • 做营养的网站营销网站制作公司
  • 莱芜都市网官网优速网站建设优化seo
  • 微网站怎么制作近期出现的病毒叫什么
  • 云南网站建设c3sales文案写作软件app
  • wordpress搭建教程关键词seo排名优化如何
  • 不懂技术与产品怎样做网站教育培训机构管理系统
  • 网站建设服务费怎么写分录谷歌广告投放步骤
  • 网页与网站设计什么是抖动磁力搜索
  • 做电影网站的服务器需要多大app推广拉新
  • 备案期间怎么做网站简单的html网页制作
  • 内蒙古 网站建设seo综合查询是什么