Example #1
0
 public FixedYieldWhile(Hangout.Shared.Func <bool> condition)
 {
     if (condition == null)
     {
         throw new ArgumentNullException("condition");
     }
     mCondition = condition;
 }
Example #2
0
 public ProceduralSize(Hangout.Shared.Func <Vector2, IGuiElement> sizeFunc)
 {
     if (sizeFunc == null)
     {
         throw new ArgumentNullException("sizeFunc");
     }
     mSizeFunc = sizeFunc;
 }
Example #3
0
 public IReceipt AddModifyPositionCallback(Hangout.Shared.Func <Vector2, Vector2> modifyPositionCallback)
 {
     mModifyWidgetPositionCallbacks.Add(modifyPositionCallback);
     return(new Receipt(delegate()
     {
         mModifyWidgetPositionCallbacks.Remove(modifyPositionCallback);
     }));
 }
Example #4
0
        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());
     }
 }