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); }