Example #1
0
                        public bool Pack(Library_SpriteStudio6.Data.Animation.PackAttribute.ContainerInt container,
                                         string nameAttribute,
                                         int countFrame,
                                         Library_SpriteStudio6.Data.Animation.Parts.FlagBitStatus flagStatusParts,
                                         int[] tableOrderDraw,
                                         int[] tableOrderPreDraw,
                                         params Library_SpriteStudio6.Data.Animation.Attribute.Importer.AttributeInt[] listKeyData
                                         )
                        {                               /* MEMO: "ListKeyData.Length" is always 1 *//* MEMO: No inheritance is related to attribute stored in this type. */
                            container.TableCodeValue = new Library_SpriteStudio6.Data.Animation.PackAttribute.CodeValueContainer[0];

                            if (0 >= listKeyData[0].CountGetKey())
                            {
                                container.TableValue = new int[0];
                                return(true);
                            }

                            /* MEMO: Default value when attribute has no key data differs depending on attribute. */
                            int valueDefault = 0;

                            int value;

                            container.TableValue = new int[countFrame];
                            for (int i = 0; i < countFrame; i++)
                            {
                                if (false == listKeyData[0].ValueGet(out value, i))
                                {
                                    value = valueDefault;
                                }
                                container.TableValue[i] = value;
                            }
                            return(true);
                        }
Example #2
0
                        public bool Pack(Library_SpriteStudio6.Data.Animation.PackAttribute.ContainerVector2 container,
                                         string nameAttribute,
                                         int countFrame,
                                         Library_SpriteStudio6.Data.Animation.Parts.FlagBitStatus flagStatusParts,
                                         int[] tableOrderDraw,
                                         int[] tableOrderPreDraw,
                                         params Library_SpriteStudio6.Data.Animation.Attribute.Importer.AttributeFloat[] listKeyData
                                         )
                        {                               /* MEMO: "ListKeyData.Length" is always 2 (X, Y) *//* MEMO: No inheritance is related to attribute stored in this type. */
                            container.TableCodeValue = new Library_SpriteStudio6.Data.Animation.PackAttribute.CodeValueContainer[0];

                            if ((0 >= listKeyData[0].CountGetKey()) && (0 >= listKeyData[1].CountGetKey()))
                            {
                                container.TableValue = new Vector2[0];
                                return(true);
                            }

                            float valueDefault = 0.0f;

                            switch (nameAttribute)
                            {
                            case Library_SpriteStudio6.Data.Animation.Attribute.Importer.NameAttributeScaling:
                            case Library_SpriteStudio6.Data.Animation.Attribute.Importer.NameAttributeScalingLocal:
                            case Library_SpriteStudio6.Data.Animation.Attribute.Importer.NameAttributeScalingTexture:
                                /* MEMO: Attribute for scales, default value when has no key is 1.0f. */
                                valueDefault = 1.0f;
                                break;

                            case Library_SpriteStudio6.Data.Animation.Attribute.Importer.NameAttributeSizeForce:
                                /* MEMO: "SizeForce", default value when has no key is -1.0f(No change). */
                                valueDefault = -1.0f;
                                break;

                            default:
                                valueDefault = 0.0f;
                                break;
                            }

                            float value;

                            container.TableValue = new Vector2[countFrame];
                            for (int i = 0; i < countFrame; i++)
                            {
                                if (false == listKeyData[0].ValueGet(out value, i))
                                {
                                    value = valueDefault;
                                }
                                container.TableValue[i].x = value;

                                if (false == listKeyData[1].ValueGet(out value, i))
                                {
                                    value = valueDefault;
                                }
                                container.TableValue[i].y = value;
                            }
                            return(true);
                        }
Example #3
0
                        public bool Pack(Library_SpriteStudio6.Data.Animation.PackAttribute.ContainerVector3 container,
                                         string nameAttribute,
                                         int countFrame,
                                         Library_SpriteStudio6.Data.Animation.Parts.FlagBitStatus flagStatusParts,
                                         int[] tableOrderDraw,
                                         int[] tableOrderPreDraw,
                                         params Library_SpriteStudio6.Data.Animation.Attribute.Importer.AttributeFloat[] listKeyData
                                         )
                        {                               /* MEMO: "ListKeyData.Length" is always 3 (X, Y, Z) *//* MEMO: No inheritance is related to attribute stored in this type. */
                            container.TableCodeValue = new Library_SpriteStudio6.Data.Animation.PackAttribute.CodeValueContainer[0];

                            if ((0 >= listKeyData[0].CountGetKey()) && (0 >= listKeyData[1].CountGetKey()) && (0 >= listKeyData[2].CountGetKey()))
                            {
                                container.TableValue = new Vector3[0];
                                return(true);
                            }

                            float valueDefault = 0.0f;
                            float value;

                            container.TableValue = new Vector3[countFrame];
                            for (int i = 0; i < countFrame; i++)
                            {
                                if (false == listKeyData[0].ValueGet(out value, i))
                                {
                                    value = valueDefault;
                                }
                                container.TableValue[i].x = value;

                                if (false == listKeyData[1].ValueGet(out value, i))
                                {
                                    value = valueDefault;
                                }
                                container.TableValue[i].y = value;

                                if (false == listKeyData[2].ValueGet(out value, i))
                                {
                                    value = valueDefault;
                                }
                                container.TableValue[i].z = value;
                            }
                            return(true);
                        }
