public FixedYieldWhile(Hangout.Shared.Func <bool> condition) { if (condition == null) { throw new ArgumentNullException("condition"); } mCondition = condition; }
public ProceduralSize(Hangout.Shared.Func <Vector2, IGuiElement> sizeFunc) { if (sizeFunc == null) { throw new ArgumentNullException("sizeFunc"); } mSizeFunc = sizeFunc; }
public IReceipt AddModifyPositionCallback(Hangout.Shared.Func <Vector2, Vector2> modifyPositionCallback) { mModifyWidgetPositionCallbacks.Add(modifyPositionCallback); return(new Receipt(delegate() { mModifyWidgetPositionCallbacks.Remove(modifyPositionCallback); })); }
public static XmlDocument ResolveXRefs(XmlDocument rootNode) { Hangout.Shared.Func <List <XmlNode>, List <XmlNode>, object> xmlNodeListToRealList = delegate(List <XmlNode> result, object node) { result.Add((XmlNode)node); return(result); }; List <XmlNode> xrefNodes = Functionals.Reduce <List <XmlNode> > ( xmlNodeListToRealList, rootNode.SelectNodes(".//XRef") ); while (xrefNodes.Count != 0) { XmlNode xrefNode = xrefNodes[0]; xrefNodes.RemoveAt(0); XmlAttribute pathAttrib = xrefNode.Attributes["path"]; XmlElement resultNode = (XmlElement)rootNode.SelectSingleNode(pathAttrib.InnerText).CloneNode(true); xrefNodes.AddRange ( Functionals.Reduce <List <XmlNode> > ( xmlNodeListToRealList, resultNode.SelectNodes(".//XRef") ) ); xrefNode.Attributes.Remove(pathAttrib); CopyAttributes(xrefNode, resultNode); xrefNode.ParentNode.ReplaceChild(resultNode, xrefNode); } return(rootNode); }
private IEnumerator <IYieldInstruction> GenericListeningForButtonFunction(IDictionary <KeyCode, List <Hangout.Shared.Action> > dictionaryOfKeyCodesToCallbacks, Hangout.Shared.Func <bool, KeyCode> checkFunc) { while (true) { foreach (KeyCode keyCode in dictionaryOfKeyCodesToCallbacks.Keys) { if (checkFunc(keyCode)) { List <Hangout.Shared.Action> listOfCallbacks = dictionaryOfKeyCodesToCallbacks[keyCode]; foreach (Hangout.Shared.Action callback in listOfCallbacks) { callback(); } } } yield return(new YieldUntilNextFrame()); } }