示例#1
0
        public static GameObject ToFramework(GameObjectSerialized serializedObject)
        {
            var gameObject = new GameObject(serializedObject.Font);

            foreach (var item in serializedObject.Animations)
            {
                gameObject.Animations.Add(item.Name, item);
            }

            if (gameObject.Animations.ContainsKey(serializedObject.AnimationName))
            {
                gameObject.Animation = gameObject.Animations[serializedObject.AnimationName];
            }
            else
            {
                gameObject.Animation = serializedObject.Animations[0];
            }

            gameObject.IsVisible           = serializedObject.IsVisible;
            gameObject.Position            = serializedObject.Position;
            gameObject.UsePixelPositioning = serializedObject.UsePixelPositioning;
            gameObject.Name            = serializedObject.Name;
            gameObject.RenderOffset    = serializedObject.RenderOffset;
            gameObject.RepositionRects = serializedObject.RepositionRects;

            return(gameObject);
        }
        public static GameObjectSerialized FromFramework(GameObject gameObject)
        {
            var serializedObject = new GameObjectSerialized()
            {
                AnimationName = gameObject.Animation != null ? gameObject.Animation.Name : "",
                Animations = new List<Consoles.AnimatedTextSurface>(gameObject.Animations.Values),
                Font = gameObject.Font,
                IsVisible = gameObject.IsVisible,
                Position = gameObject.Position,
                RepositionRects = gameObject.RepositionRects,
                UsePixelPositioning = gameObject.UsePixelPositioning,
                Name = gameObject.Name,
                RenderOffset = gameObject.RenderOffset
            };

            if (!gameObject.Animations.ContainsKey(serializedObject.AnimationName))
                serializedObject.Animations.Add(gameObject.Animation);

            return serializedObject;
        }
        public static GameObject ToFramework(GameObjectSerialized serializedObject)
        {
            var gameObject = new GameObject(serializedObject.Font);

            foreach (var item in serializedObject.Animations)
                gameObject.Animations.Add(item.Name, item);

            if (gameObject.Animations.ContainsKey(serializedObject.AnimationName))
                gameObject.Animation = gameObject.Animations[serializedObject.AnimationName];
            else
                gameObject.Animation = serializedObject.Animations[0];

            gameObject.IsVisible = serializedObject.IsVisible;
            gameObject.Position = serializedObject.Position;
            gameObject.UsePixelPositioning = serializedObject.UsePixelPositioning;
            gameObject.Name = serializedObject.Name;
            gameObject.RenderOffset = serializedObject.RenderOffset;
            gameObject.RepositionRects = serializedObject.RepositionRects;

            return gameObject;
        }
示例#4
0
        public static GameObjectSerialized FromFramework(GameObject gameObject)
        {
            var serializedObject = new GameObjectSerialized()
            {
                AnimationName       = gameObject.Animation != null ? gameObject.Animation.Name : "",
                Animations          = new List <Consoles.AnimatedTextSurface>(gameObject.Animations.Values),
                Font                = gameObject.Font,
                IsVisible           = gameObject.IsVisible,
                Position            = gameObject.Position,
                RepositionRects     = gameObject.RepositionRects,
                UsePixelPositioning = gameObject.UsePixelPositioning,
                Name                = gameObject.Name,
                RenderOffset        = gameObject.RenderOffset
            };

            if (!gameObject.Animations.ContainsKey(serializedObject.AnimationName))
            {
                serializedObject.Animations.Add(gameObject.Animation);
            }

            return(serializedObject);
        }
示例#5
0
 internal static void EnsureMapping()
 {
     if (!Serializer.HasMapping(typeof(GameObject), typeof(GameObjectSerialized)))
     {
         Serializer.AddMapping(typeof(GameObject), typeof(GameObjectSerialized), (obj) => { return((object)GameObjectSerialized.FromFramework((GameObject)obj)); }, (obj) => { return((object)GameObjectSerialized.ToFramework((GameObjectSerialized)obj)); });
     }
 }