Exemple #1
0
        public static bool IsAvailable(this TransitionLayer layer, DeviceProfile profile)
        {
            if (!layer.IsValid())
            {
                return(false);
            }

            List <UpstreamKeyId> unavailableKeyers = Enum.GetValues(typeof(UpstreamKeyId)).OfType <UpstreamKeyId>().Where(i => !i.IsAvailable(profile)).ToList();

            return(!unavailableKeyers.Any(k => layer.HasKeyEnabled(k)));
        }
        private Layer GenerateShedLayer(string letter)
        {
            _text1.SetText(letter, 2);
            _text2.SetText("Complete Targets", 2);

            var group1 = new GroupedLayer(_game.Width, _game.Height, new System.Collections.Generic.List <Layer>()
            {
                shedPic, _text1
            });

            var group2 = new GroupedLayer(_game.Width, _game.Height, new System.Collections.Generic.List <Layer>()
            {
                shedLock, _text2
            });

            var trans = new TransitionLayer(group1, group2);

            return(trans);
        }
        public static bool HasKeyEnabled(this TransitionLayer trans, UpstreamKeyId index)
        {
            IEnumerable <TransitionLayer> values = Enum.GetValues(typeof(TransitionLayer)).OfType <TransitionLayer>();

            foreach (TransitionLayer val in values)
            {
                if (!trans.HasFlag(val))
                {
                    continue;
                }

                KeyIndexAttribute attr = val.GetPossibleAttribute <TransitionLayer, KeyIndexAttribute>();
                if (attr != null && attr.Index == index)
                {
                    return(true);
                }
            }

            return(false);
        }