优先级
Unity MARS 中的“优先级”概念表示是否可以指定为给定代理或代理组找到的匹配项的质量有多重要。
如果 2 个代理希望同时与同一数据匹配,但是它们是互斥的,则优先级将用作第一个决定因素来确定哪一个代理将索取该数据。因此,重要内容找到良好匹配项的可能性更高。
级别
可能的优先级有 5 个级别(由 MarsEntityPriority
枚举定义)。
降序的优先级,默认值为 Normal
:
Maximum, High, Normal, Low, Minimum
代理
非代理组成员的代理将控制其自己的优先级。
在 Proxy Inspector 的“Common query data”下拉选单中设置优先级。
当单个代理的 Exclusivity 不为 Reserved
时,优先级对这个代理无效;在这种情况下,该控件将被禁用。
属于代理组一员的代理不能控制其自己的优先级,而是由这个代理组进行控制。 在这种情况下,Priority 字段将在 Proxy Inspector 中被禁用,并且在该位置设置的值将被忽略。
代理组
代理组可以控制所有代理成员的优先级。 在代理组的通用数据中,设置代理组的优先级与设置代理的优先级的方式相同。
脚本
Proxy
和 ProxyGroup
都具有 MarsEntityPriority
类型的 .Priority
属性,可以设为 get
和 set
以从脚本调整优先级。
必须先为代理或代理组设置优先级,然后在为它们查找匹配项的 Unity MARS 系统中注册它们。注册代理或代理组后更改优先级将无效。