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

工具磨床东莞网站建设wordpress 引用视频

工具磨床东莞网站建设,wordpress 引用视频,大良网站建设dwxw,网站设计项目本篇我们通过使用单例模式来创建一个公共执行器,使得原本应该在Update()、FixedUpdate()中的指令都可以统一放在一个对象中执行,且可进行添加和移除操作。 1. 创建单例模式改造器:SingletonMono 我们先创建一个单例模式改造器,使…

本篇我们通过使用单例模式来创建一个公共执行器,使得原本应该在Update()、FixedUpdate()中的指令都可以统一放在一个对象中执行,且可进行添加和移除操作。

1. 创建单例模式改造器:SingletonMono

我们先创建一个单例模式改造器,使得其它类想要使用单例模式都可以直接继承该类:

using UnityEngine;public class SingletonMono<T> : MonoBehaviour where T : SingletonMono<T>
{public static T Instance;protected virtual void Awake(){if (Instance == null){Instance = (T)this;}else{Destroy(gameObject);}}
}

2. 公共执行器:MonoManager

关于 PlayerInputControl 类的相关解释可参考文章:[步骤] 启用Unity全新输入系统。

using System;
using UnityEngine;public class MonoManager : SingletonMono<MonoManager>
{[HideInInspector] public PlayerInputControl input;private void OnEnable(){if (input == null)input = new PlayerInputControl();input.Enable();}private void OnDisable(){input?.Disable();}private Action updateAction;private Action lateUpdateAction;private Action fixedUpdateAction;public void AddUpdateListener(Action action){updateAction += action;}public void RemoveUpdateListener(Action action){updateAction -= action;}public void AddLateUpdateListener(Action action){lateUpdateAction += action;}public void RemoveLateUpdateListener(Action action){lateUpdateAction -= action;}public void AddFixedUpdateListener(Action action){fixedUpdateAction += action;}public void RemoveFixedUpdateListener(Action action){fixedUpdateAction -= action;}private void Update(){updateAction?.Invoke();}private void LateUpdate(){lateUpdateAction?.Invoke();}private void FixedUpdate(){fixedUpdateAction?.Invoke();}
}

 3. 测试:TestMonoManager

using System.Collections;
using UnityEngine;public class TestMonoManager : MonoBehaviour
{Coroutine coroutine;private void Start(){MonoManager.Instance.AddUpdateListener(TestUpdate);MonoManager.Instance.AddFixedUpdateListener(TestFixedUpdate);MonoManager.Instance.AddFixedUpdateListener(TestLateUpdate);coroutine = MonoManager.Instance.StartCoroutine(TestCoroutine());}private void TestUpdate(){print("正在执行Update");}private void TestFixedUpdate(){print("正在执行FixedUpdate");}private void TestLateUpdate(){print("正在执行LateUpdate");}private IEnumerator TestCoroutine(){while (true){yield return new WaitForSeconds(0.1f);print("正在执行TestCoroutine");// 当用户按下<移动键>则停止执行该协程if (MonoManager.Instance.input.Player.Move.ReadValue<Vector2>() != Vector2.zero){MonoManager.Instance.StopCoroutine(coroutine);}}}}

http://www.yayakq.cn/news/48223/

相关文章:

  • 建设银行网站查询百度导航怎么下载
  • 网站关键词优化是什么程序员培训机构课程
  • 湖南网站建设费用爱站关键词挖掘软件
  • 响应式购物网站模板那些影视解析网站怎么做的
  • 学网站建设的学校有道网站提交入口
  • 湖北seo网站设计腾讯云做wordpress太卡
  • 做外贸比较好得网站wordpress 目录遍历
  • 昆明企业网站制作重庆城乡建设网站
  • 婴儿网站建设住栏目青岛网站设计流程
  • 公司支付网站款做凭证wordpress已计划
  • 商城网站开发需要哪些人员手机网站建设的图片
  • 我想做网站怎么做昆山溧阳常州做网站
  • 手机网站 分辨率公司加盟
  • 成都网站建设开发wordpress文章设置受密码保护
  • 深圳福田区住房和建设局网站网站建设用处
  • 最好的ppt模板网站建立电子商务网站
  • 网站建设app端怎么向百度提交网站地图
  • 大连地区网站建设网站备案需要营业执照吗
  • 长春网站建设电话咨询网站白名单 是什么
  • 网站建设vip服务我的世界做皮肤的网站
  • 人才引进从事网站建设西安网站维护推广
  • 网站建设对电子商务的作用人工智能搭建
  • 万州论坛网站建设自己做简单的网站
  • 网站建设html实训心得兰州市城乡建设及网站
  • 网站制作难点唐山住房城乡建设局门户网站
  • 酒仙网技术开发与网站建设方面logo设计的最好的公司
  • 网站建设如何吸引投资课程的网站建设
  • 快递网站建设代码网络营销的企业有哪些
  • 找人做效果图去什么网站php做不了大型网站
  • 重庆做网站电话网站开发的一般步骤