游戏简单控制逻辑Clock类

本文介绍了一种在Unity3D中不使用协程,而是通过自定义Clock类来控制时间的方法。作者封装了一个Clock类,需要使用时实例化并调用Reset、Update方法。该类要求监听者实现IClockListener接口并通过AddListener订阅事件。Clock还提供了Pause和Unpause方法,能独立于Time.timeScale暂停和恢复。在Unity4.6中的测试显示了其倒计时功能的实用性。
摘要由CSDN通过智能技术生成

出处:http://blog.csdn.net/u010019717

author:孙广东      时间:2015.3.24   23:00


unity中有协程可以提供延迟的功能等。  但是很多时候我们并不想使用,那就自己在Update中控制时间呗。

        于是我封装了这个类。

若要使用这个时钟,首先将其实例化,调用Reset函数设置正确的时间值,调用Update每一帧更新。
任何想要被事件通知的类需要实现 IClockListener 接口,
和使用AddListener方法订阅事件。可以用RemoveListener移除侦听器(很强大吧!)
时钟能够使用Pause方法独立于 Time.timeScale 被暂停 (和使用 Unpause恢复继续)

using System.Collections.Generic;

namespace Gamelogic
{
	public class Clock
	{
		private float time;
		private int timeInSeconds;
		private readonly List<IClockListener> listeners;		// 监听列表

		#region
		public bool IsPaused
		{
			get; private set;
		}

		public bool IsDone
		{
			get; private set;
		}

		public float Time
		{
			get
			{
				return time;
			}
		
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值