private static SpriterSpatial Copy(SpriterSpatial info)
        {
            SpriterSpatial copy = SpriterObjectPool.GetObject <SpriterSpatial>();

            FillFrom(copy, info);
            return(copy);
        }
예제 #2
0
        public void AddObjectTag(string objectName, string tag)
        {
            List <string> tags;

            if (!ObjectTags.TryGetValue(objectName, out tags))
            {
                tags = SpriterObjectPool.GetObject <List <string> >();
                ObjectTags[objectName] = tags;
            }
            tags.Add(tag);
        }
예제 #3
0
        public void AddObjectVar(string objectName, string varName, SpriterVarValue value)
        {
            Dictionary <string, SpriterVarValue> values;

            if (!ObjectVars.TryGetValue(objectName, out values))
            {
                values = SpriterObjectPool.GetObject <Dictionary <string, SpriterVarValue> >();
                ObjectVars[objectName] = values;
            }
            values[varName] = value;
        }
        private static SpriterSpatial Interpolate(SpriterSpatial a, SpriterSpatial b, float f, int spin)
        {
            SpriterSpatial ss = SpriterObjectPool.GetObject <SpriterSpatial>();

            ss.Angle  = MathHelper.AngleLinear(a.Angle, b.Angle, spin, f);
            ss.X      = MathHelper.Linear(a.X, b.X, f);
            ss.Y      = MathHelper.Linear(a.Y, b.Y, f);
            ss.ScaleX = MathHelper.Linear(a.ScaleX, b.ScaleX, f);
            ss.ScaleY = MathHelper.Linear(a.ScaleY, b.ScaleY, f);

            return(ss);
        }
        private static SpriterObject Copy(SpriterObject info)
        {
            SpriterObject so = SpriterObjectPool.GetObject <SpriterObject>();

            so.AnimationId = info.AnimationId;
            so.EntityId    = info.EntityId;
            so.FileId      = info.FileId;
            so.FolderId    = info.FolderId;
            so.PivotX      = info.PivotX;
            so.PivotY      = info.PivotY;
            so.T           = info.T;

            FillFrom(so, info);
            return(so);
        }
        private static SpriterObject Interpolate(SpriterObject a, SpriterObject b, float f, int spin)
        {
            SpriterObject so = SpriterObjectPool.GetObject <SpriterObject>();

            so.Angle       = MathHelper.AngleLinear(a.Angle, b.Angle, spin, f);
            so.Alpha       = MathHelper.Linear(a.Alpha, b.Alpha, f);
            so.X           = MathHelper.Linear(a.X, b.X, f);
            so.Y           = MathHelper.Linear(a.Y, b.Y, f);
            so.ScaleX      = MathHelper.Linear(a.ScaleX, b.ScaleX, f);
            so.ScaleY      = MathHelper.Linear(a.ScaleY, b.ScaleY, f);
            so.PivotX      = a.PivotX;
            so.PivotY      = a.PivotY;
            so.FileId      = a.FileId;
            so.FolderId    = a.FolderId;
            so.EntityId    = a.EntityId;
            so.AnimationId = a.AnimationId;
            so.T           = MathHelper.Linear(a.T, b.T, f);

            return(so);
        }