Exemple #1
0
        public override Property Check(World value, Model model)
        {
            return(PropertyUtility.All(Tests()));

            IEnumerable <(bool test, string label)> Tests()
            {
                var components = value.Components();

                yield return(components.Get(_entity, States.Disabled).OfType(_type).None(), "Components.Get(Disabled).None()");

                yield return(components.TryGet(_entity, _type, out _, States.Disabled).Not(), "Components.TryGet(Type, Disabled).Not()");

                yield return(components.Has(_entity, _type, States.Disabled).Not(), "Components.Has(Type, Disabled).Not()");

                yield return(_onEnable.All(message => message.Entity == _entity && message.Component.Type.Is(_type)), "onEnable.All()");

                if (_success)
                {
                    yield return(components.State(_entity).HasAny(States.Enabled), "Components.State()");

                    yield return(components.State(_entity, _type).HasAny(States.Enabled), "Components.State()");

                    yield return(components.Has(States.Enabled), "Components.Has<T>(Enabled)");

                    yield return(components.Has(), "Components.Has<T>()");

                    yield return(components.Has(_type, States.Enabled), "Components.Has(type, Enabled)");

                    yield return(components.Has(_type), "Components.Has(type)");

                    yield return(components.Has(_entity, _type, States.Enabled), "Components.Has(entity, Type, Enabled)");

                    yield return(components.Has(_entity, _type), "Components.Has(entity, Type)");

                    yield return(components.Count(States.Enabled) > 0, "Components.Count(Enabled)");

                    yield return(components.Count() > 0, "Components.Count()");

                    yield return(components.Count(_type) > 0, "Components.Count(type)");

                    yield return(components.Count(_type, States.Enabled) > 0, "Components.Count(type, Enabled)");

                    yield return(components.Count(_entity, States.Enabled) > 0, "Components.Count(entity, Enabled)");

                    yield return(components.Count(_entity) > 0, "Components.Count(entity)");

                    yield return(components.Get().OfType(_type).Any(), "Components.Get().Any()");

                    yield return(components.Get(States.Enabled).OfType(_type).Any(), "Components.Get(Enabled).Any()");

                    yield return(components.Get(_entity, States.Enabled).OfType(_type).Any(), "Components.Get(entity, Enabled).Any()");

                    yield return(components.Get(_entity).OfType(_type).Any(), "Components.Get(entity).Any()");

                    yield return(components.TryGet(_entity, _type, out _), "Components.TryGet()");

                    yield return(components.TryGet(_entity, _type, out _, States.Enabled), "Components.TryGet(Enabled)");

                    yield return(_onEnable.Length > 0, "onEnable.Length > 0");
                }
                else
                {
                    yield return(_onEnable.Length == 0, "onEnable.Length == 0");
                }

                yield return(components.Enable(_entity, _type).Not(), "Components.Enable(Type).Not()");
            }
        }