public override void StartUp() { // Do anything your plugin needs to do when it first starts up mCoreItemAdder = new CodeBuildItemAdder(); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.AfterThatDecision.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.DecisionAndList.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.DecisionOrList.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.DelegateDecision.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.GeneralAction.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.GeneralDecision.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.IDecisionList.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.IDoScriptEngine.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.IIfScriptEngine.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.IScriptAction.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.IScriptDecision.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.Script.cs"); mCoreItemAdder.Add("GameScriptingPlugin.EmbeddedCodeFiles.ScriptEngine.cs"); mCoreItemAdder.OutputFolderInProject = "GameScriptingCore"; //this.ReactToLoadedGlux += HandleOpenProject; this.AddMenuItemTo("Add Game Script Core Classes", HandleAddGameScript, "Plugins"); mDebuggingItemAdder = new CodeBuildItemAdder(); mDebuggingItemAdder.Add( "GameScriptingPlugin/EmbeddedCodeFilesDebugging/ScriptDebuggingForm.cs"); mDebuggingItemAdder.Add( "GameScriptingPlugin/EmbeddedCodeFilesDebugging/ScriptDebuggingForm.Designer.cs"); mDebuggingItemAdder.OutputFolderInProject = "GameScriptingDebugging"; this.AddMenuItemTo("Add Game Script Debugging Classes", HandleAddGameScriptDebugging, "Plugins"); }
public override void StartUp() { AvailableAssetTypes.Self.AddAssetType(new AssetTypeInfo { FriendlyName = "ModelDrawableBatch", CanBeObject = true, QualifiedRuntimeTypeName = new PlatformSpecificType { Platform = "All", QualifiedType = "ModelPlugin.ModelDrawableBatch" }, AddToManagersMethod = new List <String> { "this.AddToManagers()" }, //LayeredAddToManagersMethod = new List<String> { "this.AddToManagersLayered(mLayer)" }, DestroyMethod = "this.Destroy()", ShouldAttach = true, MustBeAddedToContentPipeline = false, CanBeCloned = true, HasCursorIsOn = false, HasVisibleProperty = false, //Maybe make true? CanIgnorePausing = false, ExtraVariablesPattern = "Microsoft.Xna.Framework.Graphics.Model Model; float X; float Y; float Z; float ScaleX; float ScaleY; float ScaleZ; float RotationX; float RotationY; " + "float RotationZ; float Alpha; Color BlendFactor; bool TextureEnabled; Texture2D ModelTexture; bool VertexColorEnabled; " + "bool LightingEnabled; bool PreferPerPixelLighting; bool FogEnabled; float FogStart; float FogEnd; float FogColorR; float FogColorG; float FogColorB;", }); itemAdder.Add("ModelDrawableBatch.cs"); itemAdder.OutputFolderInProject = "ModelPlugin"; ReactToLoadedGlux += HandleGluxLoad; }
public void AddFilesToCodeBuildItemAdder() { mTileGraphicsAdder = new CodeBuildItemAdder(); mTileGraphicsAdder.OutputFolderInProject = "TileGraphics"; mTileGraphicsAdder.AddFileBehavior = AddFileBehavior.AlwaysCopy; mTileGraphicsAdder.Add("TileGraphicsPlugin.AnimationChainContainer.cs"); // Are we still supporting this? //mItemAdder.Add("TileGraphicsPlugin.CulledMapDrawableBatch.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin.LayeredTileMap.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin.LayeredTileMapAnimation.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin.MapDrawableBatch.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin.Tileset.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin.ReducedTileMapInfo.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin.TileAnimationFrame.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin.TileNodeNetworkCreator.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/AbstractMapLayer.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/ExternalTileset.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/MapLayer.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/MapTileset.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/MapTilesetTile.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/NamedValue.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/TiledMapSave.Conversion.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/TiledMapSave.Serialization.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/TileAnimation.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/TiledMapToShapeCollectionConverter.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/TilesetExtensionMethods.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/TilesetExtensionMethods.cs"); mTileGraphicsAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/ReducedTileMapInfo.TiledMapSave.cs"); mTileCollisionAdder = new CodeBuildItemAdder(); mTileCollisionAdder.OutputFolderInProject = "TileCollisions"; mTileCollisionAdder.AddFileBehavior = AddFileBehavior.AlwaysCopy; mTileCollisionAdder.Add("TileGraphicsPlugin.TileShapeCollection.cs"); mTileCollisionAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/CollidableListVsTileShapeCollectionRelationship.cs"); mTileCollisionAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/CollidableVsTileShapeCollectionRelationship.cs"); mTileCollisionAdder.Add("TileGraphicsPlugin/EmbeddedCodeFiles/CollisionManagerTileShapeCollectionExtensions.cs"); mTileEntityAdder = new CodeBuildItemAdder(); mTileEntityAdder.OutputFolderInProject = "TileEntities"; mTileEntityAdder.AddFileBehavior = AddFileBehavior.AlwaysCopy; mTileEntityAdder.Add("TileGraphicsPlugin.TileEntityInstantiator.cs"); }
public static void AddEmbeddedCode() { var adder = new CodeBuildItemAdder(); adder.OutputFolderInProject = "OcularPlaneRuntime"; adder.AddFileBehavior = AddFileBehavior.IfOutOfDate; adder.Add("LiveUpdater.CodeGeneration.EntireFiles.OcularPlaneManager.cs"); var assembly = typeof(EmbeddedCodeAdder).Assembly; adder.PerformAddAndSave(assembly); }
private void UpdateAdvancedStateInterpolationFiles(Assembly assembly, FileAdditionBehavior behavior) { mStateInterpolationItemAdder = new CodeBuildItemAdder(); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Back.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Bounce.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Circular.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Cubic.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Elastic.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Exponential.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Instant.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Linear.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Quadratic.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Quartic.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Quintic.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/ShakeTweener.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Sinusoidal.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/Tweener.cs"); mStateInterpolationItemAdder.Add("GumPlugin/Embedded/StateInterpolation/TweenerManager.cs"); mStateInterpolationItemAdder.OutputFolderInProject = "StateInterpolation"; if (behavior == FileAdditionBehavior.EmbedCodeFiles) { mStateInterpolationItemAdder.AddFileBehavior = AddFileBehavior.IfOutOfDate; TaskManager.Self.AddSync(() => { FlatRedBall.Glue.Plugins.PluginManager.ReceiveOutput("Adding interpolation files from Gum plugin"); mStateInterpolationItemAdder.IsVerbose = true; mStateInterpolationItemAdder.PerformAddAndSave(assembly); } , "Adding interpolation files for Gum"); } else if (behavior == FileAdditionBehavior.IncludeNoFiles) { TaskManager.Self.AddSync(() => { mStateInterpolationItemAdder.PerformRemoveAndSave(assembly); }, "Removing standard Gum files"); } }
private CodeBuildItemAdder GetGumCoreCodeItemAdder(Assembly assemblyContainingResources) { var codeItemAdder = new CodeBuildItemAdder(); codeItemAdder.OutputFolderInProject = "GumCore"; codeItemAdder.Add("GumPlugin/Embedded/ContentManagerWrapper.cs"); codeItemAdder.Add("GumPlugin/Embedded/GumIdb.cs"); codeItemAdder.Add("GumPlugin/Embedded/PlatformCompatability.cs"); codeItemAdder.Add("GumPlugin/Embedded/PositionedObjectGueWrapper.cs"); codeItemAdder.Add("GumPlugin/Embedded/GraphicalUiElement.IWindow.cs"); codeItemAdder.Add("GumPlugin/Embedded/SystemManagers.FlatRedBall.cs"); codeItemAdder.Add("GumPlugin/Embedded/GumAnimation.cs"); // Sometimes we can add entire folders because the extensions // are simple: codeItemAdder.AddFolder("GumPlugin.Embedded.LibraryFiles.GumDataTypes", assemblyContainingResources); // But in situations where files have names like // FileName.Subname.cs, we have to be explicit and use slashes: codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/Blend.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/ElementSaveExtensionMethods.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/ElementSaveExtensions.GumRuntime.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/ElementWithState.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/GraphicalUiElement.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/InstanceSaveExtensionMethods.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/InstanceSaveExtensionMethods.GumRuntime.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/ObjectFinder.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/RecursiveVariableFinder.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/StandardElementsManager.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/StateSaveExtensionMethods.cs"); codeItemAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/VariableSaveExtensionMethods.cs"); codeItemAdder.AddFolder("GumPlugin.Embedded.LibraryFiles.RenderingLibrary", assemblyContainingResources); codeItemAdder.AddFolder("GumPlugin.Embedded.LibraryFiles.ToolsUtilities", assemblyContainingResources); return(codeItemAdder); }
private void UpdateGumFiles(Assembly assembly) { mCodeAdder = new CodeBuildItemAdder(); mCodeAdder.OutputFolderInProject = "GumCore"; // April 14, 2017 // Used to only copy // if out of date, but // this plugin is updated // so frequently, and if we // don't force copy, then starter // projects will aywas be out of date // because their modified date is newer // than the plugin. //mCodeAdder.AddFileBehavior = AddFileBehavior.IfOutOfDate; mCodeAdder.AddFileBehavior = AddFileBehavior.AlwaysCopy; mCodeAdder.Add("GumPlugin/Embedded/ContentManagerWrapper.cs"); mCodeAdder.Add("GumPlugin/Embedded/GumIdb.cs"); mCodeAdder.Add("GumPlugin/Embedded/PlatformCompatability.cs"); mCodeAdder.Add("GumPlugin/Embedded/GraphicalUiElement.IWindow.cs"); mCodeAdder.Add("GumPlugin/Embedded/SystemManagers.FlatRedBall.cs"); mCodeAdder.Add("GumPlugin/Embedded/GumAnimation.cs"); // Sometimes we can add entire folders because the extensions // are simple: mCodeAdder.AddFolder("GumPlugin.Embedded.LibraryFiles.GumDataTypes", assembly); // But in situations where files have names like // FileName.Subname.cs, we have to be explicit and use slashes: mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/Blend.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/ElementSaveExtensionMethods.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/ElementSaveExtensions.GumRuntime.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/ElementWithState.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/GraphicalUiElement.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/InstanceSaveExtensionMethods.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/InstanceSaveExtensionMethods.GumRuntime.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/ObjectFinder.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/RecursiveVariableFinder.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/StandardElementsManager.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/StateSaveExtensionMethods.cs"); mCodeAdder.Add("GumPlugin/Embedded/LibraryFiles/GumRuntime/VariableSaveExtensionMethods.cs"); mCodeAdder.AddFolder("GumPlugin.Embedded.LibraryFiles.RenderingLibrary", assembly); mCodeAdder.AddFolder("GumPlugin.Embedded.LibraryFiles.ToolsUtilities", assembly); TaskManager.Self.AddSync(() => mCodeAdder.PerformAddAndSave(assembly), "Adding standard Gum files"); }
public override void StartUp() { // We need this to happen when the glux is loaded //UpdateCodeInProjectPresence(); mItemAdder = new CodeBuildItemAdder(); mItemAdder.Add("StateInterpolationPlugin.Back.cs"); mItemAdder.Add("StateInterpolationPlugin.Bounce.cs"); mItemAdder.Add("StateInterpolationPlugin.Circular.cs"); mItemAdder.Add("StateInterpolationPlugin.Cubic.cs"); mItemAdder.Add("StateInterpolationPlugin.Elastic.cs"); mItemAdder.Add("StateInterpolationPlugin.Exponential.cs"); mItemAdder.Add("StateInterpolationPlugin.Linear.cs"); mItemAdder.Add("StateInterpolationPlugin.Quadratic.cs"); mItemAdder.Add("StateInterpolationPlugin.Quartic.cs"); mItemAdder.Add("StateInterpolationPlugin.Quintic.cs"); mItemAdder.Add("StateInterpolationPlugin.ShakeTweener.cs"); mItemAdder.Add("StateInterpolationPlugin.Sinusoidal.cs"); mItemAdder.Add("StateInterpolationPlugin.Tweener.cs"); mItemAdder.Add("StateInterpolationPlugin.TweenerManager.cs"); mItemAdder.AddFileBehavior = AddFileBehavior.IfOutOfDate; mItemAdder.OutputFolderInProject = "StateInterpolation"; this.AdjustDisplayedEntity += HandleAdjustDisplayedEntity; this.AdjustDisplayedScreen += HandleAdjustDisplayedScreen; this.ReactToLoadedGlux += HandleGluxLoad; mCodeGenerator = new StateInterpolationCodeGenerator(); CodeWriter.CodeGenerators.Add(mCodeGenerator); }