/// <summary> /// loads graphics contents. This uses the shared ContentManager /// provided by the ScreenManager, so the content will remain loaded forever. /// Whenever a subsequent MessageBoxScreen tries to load this same content, /// it will just get back another reference to the already loaded instance. /// </summary> public override void LoadContent() { spriteBox = new GameSprite2D(); spriteBox.Create(1, "Textures/Text_Window"); refScene2DTopRoot.AddChild(spriteBox); spriteObjBox = spriteBox.AddSprite(0, "MessageBox frame"); textMessageItem = new TextItem(messageFont, message, 0, 0, new Color(136, 217, 224)); FrameworkCore.TextManager.AddText(textMessageItem); textControlsItem = new TextItem(messageFont, controls, 0, 0,Color.White); FrameworkCore.TextManager.AddText(textControlsItem); // Resizing all images OnSize(); }
/// <summary> /// Initialize all manangers and informations. /// </summary> protected override void Initialize() { // Creates debug font debugFont = FontManager.CreateFont("DebugFont", "Font/SmallArial"); // Initialize input manager InputManager.Initialize(); // Initialize viewer Viewer.Initialize(); // Initialize text manager TextManager.Initialize(); // Initialize FPS counter FpsCounter.Initialize(); // Add FPS info Vector2 pos = new Vector2(0, 0); pos = ClampSafeArea(pos); textFPS = TextManager.AddText(debugFont, string.Format("FPS : {0}", FrameworkCore.FpsCounter.Fps.ToString()), (int)pos.X, (int)pos.Y, Color.White); #if DEBUG textFPS.Visible = true; #else textFPS.Visible = false; #endif base.Initialize(); System.Diagnostics.Debug.WriteLine("Framework Initialize OK..."); }
/// <summary> /// removes the text item. /// </summary> /// <param name="item">text item</param> public bool RemoveText(TextItem item) { return(textList.Remove(item)); }
public override void UnloadContent() { this.refScene2DTopRoot.RemoveChild(this.spriteBox, false); if (FrameworkCore.TextManager != null) { FrameworkCore.TextManager.RemoveText(this.textControlsItem); FrameworkCore.TextManager.RemoveText(this.textMessageItem); } this.spriteBox = null; this.textMessageItem = null; this.textControlsItem = null; }
/// <summary> /// removes the text item. /// </summary> /// <param name="item">text item</param> public bool RemoveText(TextItem item) { return textList.Remove(item); }
/// <summary> /// adds a text item. /// </summary> /// <param name="item">a text item</param> public void AddText(TextItem item) { textList.Add(item); }
/// <summary> /// adds a text. /// </summary> /// <param name="font">sprite font</param> /// <param name="text">message</param> /// <param name="x">screen x-position</param> /// <param name="y">screen y-position</param> /// <param name="color">text color</param> /// <returns>text item</returns> public TextItem AddText(SpriteFont font, string text, int x, int y, Color color) { TextItem item = new TextItem(font, text, x, y, color); AddText(item); return item; }
/// <summary> /// initializes this screen. /// </summary> public override void InitializeScreen() { this.refScene3DRoot.RemoveAllChild(true); this.refScene3DRoot.AddChild(this.GameLevel.SceneWorldRoot); this.refScene3DRoot.AddChild(this.GameLevel.SceneMechRoot); this.refScene3DRoot.AddChild(this.GameLevel.SceneParticleRoot); this.refScene3DRoot.AddChild(this.GameLevel.SceneCollisionRoot); RobotGameGame.CurrentStage = this; // Free Camera FreeCamera freeCamera = new FreeCamera(); freeCamera.SetView(new Vector3(0.0f, 0.0f, 10.0f), Vector3.Forward, Vector3.Up); freeCamera.SetPespective(MathHelper.PiOver4, (float)Viewer.ViewWidth, (float)Viewer.ViewHeight, 1.0f, 10000.0f); ViewCamera freeViewCamera = new ViewCamera(freeCamera, null); Viewer.AddCamera("Free", freeViewCamera); // PostScreen effect { paramCenterX = boosterEffect.Parameters["xCenter"]; paramCenterY = boosterEffect.Parameters["yCenter"]; paramTexWidth = boosterEffect.Parameters["texWidth"]; paramTexHeight = boosterEffect.Parameters["texHeight"]; paramWaveWidth = boosterEffect.Parameters["width"]; paramWaveMag = boosterEffect.Parameters["mag"]; paramBloomThreshold = postScreenEffect.Parameters["BloomThreshold"]; paramBloomIntensity = postScreenEffect.Parameters["BloomIntensity"]; paramBloomSaturation = postScreenEffect.Parameters["BloomSaturation"]; paramBaseIntensity = postScreenEffect.Parameters["BaseIntensity"]; paramBaseSaturation = postScreenEffect.Parameters["BaseSaturation"]; // Entry the post screen processing function FrameworkCore.RenderContext.RenderingPostDraw3D += OnPostDraw3DScreen; } // Tracer bullets { tracerBulletManager = new TracerBulletManager(); tracerBulletManager.AddBulletInstance(0, 32, "Particles/Spark_Horizontal01", RobotGameGame.CurrentGameLevel.SceneParticleRoot); } this.refScene3DRoot.Initialize(); // Create 2D Scene layer for Hud this.refRenderContext.CreateScene2DLayer(2); this.refSceneHudRoot = FrameworkCore.Scene2DLayers[0]; this.refSceneMissionRoot = FrameworkCore.Scene2DLayers[1]; #if DEBUG Vector2 pos = new Vector2(0, 20); pos = FrameworkCore.ClampSafeArea(pos); camPosition = FrameworkCore.TextManager.AddText(FrameworkCore.DebugFont, "CAM :", (int)pos.X, (int)pos.Y, Color.White); camPosition.Visible = true; #endif FrameworkCore.GameEventManager.Enable = true; }
public bool IsSameValue(TextItem item) { if (Font != item.Font) return false; if (Text != item.Text) return false; if (PosX != item.PosX) return false; if (PosY != item.PosY) return false; if (Color != item.Color) return false; return true; }
public void CopyTo(TextItem target) { target.Font = Font; target.Text = Text; target.PosX = PosX; target.PosY = PosY; target.Color = Color; }