Example #4
0
                        public bool Pack(Library_SpriteStudio6.Data.Animation.PackAttribute.ContainerVertexCorrection container,
                                         string nameAttribute,
                                         int countFrame,
                                         Library_SpriteStudio6.Data.Animation.Parts.FlagBitStatus flagStatusParts,
                                         int[] tableOrderDraw,
                                         int[] tableOrderPreDraw,
                                         params Library_SpriteStudio6.Data.Animation.Attribute.Importer.AttributeVertexCorrection[] listKeyData
                                         )
                        {                               /* MEMO: "ListKeyData.Length" is always 1 *//* MEMO: No inheritance is related to attribute stored in this type. */
                            container.TableCodeValue = new Library_SpriteStudio6.Data.Animation.PackAttribute.CodeValueContainer[0];

                            if (0 >= listKeyData[0].CountGetKey())
                            {
                                container.TableValue = new Library_SpriteStudio6.Data.Animation.Attribute.VertexCorrection[0];
                                return(true);
                            }

                            container.TableValue = new Library_SpriteStudio6.Data.Animation.Attribute.VertexCorrection[countFrame];
                            for (int i = 0; i < countFrame; i++)
                            {
                                listKeyData[0].ValueGet(out container.TableValue[i], i);
                            }
                            return(true);
                        }
Example #5
0
                        public bool Pack(Library_SpriteStudio6.Data.Animation.PackAttribute.ContainerStatus container,
                                         string nameAttribute,
                                         int countFrame,
                                         Library_SpriteStudio6.Data.Animation.Parts.FlagBitStatus flagStatusParts,
                                         int[] tableOrderDraw,
                                         int[] tableOrderPreDraw,
                                         params Library_SpriteStudio6.Data.Animation.Attribute.Importer.AttributeBool[] listKeyData
                                         )
                        {                               /* MEMO: "ListKeyData.Length" is always 5 (Hide, FlipX, FlipY, FlipTextureX, FlipTextureY) */
                            container.TableCodeValue = new Library_SpriteStudio6.Data.Animation.PackAttribute.CodeValueContainer[0];

                            /* MEMO: Attribute"Status" is never omitted. */
                            container.TableValue = new Library_SpriteStudio6.Data.Animation.Attribute.Status[countFrame];
                            bool valueAttribute;

                            for (int i = 0; i < countFrame; i++)
                            {
                                container.TableValue[i].Flags = Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.CLEAR;

                                Library_SpriteStudio6.Data.Animation.Attribute.Importer.Inheritance.ValueGetBoolOR(out valueAttribute,
                                                                                                                   listKeyData[0],
                                                                                                                   i,
                                                                                                                   true
                                                                                                                   );
                                container.TableValue[i].Flags |= (true == valueAttribute) ? Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.HIDE : Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.CLEAR;

                                Library_SpriteStudio6.Data.Animation.Attribute.Importer.Inheritance.ValueGetBoolToggle(out valueAttribute,
                                                                                                                       listKeyData[1],
                                                                                                                       i
                                                                                                                       );
                                container.TableValue[i].Flags |= (true == valueAttribute) ? Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.FLIP_X : Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.CLEAR;

                                Library_SpriteStudio6.Data.Animation.Attribute.Importer.Inheritance.ValueGetBoolToggle(out valueAttribute,
                                                                                                                       listKeyData[2],
                                                                                                                       i
                                                                                                                       );
                                container.TableValue[i].Flags |= (true == valueAttribute) ? Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.FLIP_Y : Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.CLEAR;

                                Library_SpriteStudio6.Data.Animation.Attribute.Importer.Inheritance.ValueGetBoolToggle(out valueAttribute,
                                                                                                                       listKeyData[3],
                                                                                                                       i
                                                                                                                       );
                                container.TableValue[i].Flags |= (true == valueAttribute) ? Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.FLIP_TEXTURE_X : Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.CLEAR;

                                Library_SpriteStudio6.Data.Animation.Attribute.Importer.Inheritance.ValueGetBoolToggle(out valueAttribute,
                                                                                                                       listKeyData[4],
                                                                                                                       i
                                                                                                                       );
                                container.TableValue[i].Flags |= (true == valueAttribute) ? Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.FLIP_TEXTURE_Y : Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.CLEAR;

                                container.TableValue[i].Flags |= (null != tableOrderDraw)
//																	? (Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit)(tableOrderDraw[i]
//																		<< (int)Library_SpriteStudio6.Data.Animation.Attribute.Status.ShiftFlagBit.ID_PARTS_NEXTDRAW
//																		) & Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.ID_PARTS_NEXTDRAW
                                                                                                                                        ? (Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit)tableOrderDraw[i] & Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.ID_PARTS_NEXTDRAW
                                                                                                                                        : Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.ID_PARTS_NEXTDRAW;      /* -1 */

                                container.TableValue[i].Flags |= (null != tableOrderPreDraw)
                                                                                                                                        ? (Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit)(tableOrderPreDraw[i]
                                                                                                                                                                                                          << (int)Library_SpriteStudio6.Data.Animation.Attribute.Status.ShiftFlagBit.ID_PARTS_NEXTPREDRAW
                                                                                                                                                                                                          ) & Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.ID_PARTS_NEXTPREDRAW
                                                                                                                                        : Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.ID_PARTS_NEXTPREDRAW;   /* -1 */

                                container.TableValue[i].Flags |= Library_SpriteStudio6.Data.Animation.Attribute.Status.FlagBit.VALID;
                            }
                            return(true);
                        }
