1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using System;
- using System.Collections.Generic;
- using System.Text;
- using Axiom.MathLib;
- using OpenSim.types;
- using libsecondlife;
- namespace OpenSim.world
- {
- public class Entity
- {
- protected libsecondlife.LLUUID uuid;
- protected uint localid;
- public LLVector3 position;
- public LLVector3 velocity;
- public Quaternion rotation;
- protected string name;
- protected List<Entity> children;
- public Entity()
- {
- uuid = new libsecondlife.LLUUID();
- localid = 8880000 + (OpenSim_Main.local_world._localNumber++); // FIXME - race condition!
- position = new LLVector3();
- velocity = new LLVector3();
- rotation = new Quaternion();
- name = "(basic entity)";
- children = new List<Entity>();
- }
- public virtual void addFroces()
- {
- foreach (Entity child in children)
- {
- child.addFroces();
- }
- }
- public virtual void update() {
- // Do any per-frame updates needed that are applicable to every type of entity
- foreach (Entity child in children)
- {
- child.update();
- }
- }
- public virtual string getName()
- {
- return name;
- }
- public virtual Mesh getMesh()
- {
- Mesh mesh = new Mesh();
- foreach (Entity child in children)
- {
- mesh += child.getMesh();
- }
- return mesh;
- }
- }
- }
|