protected override void LoadContent()
        {
            base.LoadContent();
            _systemReady = true;

            try
            {
                FromInternal("{error}", "Error.derpyeyes");
                FromInternal("{notex}", "Error.notexture");
                FromInternal("{achievement}", "Data.achievements");
                FromInternal("{bits}", "UI.bitcollection");
                FromInternal("{load}", "Loading.loadingscreen_filler");

                var Effect = new Objects.Graphics.BasicEffectObject("{basic_effect}");

                var smallFont = new FontObject("{smallfont}", @"fonts\celestia_redux");
                _fonts["{smallfont}"] = smallFont;
                var largeFont = new FontObject("{largefont}", @"fonts\celestia_redux_large");
                _fonts["{largefont}"] = largeFont;

                _frameCapture = new TargetObject("{screen}", GraphicsDevice, EngineGlobals.Settings.WindowWidth, EngineGlobals.Settings.WindowHeight);
                _empty        = CreatePixelTexture("{empty}", Color.Transparent);
                _singleWhite  = CreatePixelTexture("{single}");
            }
            catch (System.Exception ex)
            {
                EquestriEngine.ErrorMessage = ex.Message;
            }

            LoadTextures();
            LoadFonts();
            LoadEffects();
            LoadSkeletons();
        }
 public FontTestHost(string text, FontObject fontObject)
 {
     _visual             = new FontTestVisual(text, fontObject);
     Width               = _visual.Width;
     Height              = _visual.Height;
     HorizontalAlignment = HorizontalAlignment.Left;
     VerticalAlignment   = VerticalAlignment.Top;
     Margin              = new Thickness(4d);
 }
示例#3
0
 protected override void LoadContent()
 {
     spriteBatch = new Equestribatch(GraphicsDevice);
     //_skelebatch = new EquestriSkeleBatch(GraphicsDevice);
     errorTexture = AssetManager.GetTexture("{error}");
     smallFont    = AssetManager.GetFont("{smallfont}");
     TextureObjectFactory.Device_Ref = GraphicsDevice;
     base.LoadContent();
 }
 public override void Init()
 {
     entryComplete            =
         displayComplete      =
             delayComplete    =
                 exitComplete = false;
     _bits        = EngineGlobals.GameReference.AssetManager.GetTexture("{bits}");
     _fontDisplay = EngineGlobals.GameReference.AssetManager.GetFont("{largefont}");
     Show();
 }
示例#5
0
 public ConsoleWindow(object game)
     : base(game)
 {
     _font         = EquestriEngine.AssetManager.CreateFontFromFile("{console}", @"fonts\celestia_redux");
     _consoleColor = Color.Multiply(Color.White, 0.5f);
     _currentMode  = ConsoleMode.Console;
     _consoleInput = new Variable("");
     _entries      = "";
     process       = System.Diagnostics.Process.GetCurrentProcess();
 }
示例#6
0
        private void PreBuildFonts(System.Windows.Media.FontFamily[] fonts, string cacheFilePath)
        {
            var b = new BackgroundWorker();

            b.DoWork += (sender, args) =>
            {
                System.Diagnostics.Debug.WriteLine("Preloading fonts");
                if (!Directory.Exists(Path.GetDirectoryName(cacheFilePath)))
                {
                    Directory.CreateDirectory(Path.GetDirectoryName(cacheFilePath));
                }

                if (File.Exists(cacheFilePath))
                {
                    try
                    {
                        using (var fs = new FileStream(cacheFilePath, FileMode.Open))
                            FontObject.ReadDictionaryFromStream(fs);
                    }
                    catch
                    {
                        File.Delete(cacheFilePath);
                    }
                }

                var okFonts = new List <FontObject>();
                foreach (System.Windows.Media.FontFamily font in fonts)
                {
                    try
                    {
                        var f = new FontObject(font);
                        if (f.GetStyledFontGeometryUsingCache() != null)
                        {
                            okFonts.Add(f);
                        }
                    }
                    catch { }
                }

                if (!File.Exists(cacheFilePath) || okFonts.Count != FontObject.GeometryCount)
                {
                    using (var fs = new FileStream(cacheFilePath, FileMode.Create))
                        FontObject.SaveDictionaryToStream(fs);
                }

                args.Result = okFonts.ToArray();
            };
            b.RunWorkerCompleted += (sender, args) =>
            {
                AllFonts = (FontObject[])args.Result;
                System.Diagnostics.Debug.WriteLine("Fonts preloaded");
                SubtitleFont = AllFonts.First(f => f.Font.ToString().ToLowerInvariant().Contains("impact"));
            };
            b.RunWorkerAsync();
        }
        public override void LoadContent()
        {

            //_messageBoxWindow = Systems.AssetManager.GetTexture("message_box");
            _messageBoxWindowTexture = EngineGlobals.GameReference.AssetManager.CreateTextureObjectFromFile("message_box", @"Graphics\UI\MessageBox");
            _nameBoxWindowTexture = EngineGlobals.GameReference.AssetManager.CreateTextureObjectFromFile("name_box", @"Graphics\UI\namebox");
            _continueArrowTexture = EngineGlobals.GameReference.AssetManager.CreateTextureObjectFromFile("continue_arrow", @"Graphics\UI\textbox_arrow");

            _messageBoxFont = EngineGlobals.GameReference.AssetManager.GetFont("{largefont}");
            name = "Fluttershy";
        }
