public attachCamera() { Name = "attachCamera"; DeclaringType = new KnownStockTypes.ScriptCoreLib.ActionScript.flash.media.Video(); }
public static SolutionBuilder WithAdobeFlashCamera(this SolutionBuilder sln) { Func<StockSpriteType> GetType = () => new StockSpriteType(sln.Name, "ApplicationSprite"); var sprite = default(SolutionProjectLanguageField); sln.Interactive.GenerateTypes += AddType => { var ApplicationSprite = GetType(); sprite = ApplicationSprite.ToInitializedField("sprite"); sprite.DeclaringType = sln.Interactive.ApplicationType; #region video <- new Video(500, 400) var VideoType = new KnownStockTypes.ScriptCoreLib.ActionScript.flash.media.Video(); var video = VideoType.ToInitializedField("video"); video.FieldConstructor.ParameterExpressions = new[] { (PseudoInt32ConstantExpression)ScriptApplicationEntryPointAttribute.DefaultWidth, (PseudoInt32ConstantExpression)ScriptApplicationEntryPointAttribute.DefaultHeight }; ApplicationSprite.Fields.Add(video); #endregion var Camera_getCamera = new KnownStockTypes.ScriptCoreLib.ActionScript.flash.media.Camera.getCamera().ToCallExpression(); var LinqExtensions_With = new KnownStockTypes.ScriptCoreLib.Extensions.LinqExtensions.With().ToCallExpression( Camera_getCamera, new StockMethodInitializeCamera(video) ); ApplicationSprite.Constructor.Code.Add(LinqExtensions_With); AddType(ApplicationSprite); }; sln.Interactive.GenerateApplicationExpressions += AddCode => { AddCode(new CreateMySprite(GetType(), sprite)); }; return sln; }