OpenSim.Region.Framework.Scenes.SceneObjectPart.UpdateTextureEntry C# (CSharp) Method

UpdateTextureEntry() public method

Update the texture entry for this part.
public UpdateTextureEntry ( byte textureEntry ) : void
textureEntry byte
return void
        public void UpdateTextureEntry(byte[] textureEntry)
        {
            m_shape.TextureEntry = textureEntry;
            TriggerScriptChangedEvent(Changed.TEXTURE);

            ParentGroup.HasGroupChanged = true;
            //This is madness..
            //ParentGroup.ScheduleGroupForFullUpdate();
            //This is sparta
            ScheduleFullUpdate();
        }

Usage Example

示例#1
0
        protected void SetTexture(SceneObjectPart part, string texture, int face)
        {
            UUID textureID = new UUID();

		    textureID = InventoryKey(texture, (int)AssetType.Texture);
		    if (textureID == UUID.Zero)
		    {
			    if (!UUID.TryParse(texture, out textureID))
			        return;
		    }

            Primitive.TextureEntry tex = part.Shape.Textures;

            if (face >= 0 && face < GetNumberOfSides(part))
            {
                Primitive.TextureEntryFace texface = tex.CreateFace((uint)face);
                texface.TextureID = textureID;
                tex.FaceTextures[face] = texface;
                part.UpdateTextureEntry(tex.GetBytes());
                return;
            }
            else if (face == ScriptBaseClass.ALL_SIDES)
            {
                for (uint i = 0; i < GetNumberOfSides(part); i++)
                {
                    if (tex.FaceTextures[i] != null)
                    {
                        tex.FaceTextures[i].TextureID = textureID;
                    }
                }
                tex.DefaultTexture.TextureID = textureID;
                part.UpdateTextureEntry(tex.GetBytes());
                return;
            }
        }
All Usage Examples Of OpenSim.Region.Framework.Scenes.SceneObjectPart::UpdateTextureEntry
SceneObjectPart