Kenity

Kesa with Unity.

Unity#事件驱动

June 9, 2018 Plain Text Kesa

来源: << Unity脚本设计 >>
看到了这句话:

(失败案例中)Update函数包含了大量的条件检测和相应操作
实际上, Update函数希望将时间处理和相应行为二合一
但是 实际结果则包含了某些冗余处理过程

即是一个简化
实时检测某数据等待相应(Update)
变为
只在值改变到某些时反应(set里的函数)

_replace_Update检测

只是把可能变化的值的检测放在set里
响应也放在get里
就能代替Update里一直不停的检测
变为了只在改变时检测

即:

var value = 0;

Update()
{
if(value == A检测)
    {
      A响应(事件a函数)
    }
else if(value == B检测)
    {
      B响应(事件b函数)
    }
}

变为

var value = 0;
public Value
{
get return value;
set
    {
    if(value == A检测)
        {
          A响应(事件a函数)
        }
    else if(value == B检测)
        {
          B响应(事件b函数)
        }
    }
}

会减轻很多 Update 的检测负担