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