Ejemplo n.º 1
0
 /* ----------------------------------------------- Functions */
 #region Functions
 public bool ValueGet(ref float outValue,
                      ref int outFrameKey,
                      Library_SpriteStudio6.Data.Animation.PackAttribute.ContainerFloat container,
                      ref Library_SpriteStudio6.Data.Animation.PackAttribute.ArgumentContainer argument
                      )
 {
     return(Library_SpriteStudio6.Data.Animation.PackAttribute.StandardUncompressed.ValueGet(ref outValue, ref outFrameKey, argument.Frame, container.TableValue));
 }
Ejemplo n.º 2
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);
                        }
Ejemplo n.º 3
0
 public int CountGetValue(Library_SpriteStudio6.Data.Animation.PackAttribute.ContainerFloat container)
 {
     return(container.TableValue.Length);
 }