Example #1
0
        public void llSetTextureAnim(IScriptInstance script, int mode, int face, int sizex, int sizey, float start, float length, float rate)
        {
            LLPrimitive prim = script.Host as LLPrimitive;

            if (prim == null)
            {
                return;
            }

            Primitive.TextureAnimMode animMode = (Primitive.TextureAnimMode)mode;

            if (face == LSLConstants.ALL_SIDES)
            {
                face = 255;
            }

            Primitive.TextureAnimation animation = new Primitive.TextureAnimation();
            animation.Flags  = animMode;
            animation.Face   = (uint)face;
            animation.Length = length;
            animation.Rate   = rate;
            animation.SizeX  = (uint)sizex;
            animation.SizeY  = (uint)sizey;
            animation.Start  = start;

            prim.Prim.TextureAnim = animation;
            prim.Scene.EntityAddOrUpdate(this, prim, 0, (uint)LLUpdateFlags.TextureAnim);
        }
        private static string DecodeObjectTextureAnim(string fieldName, object fieldData)
        {
            StringBuilder result = new StringBuilder();
            Primitive.TextureAnimation TextureAnim;
            if (fieldData is Primitive.TextureAnimation)
                TextureAnim = (Primitive.TextureAnimation)fieldData;
            else
                TextureAnim = new Primitive.TextureAnimation((byte[])fieldData, 0);

            result.AppendFormat("{0,30}", " <TextureAnimation>" + Environment.NewLine);
            GenericTypeDecoder(TextureAnim, ref result);
            result.AppendFormat("{0,30}", "</TextureAnimation>");

            return result.ToString();
        }