Example #6
0
                        public bool Pack(Library_SpriteStudio6.Data.Animation.PackAttribute.ContainerFloat container,
                                         string nameAttribute,
                                         int countFrame,
                                         Library_SpriteStudio6.Data.Animation.Parts.FlagBitStatus flagStatusParts,
                                         int[] tableOrderDraw,
                                         int[] tableOrderPreDraw,
                                         params Library_SpriteStudio6.Data.Animation.Attribute.Importer.AttributeFloat[] listKeyData
                                         )
                        {                               /* MEMO: "ListKeyData.Length" is always 1 */
                            container.TableCodeValue = new Library_SpriteStudio6.Data.Animation.PackAttribute.CodeValueContainer[0];

                            /* MEMO: In attributes with the float value, default value when has no key differs only "RateOpacity". */
                            /*       RateOpacity = 1.0f / other = 0.0f                                                             */
                            float value;

                            container.TableValue = new float[countFrame];
                            switch (nameAttribute)
                            {
                            case Library_SpriteStudio6.Data.Animation.Attribute.Importer.NameAttributeRateOpacity:
                                /* MEMO: Attribute"RateOpacity" inherits value. (Caution that "RateOpacityLocal" no-inherit value) */
                                for (int i = 0; i < countFrame; i++)
                                {
                                    Library_SpriteStudio6.Data.Animation.Attribute.Importer.Inheritance.ValueGetFloatMultiple(out value, listKeyData[0], i, 1.0f);
                                    container.TableValue[i] = value;
                                }
                                break;

                            case Library_SpriteStudio6.Data.Animation.Attribute.Importer.NameAttributePowerMask:
                                /* MEMO: Caution                                                                   */
                                /*       Key-Data has 0.0 to 255.0 value, interpolating precision is with integer. */
                                /*       Runtime-Data has 1.0 to 0.0 value.                                        */
                                if (0 >= listKeyData[0].CountGetKey())
                                {
                                    container.TableValue = new float[0];
                                    return(true);
                                }

                                for (int i = 0; i < countFrame; i++)
                                {
                                    if (false == listKeyData[0].ValueGet(out value, i))
                                    {
                                        value = 0.0f;
                                    }
                                    container.TableValue[i] = (255.0f - Mathf.Floor(value)) * (1.0f / 255.0f);
                                }
                                break;

                            default:
                                if (0 >= listKeyData[0].CountGetKey())
                                {
                                    container.TableValue = new float[0];
                                    return(true);
                                }

                                for (int i = 0; i < countFrame; i++)
                                {
                                    if (false == listKeyData[0].ValueGet(out value, i))
                                    {
                                        value = 0.0f;
                                    }
                                    container.TableValue[i] = value;
                                }
                                break;
                            }
                            return(true);
                        }