コード例 #1
0
        private static void Run(IComponentBinding binding, BindingTiming timing, UTinyType.Reference type)
        {
            var registry = UTinyEditorApplication.Registry;

            foreach (var entity in UTinyEditorApplication.EntityGroupManager.LoadedEntityGroups.Deref(registry).Entities())
            {
                var component = entity.GetComponent(type);
                if (null == component)
                {
                    continue;
                }
                binding.Run(timing, entity, component);
            }
        }
コード例 #2
0
        public void Run(BindingTiming timing, UTinyEntity entity, UTinyObject component)
        {
            if (!ValidateBindingsParams(entity, component) ||
                !MatchesRequiredComponentTypes(entity))
            {
                return;
            }

            component.Refresh();

            switch (timing)
            {
            case BindingTiming.OnAddBindings:
                OnAddBinding(entity, component);
                break;

            case BindingTiming.OnUpdateBindings:
                OnUpdateBinding(entity, component);
                break;

            case BindingTiming.OnRemoveBindings:
                OnRemoveBinding(entity, component);
                break;

            case BindingTiming.OnAddComponent:
                OnAddComponent(entity, component);
                break;

            case BindingTiming.OnRemoveComponent:
                OnRemoveComponent(entity, component);
                break;

            default:
                break;
            }
        }