Esempio n. 1
0
            public static GameObject Get(Serialized serializedObject)
            {
                Font font;

                // Try to find font
                if (Engine.Fonts.ContainsKey(serializedObject.FontName))
                {
                    font = Engine.Fonts[serializedObject.FontName].GetFont(serializedObject.FontSize);
                }
                else
                {
                    font = Engine.DefaultFont;
                }

                var gameObject = new GameObject(font);

                gameObject.Animations = new Dictionary <string, Consoles.AnimatedTextSurface>();

                foreach (var item in serializedObject.Animations)
                {
                    var animation = Consoles.AnimatedTextSurface.Serialized.Get(item);
                    gameObject.Animations.Add(animation.Name, animation);
                }

                gameObject.IsVisible           = serializedObject.IsVisible;
                gameObject.position            = serializedObject.Position;
                gameObject.usePixelPositioning = serializedObject.UsePixelPositioning;
                gameObject.Name            = serializedObject.Name;
                gameObject.font            = font;
                gameObject.repositionRects = serializedObject.RepositionRects;
                gameObject.renderOffset    = serializedObject.RenderOffset;

                if (serializedObject.storedAsName)
                {
                    gameObject.animation = gameObject.Animations[serializedObject.storedAnimationName];
                }
                else
                {
                    gameObject.animation = Consoles.AnimatedTextSurface.Serialized.Get(serializedObject.Animation);
                }

                gameObject.animation.Font = gameObject.font;
                gameObject.UpdateAnimationRectangles();

                return(gameObject);
            }