Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
    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;
    }