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; }
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); }