Example #1
0
        public void FromItem(AGSSerializationContext context, IObject item)
        {
            ID          = item.ID;
            RenderLayer = context.GetContract(item.RenderLayer);

            Properties = context.GetContract(item.Properties);

            AnimationComponent = new ContractAnimationComponent();
            AnimationComponent.FromItem(context, item);

            if (item.WalkPoint != null)
            {
                WalkPoint = new Tuple <float, float> (item.WalkPoint.Value.X, item.WalkPoint.Value.Y);
            }
            Enabled           = item.UnderlyingEnabled;
            Visible           = item.UnderlyingVisible;
            Hotspot           = item.Hotspot;
            IgnoreViewport    = item.IgnoreViewport;
            IgnoreScalingArea = item.IgnoreScalingArea;
            if (Parent == null && item.TreeNode != null && item.TreeNode.Parent != null)
            {
                Parent = context.GetContract(item.TreeNode.Parent);
            }
            if (item.Width != 0f)
            {
                var scaleX = item.ScaleX;
                var scaleY = item.ScaleY;
                item.ResetScale();
                InitialWidth  = item.Width;
                InitialHeight = item.Height;
                item.Scale    = new PointF(scaleX, scaleY);
            }
            Image = new Contract <IImage>();
            Image.FromItem(context, item.Image);
            Pivot          = new Tuple <float, float>(item.Pivot.X, item.Pivot.Y);
            Tint           = item.Tint.Value;
            Angle          = item.Angle;
            ScaleX         = item.ScaleX;
            ScaleY         = item.ScaleY;
            IsPixelPerfect = item.PixelPerfectHitTestArea != null;
            Location       = new Tuple <float, float, float>(item.X, item.Y, item.Z);
            CustomRenderer = item.CustomRenderer == null ? null : item.CustomRenderer.GetType().Name;
        }
Example #2
0
        public void FromItem(AGSSerializationContext context, IObject item)
        {
            ID          = item.ID;
            RenderLayer = context.GetContract(item.RenderLayer);

            Properties = context.GetContract(item.Properties);

            AnimationComponent = new ContractAnimationComponent();
            AnimationComponent.FromItem(context, item);

            Enabled           = item.UnderlyingEnabled;
            Visible           = item.UnderlyingVisible;
            DisplayName       = item.DisplayName;
            IgnoreViewport    = item.IgnoreViewport;
            IgnoreScalingArea = item.IgnoreScalingArea;
            if (Parent == null && item.TreeNode != null && item.TreeNode.Parent != null)
            {
                Parent = context.GetContract(item.TreeNode.Parent);
            }
            // ReSharper disable once CompareOfFloatsByEqualityOperator
            if (item.Width != 0f)
            {
                var scaleX = item.ScaleX;
                var scaleY = item.ScaleY;
                item.ResetScale();
                InitialWidth  = item.Width;
                InitialHeight = item.Height;
                item.Scale    = new PointF(scaleX, scaleY);
            }
            Image = new Contract <IImage>();
            Image.FromItem(context, item.Image);
            Pivot          = new Tuple <float, float>(item.Pivot.X, item.Pivot.Y);
            Tint           = item.Tint.Value;
            Angle          = item.Angle;
            ScaleX         = item.ScaleX;
            ScaleY         = item.ScaleY;
            IsPixelPerfect = item.IsPixelPerfect;
            Position       = new Tuple <float, float, float>(item.X, item.Y, item.Z);
        }