diff options
author | gareth | 2007-03-07 19:07:00 +0000 |
---|---|---|
committer | gareth | 2007-03-07 19:07:00 +0000 |
commit | 2159b3079ec8df2a7337a9d4ea54810b7028c4e1 (patch) | |
tree | 5473123011f7a302e63f89ec6ccb4477032fd1db /src/world/Entity.cs | |
parent | Imported branch (diff) | |
download | opensim-SC_OLD-2159b3079ec8df2a7337a9d4ea54810b7028c4e1.zip opensim-SC_OLD-2159b3079ec8df2a7337a9d4ea54810b7028c4e1.tar.gz opensim-SC_OLD-2159b3079ec8df2a7337a9d4ea54810b7028c4e1.tar.bz2 opensim-SC_OLD-2159b3079ec8df2a7337a9d4ea54810b7028c4e1.tar.xz |
fixed last screwup
Diffstat (limited to 'src/world/Entity.cs')
-rw-r--r-- | src/world/Entity.cs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/world/Entity.cs b/src/world/Entity.cs new file mode 100644 index 0000000..147478b --- /dev/null +++ b/src/world/Entity.cs | |||
@@ -0,0 +1,62 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using Axiom.MathLib; | ||
5 | using OpenSim.types; | ||
6 | using libsecondlife; | ||
7 | |||
8 | namespace OpenSim.world | ||
9 | { | ||
10 | public class Entity | ||
11 | { | ||
12 | public libsecondlife.LLUUID uuid; | ||
13 | public uint localid; | ||
14 | public LLVector3 position; | ||
15 | public LLVector3 velocity; | ||
16 | public Quaternion rotation; | ||
17 | protected string name; | ||
18 | protected List<Entity> children; | ||
19 | |||
20 | public Entity() | ||
21 | { | ||
22 | uuid = new libsecondlife.LLUUID(); | ||
23 | localid = 8880000 + (OpenSim_Main.local_world._localNumber++); // FIXME - race condition! | ||
24 | position = new LLVector3(); | ||
25 | velocity = new LLVector3(); | ||
26 | rotation = new Quaternion(); | ||
27 | name = "(basic entity)"; | ||
28 | children = new List<Entity>(); | ||
29 | } | ||
30 | public virtual void addForces() | ||
31 | { | ||
32 | foreach (Entity child in children) | ||
33 | { | ||
34 | child.addForces(); | ||
35 | } | ||
36 | } | ||
37 | public virtual void update() { | ||
38 | // Do any per-frame updates needed that are applicable to every type of entity | ||
39 | foreach (Entity child in children) | ||
40 | { | ||
41 | child.update(); | ||
42 | } | ||
43 | } | ||
44 | |||
45 | public virtual string getName() | ||
46 | { | ||
47 | return name; | ||
48 | } | ||
49 | |||
50 | public virtual Mesh getMesh() | ||
51 | { | ||
52 | Mesh mesh = new Mesh(); | ||
53 | |||
54 | foreach (Entity child in children) | ||
55 | { | ||
56 | mesh += child.getMesh(); | ||
57 | } | ||
58 | |||
59 | return mesh; | ||
60 | } | ||
61 | } | ||
62 | } | ||