Added explicit Quaternion->string and list->string conversions.
Some preliminary work on llSetStatus and llGetStatus.ThreadPoolClientBranch
parent
542cd417c8
commit
36f7a087e6
|
@ -1877,6 +1877,7 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
public const int STATUS_BLOCK_GRAB = 64;
|
||||
public const int STATUS_DIE_AT_EDGE = 128;
|
||||
public const int STATUS_RETURN_AT_EDGE = 256;
|
||||
public const int STATUS_CAST_SHADOWS = 512;
|
||||
public const int AGENT = 1;
|
||||
public const int ACTIVE = 2;
|
||||
public const int PASSIVE = 4;
|
||||
|
|
|
@ -425,13 +425,105 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
|
||||
public void llSetStatus(int status, int value)
|
||||
{
|
||||
NotImplemented("llSetStatus");
|
||||
if ((status & LSL_BaseClass.STATUS_PHYSICS) == LSL_BaseClass.STATUS_PHYSICS)
|
||||
{
|
||||
m_host.AddFlag(LLObject.ObjectFlags.Physics);
|
||||
}
|
||||
if ((status & LSL_BaseClass.STATUS_PHANTOM) == LSL_BaseClass.STATUS_PHANTOM)
|
||||
{
|
||||
m_host.AddFlag(LLObject.ObjectFlags.Phantom);
|
||||
}
|
||||
if ((status & LSL_BaseClass.STATUS_CAST_SHADOWS) == LSL_BaseClass.STATUS_CAST_SHADOWS)
|
||||
{
|
||||
m_host.AddFlag(LLObject.ObjectFlags.CastShadows);
|
||||
}
|
||||
if ((status & LSL_BaseClass.STATUS_ROTATE_X) == LSL_BaseClass.STATUS_ROTATE_X)
|
||||
{
|
||||
NotImplemented("llSetStatus - STATUS_ROTATE_X");
|
||||
}
|
||||
if ((status & LSL_BaseClass.STATUS_ROTATE_Y) == LSL_BaseClass.STATUS_ROTATE_Y)
|
||||
{
|
||||
NotImplemented("llSetStatus - STATUS_ROTATE_Y");
|
||||
}
|
||||
if ((status & LSL_BaseClass.STATUS_ROTATE_Z) == LSL_BaseClass.STATUS_ROTATE_Z)
|
||||
{
|
||||
NotImplemented("llSetStatus - STATUS_ROTATE_Z");
|
||||
}
|
||||
if ((status & LSL_BaseClass.STATUS_BLOCK_GRAB) == LSL_BaseClass.STATUS_BLOCK_GRAB)
|
||||
{
|
||||
NotImplemented("llSetStatus - STATUS_BLOCK_GRAB");
|
||||
}
|
||||
if ((status & LSL_BaseClass.STATUS_DIE_AT_EDGE) == LSL_BaseClass.STATUS_DIE_AT_EDGE)
|
||||
{
|
||||
NotImplemented("llSetStatus - STATUS_DIE_AT_EDGE");
|
||||
}
|
||||
if ((status & LSL_BaseClass.STATUS_RETURN_AT_EDGE) == LSL_BaseClass.STATUS_RETURN_AT_EDGE)
|
||||
{
|
||||
NotImplemented("llSetStatus - STATUS_RETURN_AT_EDGE");
|
||||
}
|
||||
if ((status & LSL_BaseClass.STATUS_SANDBOX) == LSL_BaseClass.STATUS_SANDBOX)
|
||||
{
|
||||
NotImplemented("llSetStatus - STATUS_SANDBOX");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
public int llGetStatus(int status)
|
||||
{
|
||||
NotImplemented("llGetStatus");
|
||||
Console.WriteLine(m_host.UUID.ToString() + " status is " + m_host.ObjectFlags.ToString());
|
||||
switch (status)
|
||||
{
|
||||
case LSL_BaseClass.STATUS_PHYSICS:
|
||||
if ((m_host.ObjectFlags & (uint)LLObject.ObjectFlags.Physics) == (uint)LLObject.ObjectFlags.Physics)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
break;
|
||||
case LSL_BaseClass.STATUS_PHANTOM:
|
||||
if ((m_host.ObjectFlags & (uint)LLObject.ObjectFlags.Phantom) == (uint)LLObject.ObjectFlags.Phantom)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
break;
|
||||
case LSL_BaseClass.STATUS_CAST_SHADOWS:
|
||||
if ((m_host.ObjectFlags & (uint)LLObject.ObjectFlags.CastShadows) == (uint)LLObject.ObjectFlags.CastShadows)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
break;
|
||||
case LSL_BaseClass.STATUS_BLOCK_GRAB:
|
||||
NotImplemented("llGetStatus - STATUS_BLOCK_GRAB");
|
||||
return 0;
|
||||
break;
|
||||
case LSL_BaseClass.STATUS_DIE_AT_EDGE:
|
||||
NotImplemented("llGetStatus - STATUS_DIE_AT_EDGE");
|
||||
return 0;
|
||||
break;
|
||||
case LSL_BaseClass.STATUS_RETURN_AT_EDGE:
|
||||
NotImplemented("llGetStatus - STATUS_RETURN_AT_EDGE");
|
||||
return 0;
|
||||
break;
|
||||
case LSL_BaseClass.STATUS_ROTATE_X:
|
||||
NotImplemented("llGetStatus - STATUS_ROTATE_X");
|
||||
return 0;
|
||||
break;
|
||||
case LSL_BaseClass.STATUS_ROTATE_Y:
|
||||
NotImplemented("llGetStatus - STATUS_ROTATE_Y");
|
||||
return 0;
|
||||
break;
|
||||
case LSL_BaseClass.STATUS_ROTATE_Z:
|
||||
NotImplemented("llGetStatus - STATUS_ROTATE_Z");
|
||||
return 0;
|
||||
break;
|
||||
case LSL_BaseClass.STATUS_SANDBOX:
|
||||
NotImplemented("llGetStatus - STATUS_SANDBOX");
|
||||
return 0;
|
||||
break;
|
||||
}
|
||||
NotImplemented("llGetStatus - Unknown Status parameter");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -305,6 +305,11 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
return "<" + x.ToString() + ", " + y.ToString() + ", " + z.ToString() + ", " + s.ToString() + ">";
|
||||
}
|
||||
|
||||
public static explicit operator string(Quaternion r)
|
||||
{
|
||||
return "<" + r.x.ToString() + ", " + r.y.ToString() + ", " + r.z.ToString() + ", " + r.s.ToString() + ">";
|
||||
}
|
||||
|
||||
public static bool operator ==(Quaternion lhs, Quaternion rhs)
|
||||
{
|
||||
// Return true if the fields match:
|
||||
|
@ -454,6 +459,8 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
return output;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
string output;
|
||||
|
@ -470,6 +477,20 @@ namespace OpenSim.Region.ScriptEngine.Common
|
|||
|
||||
}
|
||||
|
||||
public static explicit operator string(list l)
|
||||
{
|
||||
string output;
|
||||
output = String.Empty;
|
||||
if (l.m_data.Length == 0)
|
||||
{
|
||||
return String.Empty;
|
||||
}
|
||||
foreach (object o in l.m_data)
|
||||
{
|
||||
output = output + o.ToString();
|
||||
}
|
||||
return output;
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue