public override StopNxtMotorBrick Convert1(XmlNxtMotorStopBrick o, XmlModelConvertContext c) { return(new StopNxtMotorBrick { Motor = o.Motor }); }
public override SpeakBrick Convert1(XmlSpeakBrick o, XmlModelConvertContext c) { return(new SpeakBrick { Value = o.Text }); }
public override ChangeVariableBrick Convert1(XmlChangeVariableBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); Variable variable = null; //TODO: part of dirty hack: if (o.UserVariable != null) { foreach (var entry in c.variables) { if (entry.Key.Name == o.UserVariable.Name) { variable = entry.Value; break; } } } //maybe its necessary to override .Equals() for the class as it got more properties now //old undirty version //if (o.UserVariable != null) c.Variables.TryGetValue(o.UserVariable, out variable); return(new ChangeVariableBrick { Variable = variable, RelativeValue = o.VariableFormula == null ? null : formulaConverter.Convert(o.VariableFormula, c) }); }
public override TVariable Convert(XmlUserVariable o, XmlModelConvertContext c) { var variable = (TVariable)Activator.CreateInstance(typeof(TVariable)); variable.Name = o.Name; return(variable); }
public override CommentBrick Convert1(XmlNoteBrick o, XmlModelConvertContext c) { return(new CommentBrick { Value = o.Note }); }
public override Look Convert(XmlLook o, XmlModelConvertContext c) { return(new Look { Name = o.Name, FileName = o.FileName }); }
public override Sound Convert(XmlSound o, XmlModelConvertContext c) { return(new Sound { Name = o.Name, FileName = o.FileName }); }
public override Program Convert(XmlProgram o, XmlModelConvertContext c) { var spriteConverter = new SpriteConverter(); var lookConverter = new LookConverter(); var soundConverter = new SoundConverter(); var localVariableConverter = new VariableConverter <LocalVariable>(); var globalVariableConverter = new VariableConverter <GlobalVariable>(); var uploadHeaderConverter = new UploadHeaderConverter(); var localVariables = o.VariableList.ObjectVariableList.ObjectVariableEntries.ToReadOnlyDictionary( keySelector: entry => entry.Sprite, elementSelector: entry => entry.VariableList.UserVariables.ToReadOnlyDictionary( keySelector: variable => variable, elementSelector: variable => (LocalVariable)localVariableConverter.Convert(variable, c))); List <XmlUserVariable> globalVariablesBuffer = new List <XmlUserVariable>(); foreach (var variableReference in o.VariableList.ProgramVariableList.UserVariableReferences) { globalVariablesBuffer.Add(variableReference.UserVariable); } var globalVariables = globalVariablesBuffer.ToReadOnlyDictionary( keySelector: variable => variable, elementSelector: variable => (GlobalVariable)globalVariableConverter.Convert(variable, c)); var contextBase = new XmlModelConvertContextBase(o, globalVariables); var sprites = o.SpriteList.Sprites.ToReadOnlyDictionary( keySelector: sprite => sprite, elementSelector: sprite => { ReadOnlyDictionary <XmlUserVariable, LocalVariable> localVariables2; if (!localVariables.TryGetValue(sprite, out localVariables2)) { localVariables2 = new ReadOnlyDictionary <XmlUserVariable, LocalVariable>(new Dictionary <XmlUserVariable, LocalVariable>()); } return((Sprite)spriteConverter.Convert(sprite, new XmlModelConvertContext(contextBase, sprite, sprite.Looks == null || sprite.Looks.Looks == null ? null : sprite.Looks.Looks.ToReadOnlyDictionary( keySelector: look => look, elementSelector: look => (Look)lookConverter.Convert(look, c)), sprite.Sounds == null || sprite.Sounds.Sounds == null ? null : sprite.Sounds.Sounds.ToReadOnlyDictionary( keySelector: sound => sound, elementSelector: sound => (Sound)soundConverter.Convert(sound, c)), localVariables2))); }); return(new Program { Name = o.ProgramHeader.ProgramName, Description = o.ProgramHeader.Description, UploadHeader = (UploadHeader)uploadHeaderConverter.Convert(o.ProgramHeader, c), GlobalVariables = globalVariablesBuffer.Select(variable => globalVariables[variable]).ToObservableCollection(), BroadcastMessages = contextBase.BroadcastMessages.Values.ToObservableCollection(), Sprites = o.SpriteList.Sprites.Select(sprite => sprites[sprite]).ToObservableCollection() }); }
public override DelayBrick Convert1(XmlWaitBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new DelayBrick { Duration = o.TimeToWaitInSeconds == null ? null : formulaConverter.Convert(o.TimeToWaitInSeconds, c) }); }
public override EndRepeatBrick Convert1(XmlRepeatLoopEndBrick o, XmlModelConvertContext c) { var repeatBrickConverter = new RepeatBrickConverter(); var result = new EndRepeatBrick(); c.Bricks[o] = result; return(result); }
public override ChangePositionYBrick Convert1(XmlChangeYByBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new ChangePositionYBrick { RelativeValue = o.YMovement == null ? null : formulaConverter.Convert(o.YMovement, c) }); }
public override LookAtBrick Convert1(XmlPointToBrick o, XmlModelConvertContext c) { var spriteConverter = new SpriteConverter(); return(new LookAtBrick { Target = o.PointedSprite == null ? null : (Sprite)spriteConverter.Convert(o.PointedSprite, c, pointerOnly: true) }); }
public override SetPositionXBrick Convert1(XmlSetXBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new SetPositionXBrick { Value = o.XPosition == null ? null : formulaConverter.Convert(o.XPosition, c) }); }
public override MoveBrick Convert1(XmlMoveNStepsBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new MoveBrick { Steps = o.Steps == null ? null : formulaConverter.Convert(o.Steps, c) }); }
public override SetRotationBrick Convert1(XmlPointInDirectionBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new SetRotationBrick { Value = o.Degrees == null ? null : formulaConverter.Convert(o.Degrees, c) }); }
public override SetBrightnessBrick Convert1(XmlSetBrightnessBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new SetBrightnessBrick { Percentage = o.Brightness == null ? null : formulaConverter.Convert(o.Brightness, c) }); }
public override ChangeBrightnessBrick Convert1(XmlChangeBrightnessBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new ChangeBrightnessBrick { RelativePercentage = o.ChangeBrightness == null ? null : formulaConverter.Convert(o.ChangeBrightness, c) }); }
public override SetVolumeBrick Convert1(XmlSetVolumeToBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new SetVolumeBrick { Percentage = o.Volume == null ? null : formulaConverter.Convert(o.Volume, c) }); }
public override DecreaseZOrderBrick Convert1(XmlGoNStepsBackBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new DecreaseZOrderBrick { RelativeValue = o.Steps == null ? null : formulaConverter.Convert(o.Steps, c) }); }
public override SetTransparencyBrick Convert1(XmlSetGhostEffectBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new SetTransparencyBrick { Percentage = o.Transparency == null ? null : formulaConverter.Convert(o.Transparency, c) }); }
public override TurnLeftBrick Convert1(XmlTurnLeftBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new TurnLeftBrick { RelativeValue = o.Degrees == null ? null : formulaConverter.Convert(o.Degrees, c) }); }
public override ForeverBrick Convert1(XmlForeverBrick o, XmlModelConvertContext c) { var loopEndBrickConverter = new ForeverEndBrickConverter(); var result = new ForeverBrick(); c.Bricks[o] = result; return(result); }
public override PlayNxtToneBrick Convert1(XmlNxtPlayToneBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new PlayNxtToneBrick { Frequency = o.Frequency == null ? null : formulaConverter.Convert(o.Frequency, c), Duration = o.DurationInSeconds == null ? null : formulaConverter.Convert(o.DurationInSeconds, c) }); }
public override SetPositionBrick Convert1(XmlPlaceAtBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new SetPositionBrick { ValueX = o.XPosition == null ? null : formulaConverter.Convert(o.XPosition, c), ValueY = o.YPosition == null ? null : formulaConverter.Convert(o.YPosition, c) }); }
public override SetNxtMotorSpeedBrick Convert1(XmlNxtMotorActionBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new SetNxtMotorSpeedBrick { Motor = o.Motor, Percentage = o.Speed == null ? null : formulaConverter.Convert(o.Speed, c) }); }
public override AnimatePositionBrick Convert1(XmlGlideToBrick o, XmlModelConvertContext c) { var formulaConverter = new FormulaConverter(); return(new AnimatePositionBrick { Duration = o.DurationInSeconds == null ? null : formulaConverter.Convert(o.DurationInSeconds, c), ToX = o.XDestination == null ? null : formulaConverter.Convert(o.XDestination, c), ToY = o.YDestination == null ? null : formulaConverter.Convert(o.YDestination, c) }); }
public override EndIfBrick Convert1(XmlIfLogicEndBrick o, XmlModelConvertContext c) { var ifBrickConverter = new IfLogicBrickConverter(); var elseBrickConverter = new IfLogicElseBrickConverter(); var result = new EndIfBrick(); c.Bricks[o] = result; result.Begin = o.IfLogicBeginBrick == null ? null : (IfBrick)ifBrickConverter.Convert(o.IfLogicBeginBrick, c); result.Else = o.IfLogicElseBrick == null ? null : (ElseBrick)elseBrickConverter.Convert(o.IfLogicElseBrick, c); return(result); }
public override TScript Convert(TXmlScript o, XmlModelConvertContext c) { var brickConverterCollection = new XmlModelConverterCollection <IBrickConverter>(); var result = Convert1(o, c); result.Bricks = o.Bricks == null || o.Bricks.Bricks == null ? null : o.Bricks.Bricks.Select(brick => (Brick)brickConverterCollection.Convert(brick, c)) .ToObservableCollection(); return(result); }
public override PlaySoundBrick Convert1(XmlPlaySoundBrick o, XmlModelConvertContext c) { Sound sound = null; if (o.Sound != null) { c.Sounds.TryGetValue(o.Sound, out sound); } return(new PlaySoundBrick { Value = sound }); }
public override SetLookBrick Convert1(XmlSetLookBrick o, XmlModelConvertContext c) { Look look = null; if (o.Look != null) { c.Looks.TryGetValue(o.Look, out look); } return(new SetLookBrick { Value = look }); }