internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (DelayBrick)base.CloneInstance(context);

            CloneMember(ref result._duration, context);
            return(result);
        }
示例#2
0
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (SetLookBrick)base.CloneInstance(context);

            result.Value = context.Looks[Value];
            return(result);
        }
 internal void CloneMember(ref Look member, CloneSpriteContext context)
 {
     if (member != null)
     {
         member = context.Looks[member];
     }
 }
示例#4
0
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (PlayNxtToneBrick) base.CloneInstance(context);
     CloneMember(ref result._frequency, context);
     CloneMember(ref result._duration, context);
     return result;
 }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (BlockEndBrick)base.CloneInstance(context);

            CloneMember(ref result._begin, context);
            return(result);
        }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (RepeatBrick)base.CloneInstance(context);

            CloneMember(ref result._count, context);
            return(result);
        }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (EndIfBrick)base.CloneInstance(context);

            CloneMember(ref result._else, context);
            return(result);
        }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (UnaryFormulaTree)base.CloneInstance(context);

            CloneMember(ref result._child, context);
            return(result);
        }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (FormulaNodeLocalVariable)base.CloneInstance(context);

            CloneMember(ref result._variable, context);
            return(result);
        }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (ChangePositionXBrick)base.CloneInstance(context);

            CloneMember(ref result._relativeValue, context);
            return(result);
        }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (SetTransparencyBrick)base.CloneInstance(context);

            CloneMember(ref result._percentage, context);
            return(result);
        }
 internal void CloneMember <TBrick>(ref TBrick member, CloneSpriteContext context) where TBrick : Brick
 {
     if (member != null)
     {
         member = member.Clone(context);
     }
 }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (SetPositionYBrick)base.CloneInstance(context);

            CloneMember(ref result._value, context);
            return(result);
        }
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (BinaryFormulaTree) base.CloneInstance();
     CloneMember(ref result._firstChild, context);
     CloneMember(ref result._secondChild, context);
     return result;
 }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (DecreaseZOrderBrick)base.CloneInstance(context);

            CloneMember(ref result._relativeValue, context);
            return(result);
        }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (ChangeVolumeBrick)base.CloneInstance(context);

            CloneMember(ref result._relativePercentage, context);
            return(result);
        }
 internal void CloneMember(ref Sound member, CloneSpriteContext context)
 {
     if (member != null)
     {
         member = context.Sounds[member];
     }
 }
 internal void CloneMember(ref FormulaTree member, CloneSpriteContext context)
 {
     if (member != null)
     {
         member = member.Clone(context);
     }
 }
        internal virtual object CloneInstance(CloneSpriteContext context)
        {
            var result = (Brick)MemberwiseClone();

            context.Bricks[this] = result;
            return(result);
        }
        internal override object CloneInstance(CloneSpriteContext context)
        {
            var result = (AnimatePositionBrick)base.CloneInstance(context);

            CloneMember(ref result._toX, context);
            CloneMember(ref result._toY, context);
            return(result);
        }
        object ICloneable <CloneSpriteContext> .CloneInstance(CloneSpriteContext context)
        {
            // prevent endless loops
            Brick result;

            return(context.Bricks.TryGetValue(this, out result)
                ? result
                : CloneInstance(context));
        }
        internal void CloneMember(ref Variable member, CloneSpriteContext context)
        {
            var localVariable = member as LocalVariable;

            if (localVariable != null)
            {
                member = context.LocalVariables[localVariable];
            }
        }
示例#23
0
        object ICloneable <CloneSpriteContext> .CloneInstance(CloneSpriteContext context)
        {
            var result = CloneInstance();

            result.Bricks = Bricks == null ? null : Bricks
                            .Select(brick => brick.Clone(context))
                            .ToObservableCollection();

            combineControlBricks(result.Bricks);

            return(result);
        }
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (DecreaseZOrderBrick) base.CloneInstance(context);
     CloneMember(ref result._relativeValue, context);
     return result;
 }
示例#25
0
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (ChangeNxtMotorAngleBrick) base.CloneInstance(context);
     CloneMember(ref result._relativeValue, context);
     return result;
 }
示例#26
0
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (SetNxtMotorSpeedBrick) base.CloneInstance(context);
     CloneMember(ref result._percentage, context);
     return result;
 }
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (SetPositionYBrick)base.CloneInstance(context);
     CloneMember(ref result._value, context);
     return result;
 }
示例#28
0
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (SetLookBrick) base.CloneInstance(context);
     result.Value = context.Looks[Value];
     return result;
 }
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (FormulaNodeLocalVariable) base.CloneInstance(context);
     CloneMember(ref result._variable, context);
     return result;
 }
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (VariableBrick) base.CloneInstance(context);
     CloneMember(ref result._variable, context);
     return result;
 }
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (AnimatePropertyBrick) base.CloneInstance(context);
     CloneMember(ref result._duration, context);
     return result;
 }
示例#32
0
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (ChangeVolumeBrick) base.CloneInstance(context);
     CloneMember(ref result._relativePercentage, context);
     return result;
 }
 internal override object CloneInstance(CloneSpriteContext context)
 {
     var result = (AnimatePositionBrick) base.CloneInstance(context);
     CloneMember(ref result._toX, context);
     CloneMember(ref result._toY, context);
     return result;
 }