private void executeAssign(AssignElement assignNode) { string assignType = assignNode.getAttribute(AttributeConstants.TYPE).getValue().ToString(); string assignTo = assignNode.getAttribute(AttributeConstants.TO).getValue().ToString(); string assignFrom = assignNode.getAttribute(AttributeConstants.FROM).getValue().ToString(); //TODO: use value-of here switch (assignType) { case "Property": String[] activityProperty = assignTo.Split('.'); if (activityProperty != null && activityProperty[0] != null && activityProperty[1] != null) { IActivity activity = this._stateProvider.getActivities()[activityProperty[0]]; if (activity != null) { activity.setPropertyValue(activityProperty[1], this._AttributeSelector.valueOf(assignFrom)); } } break; case "Variable": this._stateProvider.getVariables()[assignTo] = this._AttributeSelector.valueOf(assignFrom); break; default: break; } }
public override async Task ActivateAsync(SelfCtx ctx) { if (used) { return; } if (add1Energy) { ctx.Self.Energy++; } if (trackToReceiveElementAssignment != null) { await AssignElement.AssignNewElementToTrack(ctx, trackToReceiveElementAssignment); } GrowthOption option = (GrowthOption)await ctx.Self.Select("Select New Growth Option", options, Present.Always); ctx.Self.Growth.Groups.Single().Add(option); used = true; }