* Implements IObject.Materials[].*
* This lets you do things like IObject.Materials[0].Texture = new UUID("0000-...");0.6.5-rc1
parent
c77e7fce9e
commit
8ee81f98ea
|
@ -25,7 +25,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
|
||||||
AssetBase asset = new AssetBase();
|
AssetBase asset = new AssetBase();
|
||||||
asset.FullID = UUID.Random();
|
asset.FullID = UUID.Random();
|
||||||
asset.Data = OpenJPEG.EncodeFromImage(data, lossless);
|
asset.Data = OpenJPEG.EncodeFromImage(data, lossless);
|
||||||
asset.Name = "MRMDynamicImage" + Util.RandomClass.Next(1, 10000);
|
asset.Name = "MRMDynamicImage";
|
||||||
asset.Type = 0;
|
asset.Type = 0;
|
||||||
asset.Description = "MRM Image";
|
asset.Description = "MRM Image";
|
||||||
asset.Local = false;
|
asset.Local = false;
|
||||||
|
|
|
@ -167,7 +167,7 @@ namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
|
||||||
|
|
||||||
for (int i = 0; i < rets.Length;i++ )
|
for (int i = 0; i < rets.Length;i++ )
|
||||||
{
|
{
|
||||||
//rets[i] = new ObjectFace
|
rets[i] = new SOPObjectMaterial(i, sop);
|
||||||
}
|
}
|
||||||
|
|
||||||
return rets;
|
return rets;
|
||||||
|
|
|
@ -0,0 +1,91 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Text;
|
||||||
|
using OpenMetaverse;
|
||||||
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
|
namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
|
||||||
|
{
|
||||||
|
class SOPObjectMaterial : IObjectMaterial
|
||||||
|
{
|
||||||
|
private readonly int m_face;
|
||||||
|
private readonly SceneObjectPart m_parent;
|
||||||
|
|
||||||
|
public SOPObjectMaterial(int m_face, SceneObjectPart m_parent)
|
||||||
|
{
|
||||||
|
this.m_face = m_face;
|
||||||
|
this.m_parent = m_parent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Color Color
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
Color4 res = GetTexface().RGBA;
|
||||||
|
return Color.FromArgb((int) (res.A*255), (int) (res.R*255), (int) (res.G*255), (int) (res.B*255));
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
Primitive.TextureEntry tex = m_parent.Shape.Textures;
|
||||||
|
Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face);
|
||||||
|
texface.RGBA = new Color4(value.R,value.G,value.B,value.A);
|
||||||
|
tex.FaceTextures[m_face] = texface;
|
||||||
|
m_parent.UpdateTexture(tex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public UUID Texture
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
Primitive.TextureEntryFace texface = GetTexface();
|
||||||
|
return texface.TextureID;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
Primitive.TextureEntry tex = m_parent.Shape.Textures;
|
||||||
|
Primitive.TextureEntryFace texface = tex.CreateFace((uint)m_face);
|
||||||
|
texface.TextureID = value;
|
||||||
|
tex.FaceTextures[m_face] = texface;
|
||||||
|
m_parent.UpdateTexture(tex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Primitive.TextureEntryFace GetTexface()
|
||||||
|
{
|
||||||
|
Primitive.TextureEntry tex = m_parent.Shape.Textures;
|
||||||
|
return tex.GetFace((uint)m_face);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TextureMapping Mapping
|
||||||
|
{
|
||||||
|
get { throw new System.NotImplementedException(); }
|
||||||
|
set { throw new System.NotImplementedException(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Bright
|
||||||
|
{
|
||||||
|
get { return GetTexface().Fullbright; }
|
||||||
|
set { throw new System.NotImplementedException(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public double Bloom
|
||||||
|
{
|
||||||
|
get { return GetTexface().Glow; }
|
||||||
|
set { throw new System.NotImplementedException(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool Shiny
|
||||||
|
{
|
||||||
|
get { return GetTexface().Shiny != Shininess.None; }
|
||||||
|
set { throw new System.NotImplementedException(); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool BumpMap
|
||||||
|
{
|
||||||
|
get { throw new System.NotImplementedException(); }
|
||||||
|
set { throw new System.NotImplementedException(); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue