示例#1
0
        public static void AddAxisAlignedCubePropertyComparer()
        {
            PropertyComparer <AxisAlignedCube> axisAlignedCubePropertyComparer =
                new PropertyComparer <AxisAlignedCube>();

            mPropertyComparers.Add(typeof(AxisAlignedCube), axisAlignedCubePropertyComparer);

            axisAlignedCubePropertyComparer.AddMemberWatching <float>("X");
            axisAlignedCubePropertyComparer.AddMemberWatching <float>("Y");
            axisAlignedCubePropertyComparer.AddMemberWatching <float>("Z");

            axisAlignedCubePropertyComparer.AddMemberWatching <float>("ScaleX");
            axisAlignedCubePropertyComparer.AddMemberWatching <float>("ScaleY");
            axisAlignedCubePropertyComparer.AddMemberWatching <float>("ScaleZ");
        }
示例#2
0
        static UndoManager()
        {
            // These should be moved into their own constructors that the user can call depending on what undos they need

            #region Set the members to watch for Sprites
            PropertyComparer <Sprite> spritePropertyComparer =
                new PropertyComparer <Sprite>();
            mPropertyComparers.Add(typeof(Sprite), spritePropertyComparer);

            spritePropertyComparer.AddMemberWatching <float>("X");
            spritePropertyComparer.AddMemberWatching <float>("Y");
            spritePropertyComparer.AddMemberWatching <float>("Z");

            spritePropertyComparer.AddMemberWatching <float>("ScaleX");
            spritePropertyComparer.AddMemberWatching <float>("ScaleY");

            spritePropertyComparer.AddMemberWatching <float>("RotationX");
            spritePropertyComparer.AddMemberWatching <float>("RotationY");
            spritePropertyComparer.AddMemberWatching <float>("RotationZ");

            spritePropertyComparer.AddMemberWatching <float>("RelativeX");
            spritePropertyComparer.AddMemberWatching <float>("RelativeY");
            spritePropertyComparer.AddMemberWatching <float>("RelativeZ");

            spritePropertyComparer.AddMemberWatching <float>("RelativeRotationX");
            spritePropertyComparer.AddMemberWatching <float>("RelativeRotationY");
            spritePropertyComparer.AddMemberWatching <float>("RelativeRotationZ");

            #endregion

            #region Set the members to watch for SpriteFrames
            PropertyComparer <SpriteFrame> spriteFramePropertyComparer =
                new PropertyComparer <SpriteFrame>();
            mPropertyComparers.Add(typeof(SpriteFrame), spriteFramePropertyComparer);

            spriteFramePropertyComparer.AddMemberWatching <float>("X");
            spriteFramePropertyComparer.AddMemberWatching <float>("Y");
            spriteFramePropertyComparer.AddMemberWatching <float>("Z");

            spriteFramePropertyComparer.AddMemberWatching <float>("ScaleX");
            spriteFramePropertyComparer.AddMemberWatching <float>("ScaleY");

            spriteFramePropertyComparer.AddMemberWatching <float>("RotationX");
            spriteFramePropertyComparer.AddMemberWatching <float>("RotationY");
            spriteFramePropertyComparer.AddMemberWatching <float>("RotationZ");

            spriteFramePropertyComparer.AddMemberWatching <float>("RelativeX");
            spriteFramePropertyComparer.AddMemberWatching <float>("RelativeY");
            spriteFramePropertyComparer.AddMemberWatching <float>("RelativeZ");

            spriteFramePropertyComparer.AddMemberWatching <float>("RelativeRotationX");
            spriteFramePropertyComparer.AddMemberWatching <float>("RelativeRotationY");
            spriteFramePropertyComparer.AddMemberWatching <float>("RelativeRotationZ");

            #endregion

            #region Set the members to watch for Polygons

            PolygonPropertyComparer polygonPropertyComparer = new PolygonPropertyComparer();
            mPropertyComparers.Add(typeof(Polygon), polygonPropertyComparer);

            polygonPropertyComparer.AddMemberWatching <float>("X");
            polygonPropertyComparer.AddMemberWatching <float>("Y");
            polygonPropertyComparer.AddMemberWatching <float>("Z");

            polygonPropertyComparer.AddMemberWatching <float>("RotationZ");

            #endregion

            #region Set the members to watch for AxisAlignedRectangles

            PropertyComparer <AxisAlignedRectangle> axisAlignedRectanglePropertyComparer =
                new PropertyComparer <AxisAlignedRectangle>();
            mPropertyComparers.Add(typeof(AxisAlignedRectangle), axisAlignedRectanglePropertyComparer);

            axisAlignedRectanglePropertyComparer.AddMemberWatching <float>("X");
            axisAlignedRectanglePropertyComparer.AddMemberWatching <float>("Y");
            axisAlignedRectanglePropertyComparer.AddMemberWatching <float>("Z");

            axisAlignedRectanglePropertyComparer.AddMemberWatching <float>("ScaleX");
            axisAlignedRectanglePropertyComparer.AddMemberWatching <float>("ScaleY");

            #endregion

            #region Set the members to watch for Circles

            PropertyComparer <Circle> circlePropertyComparer = new PropertyComparer <Circle>();
            mPropertyComparers.Add(typeof(Circle), circlePropertyComparer);

            circlePropertyComparer.AddMemberWatching <float>("X");
            circlePropertyComparer.AddMemberWatching <float>("Y");
            circlePropertyComparer.AddMemberWatching <float>("Z");

            circlePropertyComparer.AddMemberWatching <float>("Radius");

            #endregion

            #region Set the members to watch for Spheres

            PropertyComparer <Sphere> spherePropertyComparer =
                new PropertyComparer <Sphere>();
            mPropertyComparers.Add(typeof(Sphere), spherePropertyComparer);

            spherePropertyComparer.AddMemberWatching <float>("X");
            spherePropertyComparer.AddMemberWatching <float>("Y");
            spherePropertyComparer.AddMemberWatching <float>("Z");

            spherePropertyComparer.AddMemberWatching <float>("Radius");

            #endregion

            #region Set the members to watch for Texts
            PropertyComparer <Text> textPropertyComparer =
                new PropertyComparer <Text>();
            mPropertyComparers.Add(typeof(Text), textPropertyComparer);

            textPropertyComparer.AddMemberWatching <float>("X");
            textPropertyComparer.AddMemberWatching <float>("Y");
            textPropertyComparer.AddMemberWatching <float>("Z");

            textPropertyComparer.AddMemberWatching <float>("RotationZ");
            #endregion

            #region Set the members to watch for PositionedModels
            PropertyComparer <PositionedModel> positionedModelPropertyComparer =
                new PropertyComparer <PositionedModel>();
            mPropertyComparers.Add(typeof(PositionedModel), positionedModelPropertyComparer);

            positionedModelPropertyComparer.AddMemberWatching <float>("X");
            positionedModelPropertyComparer.AddMemberWatching <float>("Y");
            positionedModelPropertyComparer.AddMemberWatching <float>("Z");

            positionedModelPropertyComparer.AddMemberWatching <float>("RotationZ");

            #endregion

            #region Set the members to watch for SpriteGrids

            mPropertyComparers.Add(typeof(SpriteGrid),
                                   new SpriteGridPropertyComparer());

            #endregion
        }