示例#8
0
        public override void Init()
        {
            _windowTarget = EngineGlobals.GameReference.AssetManager.CreateTargetObject("{achievementgenerator" + instanceNumber + "}", WIDGET_WIDTH, WIDGET_HEIGHT);

            _displayFont   = EngineGlobals.GameReference.AssetManager.GetFont("{smallfont}");
            _windowTexture = EngineGlobals.GameReference.AssetManager.CreatePixelTexture("{awind_texture}");

            _achievementTexture = EngineGlobals.GameReference.AssetManager.GetTexture("{achievement}");

            _windowTarget.RunTarget(GenerateWidget);

            Show();
        }
        /// <summary>
        /// Get a Font Object from the AssetManager
        /// </summary>
        /// <param name="fontObject"></param>
        /// <returns></returns>
        public FontObject GetFont(string fontObject)
        {
            FontObject temp = null;

            try
            {
                temp = _fonts[fontObject];
            }
            catch
            {
                throw new EngineException("No such font exists " + fontObject, true);
            }
            return(temp);
        }
示例#10
0
        public FontTestVisual(string text, FontObject fontObject)
        {
            var totalX = 0d;
            var totalY = 0d;

            using (var dc = RenderOpen()) {
                foreach (var cropped in text.Select(fontObject.BitmapForChar).Where(cropped => cropped != null))
                {
                    dc.DrawImage(cropped, new Rect(totalX, 0, cropped.PixelWidth, cropped.PixelHeight));
                    totalX += cropped.PixelWidth;
                    totalY  = Math.Max(totalY, cropped.PixelHeight);
                }
            }

            Width  = totalX;
            Height = totalY;
        }
 public FontObject CreateFontFromFile(string name, string fileName)
 {
     if (!_systemReady)
     {
         throw new EngineException("System not ready for creation", true);
     }
     if (_fonts.ContainsKey(name))
     {
         return(_fonts[name]);
     }
     else
     {
         FontObject newFont = new FontObject(name, fileName);
         _fonts[name] = newFont;
         return(newFont);
     }
 }
        public override void LoadContent()
        {
            //_messageBoxWindow = Systems.AssetManager.GetTexture("message_box");
            if (_messageBoxWindowTexture == null)
            {
                _messageBoxWindowTexture = new TextureObject("message_box", @"Graphics\UI\MessageBox");
                _nameBoxWindowTexture    = new TextureObject("name_box", @"Graphics\UI\namebox");
                _continueArrowTexture    = new TextureObject("continue_arrow", @"Graphics\UI\textbox_arrow");
            }

            _messageBoxFont = EquestriEngine.AssetManager.GetFont("{largefont}");
            boxOrigin       = new Vector2(_messageBoxWindowTexture.Width / 2, _messageBoxWindowTexture.Height / 2);
            name            = "Fluttershy";
            if (name != null)
            {
                _nameBoxWindow = EquestriEngine.AssetManager.CreateTargetObject("{namebox_texture}", (int)_messageBoxFont.Measure(name).X + 50, 74);
                _nameBoxWindow.RunTarget(DrawNameBox, Color.Transparent);
            }
            base.LoadContent();
        }
示例#13
0
        bool IImmediateContent.ImmediateChange(Uri uri)
        {
            var id = uri.GetQueryParam("Id");

            if (id == null)
            {
                return(false);
            }

            var obj = FontsManager.Instance.GetById(id);

            if (obj == null)
            {
                return(false);
            }

            _id     = id;
            _object = obj;
            SetModel();
            return(true);
        }
示例#14
0
 async Task ILoadableContent.LoadAsync(CancellationToken cancellationToken)
 {
     _object = await FontsManager.Instance.GetByIdAsync(_id);
 }
示例#15
0
 void ILoadableContent.Load()
 {
     _object = FontsManager.Instance.GetById(_id);
 }
示例#16
0
 public FontDefinition(FontObject font, int size)
 {
     _font = font;
     _size = size;
 }