public void ProcessingGroupWithZeroConcurrencyDoesNotAcceptPriority() { using (var processingGroup = new ProcessingGroup("test", new ProcessingGroupInfo())) { Assert.That(() => processingGroup.Subscribe(MockRepository.GenerateMock <IMessagingSession>(), "dest", (message, action) => { }, null, 1), Throws.TypeOf <InvalidSubscriptionException>()); } }
public override void ProcessingGroup(ProcessingGroup group) { var rule = rules.Find(x => x.key == group.name); if (rule != null) { foreach (var processingItem in group.processingItems) { var go = processingItem.item; if (go == null) { Debug.LogWarningFormat("忽略:{0}", processingItem.path); continue; } var flags = GameObjectUtility.GetStaticEditorFlags(go); flags |= UnityEditor.StaticEditorFlags.NavigationStatic; GameObjectUtility.SetStaticEditorFlags(go, flags); GameObjectUtility.SetNavMeshArea(go, (int)rule.area); Debug.LogFormat(go, "设置{0}的NaviMeshArea为{1}", go.name, rule.area); } Debug.LogFormat("成功处理{0},共{1}个对象", group.name, group.processingItems.Count); } else { Debug.LogFormat("未找到{0}对就的规则,无法处理", group.name); } }
public override void ProcessingGroup(ProcessingGroup group) { var rule = rules.Find(x => x.key == group.name); if (rule == null) { Debug.LogError("缺少绑定规则:" + group.name); } else { foreach (var processingItem in group.processingItems) { if (processingItem.item != null) { var script = processingItem.item.GetComponent(rule.script.GetClass()); if (script == null) { processingItem.item.AddComponent(rule.script.GetClass()); Debug.LogFormat("在物体{0}上添加一个脚本:{1}", processingItem.item, rule.script); } else { Debug.LogFormat("物体{0}上已经存在脚本:{1}", processingItem.item, rule.script); } } } } }
public override void ProcessingGroup(ProcessingGroup group) { foreach (var item in group.processingItems) { if (group.name == activeKey) { item.item.SetActive(true); } else if (group.name == disableKey) { item.item.SetActive(false); } } }
public override void ProcessingGroup(ProcessingGroup group) { var rule = rules.Find(x => x.matchKey == group.name); if (rule != null) { var items = CollectItems(group.processingItems); foreach (var item in items) { item.layer = LayerMask.NameToLayer(rule.layer); Debug.LogFormat(item, "设置{0}的层级为{1}", item.name, rule.layer); } Debug.LogFormat("成功处理{0},共{1}个对象", group.name, group.processingItems.Count); } else { Debug.LogWarningFormat("未找到规则文件,请配制:{0}", group.name); } }
public override void ProcessingGroup(ProcessingGroup processingGroup) { var rule = rules.Find(x => x.matchKey == processingGroup.name); if (rule != null) { foreach (var processingItem in processingGroup.processingItems) { ChargeRule(rule, processingItem); } Debug.LogFormat("成功处理{0},共{1}个对象", processingGroup.name, processingGroup.processingItems.Count); } else { Debug.LogWarningFormat("未找到规则文件,请配制:{0}", processingGroup.name); } #if UNITY_EDITOR UnityEditor.EditorUtility.SetDirty(this); #endif }