aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/OptionalModules/Scripting
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/OptionalModules/Scripting')
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/IHeightmap.cs14
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs96
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/Minimodule/IWorld.cs11
-rw-r--r--OpenSim/Region/OptionalModules/Scripting/ObjectModules/IObjectModule.cs15
4 files changed, 136 insertions, 0 deletions
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IHeightmap.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IHeightmap.cs
new file mode 100644
index 0000000..fd1cc3d
--- /dev/null
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IHeightmap.cs
@@ -0,0 +1,14 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
6{
7 interface IHeightmap
8 {
9 int Height { get; }
10 int Width { get; }
11 double Get(int x, int y);
12 void Set(int x, int y, double val);
13 }
14}
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
new file mode 100644
index 0000000..04d36a5
--- /dev/null
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IObject.cs
@@ -0,0 +1,96 @@
1using System;
2using System.Drawing;
3using OpenMetaverse;
4
5namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
6{
7 interface IObject
8 {
9 bool Exists { get; }
10 uint LocalID { get; }
11 UUID GlobalID { get; }
12
13 IObject[] Children { get; }
14
15 /// <summary>
16 /// Equals 'this' if we have no parent. Ergo, Root.Children.Count will always return the total number of items in the linkset.
17 /// </summary>
18 IObject Root { get; }
19
20 IObjectFace[] Faces { get; }
21
22 Vector3 Scale { get; set; }
23 Quaternion Rotation { get; set; }
24
25 Vector3 SitTarget { get; set; }
26 String SitTargetText { get; set; }
27
28 String TouchText { get; set; }
29
30 String Text { get; set; }
31
32 bool IsPhysical { get; set; } // SetStatus(PHYSICS)
33 bool IsPhantom { get; set; } // SetStatus(PHANTOM)
34 bool IsRotationLockedX { get; set; } // SetStatus(!ROTATE_X)
35 bool IsRotationLockedY { get; set; } // SetStatus(!ROTATE_Y)
36 bool IsRotationLockedZ { get; set; } // SetStatus(!ROTATE_Z)
37 bool IsSandboxed { get; set; } // SetStatus(SANDBOX)
38 bool IsImmotile { get; set; } // SetStatus(BLOCK_GRAB)
39 bool IsAlwaysReturned { get; set; } // SetStatus(!DIE_AT_EDGE)
40 bool IsTemporary { get; set; } // TEMP_ON_REZ
41
42 bool IsFlexible { get; set; }
43
44 PrimType PrimShape { get; set; }
45 // TODO:
46 // PrimHole
47 // Repeats, Offsets, Cut/Dimple/ProfileCut
48 // Hollow, Twist, HoleSize,
49 // Taper[A+B], Shear[A+B], Revolutions,
50 // RadiusOffset, Skew
51
52 Material Material { get; set; }
53 }
54
55 public enum Material
56 {
57 Default,
58 Glass,
59 Metal,
60 Plastic,
61 Wood,
62 Rubber,
63 Stone,
64 Flesh
65 }
66
67 public enum PrimType
68 {
69 NotPrimitive,
70 Box,
71 Cylinder,
72 Prism,
73 Sphere,
74 Torus,
75 Tube,
76 Ring,
77 Sculpt
78 }
79
80 public enum TextureMapping
81 {
82 Default,
83 Planar
84 }
85
86 interface IObjectFace
87 {
88 Color Color { get; set; }
89 UUID Texture { get; set; }
90 TextureMapping Mapping { get; set; } // SetPrimParms(PRIM_TEXGEN)
91 bool Bright { get; set; } // SetPrimParms(FULLBRIGHT)
92 double Bloom { get; set; } // SetPrimParms(GLOW)
93 bool Shiny { get; set; } // SetPrimParms(SHINY)
94 bool BumpMap { get; set; } // SetPrimParms(BUMPMAP) [DEPRECIATE IN FAVOUR OF UUID?]
95 }
96}
diff --git a/OpenSim/Region/OptionalModules/Scripting/Minimodule/IWorld.cs b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IWorld.cs
new file mode 100644
index 0000000..3ce7020
--- /dev/null
+++ b/OpenSim/Region/OptionalModules/Scripting/Minimodule/IWorld.cs
@@ -0,0 +1,11 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4
5namespace OpenSim.Region.OptionalModules.Scripting.Minimodule
6{
7 interface IWorld
8 {
9
10 }
11}
diff --git a/OpenSim/Region/OptionalModules/Scripting/ObjectModules/IObjectModule.cs b/OpenSim/Region/OptionalModules/Scripting/ObjectModules/IObjectModule.cs
new file mode 100644
index 0000000..923b053
--- /dev/null
+++ b/OpenSim/Region/OptionalModules/Scripting/ObjectModules/IObjectModule.cs
@@ -0,0 +1,15 @@
1using OpenSim.Region.Framework.Scenes;
2
3namespace OpenSim.Region.OptionalModules.Scripting.ObjectModules
4{
5 interface IObjectModule
6 {
7 void Add(EntityBase entity, Scene scene);
8 void Start();
9 void Stop();
10 void Tick();
11
12 string ClassName { get; }
13 bool IsShared { get; }
14 }
15}