public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { //base.WriteCode(ctx); var handlerMethod = ctx.CurrentDeclaration.protected_virtual_func(typeof(void), Name, Name.ToLower()); var handlerInvoke = new CodeMethodInvokeExpression(new CodeThisReferenceExpression(), Name); foreach (CodeParameterDeclarationExpression item in ctx.CurrentMethod.Parameters) { handlerMethod.Parameters.Add(item); handlerInvoke.Parameters.Add(new CodeVariableReferenceExpression(item.Name)); } //foreach (var item in AllContextVariables) //{ // if (item.IsSubVariable) continue; // var type = item.SourceVariable == null ? item.Name : item.SourceVariable.RelatedTypeName; // handlerMethod.Parameters.Add(new CodeParameterDeclarationExpression( // type , item.AsParameter)); // handlerInvoke.Parameters.Add(new CodeVariableReferenceExpression(item.ToString())); //} ctx.CurrentStatements.Add(handlerInvoke); //ctx.PushStatements(handlerMethod.Statements); //ctx.PopStatements(); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); if (!string.IsNullOrEmpty(Format)) { ctx._("{0} = string.Format(@\"{1}\", {2})", Item.VariableName, JSONNode.Escape(Format), string.Join(",", FormatInputs.Select(p => p.VariableName).ToArray())); } }
public override void Accept(ISequenceVisitor visitor) { foreach (var item in HandlerInputs) { visitor.Visit(item); } base.Accept(visitor); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { var ctxVariable = VariableInputSlot.Item; if (ctxVariable == null) return; ctx._("{0} = ({1}){2}", ctxVariable.VariableName, ctxVariable.VariableType.FullName, ValueInputSlot.VariableName); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); foreach (var item in Outputs) { var v = item.InputFrom <IContextVariable>(); if (v != null) { ctx._("{0} = {1}", item.Name, v.VariableName); } } }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { var ctxVariable = VariableInputSlot.Item; if (ctxVariable == null) { return; } ctx._("{0} = ({1}){2}", ctxVariable.VariableName, ctxVariable.VariableType.FullName, ValueInputSlot.VariableName); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); var eventVariableName = this.VariableName + "_" + "Object"; ctx._("var {0} = new {1}()", eventVariableName, SelectedType.TypeName); foreach (var item in PropertyInputs) { ctx._("{0}.{1} = {2}", eventVariableName, item.Name, item.VariableName); } ctx._("{0} = {1}", Result.VariableName, eventVariableName); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); if (this.Meta == null) { ctx._comment("Skipping {0}", this.Name); return; } ctx._comment("Visit {0}", this.Meta.FullName); Meta.WriteCode(ctx, this); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); CodeStatementCollection collection = ctx.CurrentStatements; foreach (var item in Branches) { var condition = collection._if("{0} == {1}.{2}", EnumIn.VariableName, EnumIn.VariableType.FullName, item.Name); ctx.PushStatements(condition.TrueStatements); item.WriteInvoke(ctx); ctx.PopStatements(); collection = condition.FalseStatements; } }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); var loop = new CodeIterationStatement( new CodeSnippetStatement(string.Format("var {0}Index = 0", Item.VariableName)), new CodeSnippetExpression(string.Format("{0}Index < {1}.Count", Item.VariableName, List.VariableName)), new CodeSnippetStatement(string.Format("{0}Index++", Item.VariableName)) ); loop.Statements._("{0} = {1}[{0}Index]", Item.VariableName, List.VariableName); ctx.PushStatements(loop.Statements); Next.WriteInvoke(ctx); ctx.PopStatements(); ctx.CurrentStatements.Add(loop); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { VariableNode.VariableCount = 0; var handlerMethod = WriteHandler(ctx); var filterMethod = WriteHandlerFilter(ctx, handlerMethod); WriteEventSubscription(ctx, filterMethod, handlerMethod); if (ctx.IsDesignerFile) { } else { handlerMethod.Attributes |= MemberAttributes.Override; ctx.CurrentDeclaration.Members.Remove(filterMethod); ctx.CurrentDeclaration.Members.Remove(handlerMethod); } }
public virtual void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); ctx._("{0} = {1}[UnityEngine.Random.Range(0, {1}.Count)]", Result.VariableName, List.VariableName); }
// public virtual IEnumerable<IFilterInput> FilterInputs { get; } // public string EventType { get; set; } public virtual void Accept(ISequenceVisitor csharpVisitor) { csharpVisitor.Visit(StartNode); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); ctx._("{0}.Remove({1})", List.VariableName, Item.VariableName); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); ctx._("{0} = {1}[{2}]", Result.VariableName, List.VariableName, IndexVariable.VariableName); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); ctx._("var {0}Components = System.ComponentSystem.RegisterComponent<{1}>().Components", List.VariableName, List.Item.FullName); var loop = new CodeIterationStatement( new CodeSnippetStatement(string.Format("var {0}Index = 0", Item.VariableName)), new CodeSnippetExpression(string.Format("{0}Index < {1}Components.Count", Item.VariableName, List.VariableName)), new CodeSnippetStatement(string.Format("{0}Index++", Item.VariableName)) ); loop.Statements._("{0} = {1}Components[{0}Index]", Item.VariableName, List.VariableName); ctx.PushStatements(loop.Statements); Next.WriteInvoke(ctx); ctx.PopStatements(); ctx.CurrentStatements.Add(loop); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { //base.WriteCode(visitor, ctx); }
public virtual void WriteSetupCode(ISequenceVisitor visitor, TemplateContext ctx) { WriteCode(visitor, ctx); }
public override void WriteCode(ISequenceVisitor visitor, TemplateContext ctx) { base.WriteCode(visitor, ctx); foreach (var item in Outputs) { var v = item.InputFrom<IContextVariable>(); if (v != null) ctx._("{0} = {1}", item.Name, v.VariableName); } }
public override void Accept(ISequenceVisitor csharpVisitor) { base.Accept(csharpVisitor); csharpVisitor.Visit(this); }