コード例 #1
0
ファイル: ActionNode.cs プロジェクト: tuita520/uFrame.ECS
        private IEnumerable <IActionOut> GetOutputVars()
        {
            var meta = Meta;

            if (meta != null)
            {
                foreach (var item in Meta.GetAllMembers().OfType <IActionFieldInfo>().Where(p => p.DisplayType is Out))
                {
                    if (item.IsBranch)
                    {
                        var variableOut = new ActionBranch()
                        {
                            ActionFieldInfo = item,
                            Node            = this,
                            Identifier      = this.Identifier + ":" + item.Name,
                            Repository      = Repository,
                        };
                        yield return(variableOut);
                    }
                    else
                    {
                        var variableOut = new ActionOut()
                        {
                            ActionFieldInfo = item,
                            Node            = this,
                            Identifier      = this.Identifier + ":" + item.Name,
                            Repository      = Repository,
                        };
                        yield return(variableOut);
                    }
                }
            }
        }
コード例 #2
0
        public virtual void VisitBranch(ActionBranch output)
        {
            var item = output.OutputTo <SequenceItemNode>();

            if (item != null)
            {
                Visit(item);
            }
        }
コード例 #3
0
 public virtual void AfterVisitBranch(ActionBranch actionBranch)
 {
 }
コード例 #4
0
 public virtual void BeforeVisitBranch(ActionBranch actionBranch)
 {
 }