diff options
author | MW | 2007-07-29 13:05:57 +0000 |
---|---|---|
committer | MW | 2007-07-29 13:05:57 +0000 |
commit | 5ee2e38c11785e9b68ecf1767af7a4ea5b13b7c7 (patch) | |
tree | 53cd656a91fd400f8bb46768ab070a96f88ae238 | |
parent | * Primitives no longer walk around while being rescaled. (diff) | |
download | opensim-SC_OLD-5ee2e38c11785e9b68ecf1767af7a4ea5b13b7c7.zip opensim-SC_OLD-5ee2e38c11785e9b68ecf1767af7a4ea5b13b7c7.tar.gz opensim-SC_OLD-5ee2e38c11785e9b68ecf1767af7a4ea5b13b7c7.tar.bz2 opensim-SC_OLD-5ee2e38c11785e9b68ecf1767af7a4ea5b13b7c7.tar.xz |
Deleting objects should now work. But beware they aren't send to your trash folder or anything so there is at the moment no way to recover deleted objects.
11 files changed, 247 insertions, 204 deletions
diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs index 0c6d971..e4c01b3 100644 --- a/OpenSim/Framework/Communications/Cache/AssetCache.cs +++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs | |||
@@ -272,6 +272,7 @@ namespace OpenSim.Framework.Communications.Caches | |||
272 | //inventory asset request | 272 | //inventory asset request |
273 | requestID = new LLUUID(transferRequest.TransferInfo.Params, 80); | 273 | requestID = new LLUUID(transferRequest.TransferInfo.Params, 80); |
274 | source = 3; | 274 | source = 3; |
275 | Console.WriteLine("asset request " + requestID); | ||
275 | } | 276 | } |
276 | //check to see if asset is in local cache, if not we need to request it from asset server. | 277 | //check to see if asset is in local cache, if not we need to request it from asset server. |
277 | //Console.WriteLine("asset request " + requestID); | 278 | //Console.WriteLine("asset request " + requestID); |
diff --git a/OpenSim/Framework/General/Interfaces/IClientAPI.cs b/OpenSim/Framework/General/Interfaces/IClientAPI.cs index c1d91d5..1e2889c 100644 --- a/OpenSim/Framework/General/Interfaces/IClientAPI.cs +++ b/OpenSim/Framework/General/Interfaces/IClientAPI.cs | |||
@@ -174,7 +174,7 @@ namespace OpenSim.Framework.Interfaces | |||
174 | void SendWearables(AvatarWearable[] wearables); | 174 | void SendWearables(AvatarWearable[] wearables); |
175 | void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry); | 175 | void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry); |
176 | void SendStartPingCheck(byte seq); | 176 | void SendStartPingCheck(byte seq); |
177 | void SendKillObject(ulong regionHandle, uint avatarLocalID); | 177 | void SendKillObject(ulong regionHandle, uint localID); |
178 | void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId); | 178 | void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId); |
179 | void SendRegionHandshake(RegionInfo regionInfo); | 179 | void SendRegionHandshake(RegionInfo regionInfo); |
180 | void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID); | 180 | void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID); |
diff --git a/OpenSim/Framework/General/NullClientAPI.cs b/OpenSim/Framework/General/NullClientAPI.cs index 45c1a14..c0b4e8a 100644 --- a/OpenSim/Framework/General/NullClientAPI.cs +++ b/OpenSim/Framework/General/NullClientAPI.cs | |||
@@ -106,7 +106,7 @@ namespace OpenSim.Framework | |||
106 | public virtual void SendWearables(AvatarWearable[] wearables){} | 106 | public virtual void SendWearables(AvatarWearable[] wearables){} |
107 | public virtual void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry) { } | 107 | public virtual void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry) { } |
108 | public virtual void SendStartPingCheck(byte seq){} | 108 | public virtual void SendStartPingCheck(byte seq){} |
109 | public virtual void SendKillObject(ulong regionHandle, uint avatarLocalID){} | 109 | public virtual void SendKillObject(ulong regionHandle, uint localID){} |
110 | public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId){} | 110 | public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId){} |
111 | public virtual void SendRegionHandshake(RegionInfo regionInfo){} | 111 | public virtual void SendRegionHandshake(RegionInfo regionInfo){} |
112 | public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID){} | 112 | public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID){} |
diff --git a/OpenSim/Region/ClientStack/ClientView.API.cs b/OpenSim/Region/ClientStack/ClientView.API.cs index 2733f0a..4b0352b 100644 --- a/OpenSim/Region/ClientStack/ClientView.API.cs +++ b/OpenSim/Region/ClientStack/ClientView.API.cs | |||
@@ -506,12 +506,12 @@ namespace OpenSim.Region.ClientStack | |||
506 | OutPacket(pc); | 506 | OutPacket(pc); |
507 | } | 507 | } |
508 | 508 | ||
509 | public void SendKillObject(ulong regionHandle, uint avatarLocalID) | 509 | public void SendKillObject(ulong regionHandle, uint localID) |
510 | { | 510 | { |
511 | KillObjectPacket kill = new KillObjectPacket(); | 511 | KillObjectPacket kill = new KillObjectPacket(); |
512 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; | 512 | kill.ObjectData = new KillObjectPacket.ObjectDataBlock[1]; |
513 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); | 513 | kill.ObjectData[0] = new KillObjectPacket.ObjectDataBlock(); |
514 | kill.ObjectData[0].ID = avatarLocalID; | 514 | kill.ObjectData[0].ID = localID; |
515 | OutPacket(kill); | 515 | OutPacket(kill); |
516 | } | 516 | } |
517 | 517 | ||
diff --git a/OpenSim/Region/ClientStack/RegionApplicationBase.cs b/OpenSim/Region/ClientStack/RegionApplicationBase.cs index bad7fec..008b4c7 100644 --- a/OpenSim/Region/ClientStack/RegionApplicationBase.cs +++ b/OpenSim/Region/ClientStack/RegionApplicationBase.cs | |||
@@ -70,7 +70,7 @@ namespace OpenSim.Region.ClientStack | |||
70 | 70 | ||
71 | Initialize(); | 71 | Initialize(); |
72 | 72 | ||
73 | ScenePresence.LoadTextureFile("avatar-texture.dat"); | 73 | ScenePresence.CreateDefaultTextureEntry("avatar-texture.dat"); |
74 | 74 | ||
75 | m_httpServer = new BaseHttpServer( m_httpServerPort ); | 75 | m_httpServer = new BaseHttpServer( m_httpServerPort ); |
76 | 76 | ||
diff --git a/OpenSim/Region/Environment/Scenes/Primitive.cs b/OpenSim/Region/Environment/Scenes/Primitive.cs index ba10893..60ea28f 100644 --- a/OpenSim/Region/Environment/Scenes/Primitive.cs +++ b/OpenSim/Region/Environment/Scenes/Primitive.cs | |||
@@ -33,9 +33,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
33 | 33 | ||
34 | public uint OwnerMask = FULL_MASK_PERMISSIONS; | 34 | public uint OwnerMask = FULL_MASK_PERMISSIONS; |
35 | public uint NextOwnerMask = FULL_MASK_PERMISSIONS; | 35 | public uint NextOwnerMask = FULL_MASK_PERMISSIONS; |
36 | public uint GroupMask = FULL_MASK_PERMISSIONS; | 36 | public uint GroupMask = 0;// FULL_MASK_PERMISSIONS; |
37 | public uint EveryoneMask = FULL_MASK_PERMISSIONS; | 37 | public uint EveryoneMask = 0;//FULL_MASK_PERMISSIONS; |
38 | public uint BaseMask = FULL_MASK_PERMISSIONS; | 38 | public uint BaseMask = 0;//FULL_MASK_PERMISSIONS; |
39 | 39 | ||
40 | private PrimitiveBaseShape m_Shape; | 40 | private PrimitiveBaseShape m_Shape; |
41 | private byte[] m_particleSystem = new byte[0]; | 41 | private byte[] m_particleSystem = new byte[0]; |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs index 70bd003..a90c5ff 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.PacketHandlers.cs | |||
@@ -217,7 +217,42 @@ namespace OpenSim.Region.Environment.Scenes | |||
217 | /// <param name="simClient"></param> | 217 | /// <param name="simClient"></param> |
218 | public void DeRezObject(Packet packet, IClientAPI simClient) | 218 | public void DeRezObject(Packet packet, IClientAPI simClient) |
219 | { | 219 | { |
220 | DeRezObjectPacket DeRezPacket = (DeRezObjectPacket)packet; | ||
220 | 221 | ||
222 | |||
223 | if (DeRezPacket.AgentBlock.DestinationID == LLUUID.Zero) | ||
224 | { | ||
225 | //currently following code not used (or don't know of any case of destination being zero | ||
226 | } | ||
227 | else | ||
228 | { | ||
229 | foreach (DeRezObjectPacket.ObjectDataBlock Data in DeRezPacket.ObjectData) | ||
230 | { | ||
231 | EntityBase selectedEnt = null; | ||
232 | //OpenSim.Framework.Console.MainConsole.Instance.WriteLine("LocalID:" + Data.ObjectLocalID.ToString()); | ||
233 | foreach (EntityBase ent in this.Entities.Values) | ||
234 | { | ||
235 | if (ent.LocalId == Data.ObjectLocalID) | ||
236 | { | ||
237 | selectedEnt = ent; | ||
238 | break; | ||
239 | } | ||
240 | } | ||
241 | if (selectedEnt != null) | ||
242 | { | ||
243 | List<ScenePresence> avatars = this.RequestAvatarList(); | ||
244 | foreach (ScenePresence avatar in avatars) | ||
245 | { | ||
246 | avatar.ControllingClient.SendKillObject(this.m_regionHandle, selectedEnt.LocalId); | ||
247 | } | ||
248 | |||
249 | lock (Entities) | ||
250 | { | ||
251 | Entities.Remove(selectedEnt.m_uuid); | ||
252 | } | ||
253 | } | ||
254 | } | ||
255 | } | ||
221 | } | 256 | } |
222 | 257 | ||
223 | /// <summary> | 258 | /// <summary> |
@@ -678,7 +713,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
678 | asset.InvType = invType; | 713 | asset.InvType = invType; |
679 | asset.Type = type; | 714 | asset.Type = type; |
680 | asset.FullID = LLUUID.Random(); | 715 | asset.FullID = LLUUID.Random(); |
681 | asset.Data = new byte[0]; | 716 | asset.Data = new byte[1]; |
682 | this.assetCache.AddAsset(asset); | 717 | this.assetCache.AddAsset(asset); |
683 | 718 | ||
684 | InventoryItemBase item = new InventoryItemBase(); | 719 | InventoryItemBase item = new InventoryItemBase(); |
@@ -689,6 +724,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
689 | item.inventoryDescription = description; | 724 | item.inventoryDescription = description; |
690 | item.inventoryName = name; | 725 | item.inventoryName = name; |
691 | item.assetType = invType; | 726 | item.assetType = invType; |
727 | item.invType = invType; | ||
692 | item.parentFolderID = folderID; | 728 | item.parentFolderID = folderID; |
693 | item.inventoryCurrentPermissions = 2147483647; | 729 | item.inventoryCurrentPermissions = 2147483647; |
694 | item.inventoryNextPermissions = nextOwnerMask; | 730 | item.inventoryNextPermissions = nextOwnerMask; |
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 39584ad..70aead3 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -550,7 +550,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
550 | m_estateManager.sendRegionHandshake(client); | 550 | m_estateManager.sendRegionHandshake(client); |
551 | CreateAndAddScenePresence(client); | 551 | CreateAndAddScenePresence(client); |
552 | m_LandManager.sendParcelOverlay(client); | 552 | m_LandManager.sendParcelOverlay(client); |
553 | //commsManager.UserProfiles.AddNewUser(client.AgentId); | 553 | // commsManager.UserProfiles.AddNewUser(client.AgentId); |
554 | } | 554 | } |
555 | 555 | ||
556 | protected virtual void SubscribeToClientEvents(IClientAPI client) | 556 | protected virtual void SubscribeToClientEvents(IClientAPI client) |
@@ -576,6 +576,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
576 | client.OnObjectSelect += SelectPrim; | 576 | client.OnObjectSelect += SelectPrim; |
577 | client.OnObjectDeselect += DeselectPrim; | 577 | client.OnObjectDeselect += DeselectPrim; |
578 | client.OnGrapUpdate += MoveObject; | 578 | client.OnGrapUpdate += MoveObject; |
579 | client.OnDeRezObject += DeRezObject; | ||
579 | client.OnNameFromUUIDRequest += commsManager.HandleUUIDNameRequest; | 580 | client.OnNameFromUUIDRequest += commsManager.HandleUUIDNameRequest; |
580 | client.OnObjectDescription += PrimDescription; | 581 | client.OnObjectDescription += PrimDescription; |
581 | client.OnObjectName += PrimName; | 582 | client.OnObjectName += PrimName; |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index caa359e..4bb48b8 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -459,6 +459,9 @@ namespace OpenSim.Region.Environment.Scenes | |||
459 | this.m_scene.InformClientOfNeighbours(this.ControllingClient); | 459 | this.m_scene.InformClientOfNeighbours(this.ControllingClient); |
460 | this.newAvatar = false; | 460 | this.newAvatar = false; |
461 | } | 461 | } |
462 | |||
463 | // this.SendFullUpdateToALLClients(); | ||
464 | // this.SendArrearanceToAllOtherAgents(); | ||
462 | } | 465 | } |
463 | 466 | ||
464 | /// <summary> | 467 | /// <summary> |
@@ -640,7 +643,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
640 | } | 643 | } |
641 | } | 644 | } |
642 | 645 | ||
643 | public static void LoadTextureFile(string name) | 646 | public static void CreateDefaultTextureEntry(string name) |
644 | { | 647 | { |
645 | /* FileInfo fInfo = new FileInfo(name); | 648 | /* FileInfo fInfo = new FileInfo(name); |
646 | long numBytes = fInfo.Length; | 649 | long numBytes = fInfo.Length; |
diff --git a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs index 6bcec5c..b9ffb71 100644 --- a/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleApp/MyNpcCharacter.cs | |||
@@ -121,7 +121,7 @@ namespace SimpleApp | |||
121 | public virtual void SendWearables(AvatarWearable[] wearables) { } | 121 | public virtual void SendWearables(AvatarWearable[] wearables) { } |
122 | public virtual void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry) { } | 122 | public virtual void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry) { } |
123 | public virtual void SendStartPingCheck(byte seq) { } | 123 | public virtual void SendStartPingCheck(byte seq) { } |
124 | public virtual void SendKillObject(ulong regionHandle, uint avatarLocalID) { } | 124 | public virtual void SendKillObject(ulong regionHandle, uint localID) { } |
125 | public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId) { } | 125 | public virtual void SendAnimation(LLUUID animID, int seq, LLUUID sourceAgentId) { } |
126 | public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { } | 126 | public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { } |
127 | public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { } | 127 | public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName, LLUUID fromAgentID) { } |
diff --git a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs index 4d0699b..b722fdf 100644 --- a/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs +++ b/OpenSim/Region/Physics/BasicPhysicsPlugin/BasicPhysicsPlugin.cs | |||
@@ -31,79 +31,97 @@ using OpenSim.Physics.Manager; | |||
31 | 31 | ||
32 | namespace OpenSim.Region.Physics.BasicPhysicsPlugin | 32 | namespace OpenSim.Region.Physics.BasicPhysicsPlugin |
33 | { | 33 | { |
34 | /// <summary> | 34 | /// <summary> |
35 | /// Will be the PhysX plugin but for now will be a very basic physics engine | 35 | /// Will be the PhysX plugin but for now will be a very basic physics engine |
36 | /// </summary> | 36 | /// </summary> |
37 | public class BasicPhysicsPlugin : IPhysicsPlugin | 37 | public class BasicPhysicsPlugin : IPhysicsPlugin |
38 | { | 38 | { |
39 | public BasicPhysicsPlugin() | 39 | public BasicPhysicsPlugin() |
40 | { | 40 | { |
41 | 41 | ||
42 | } | 42 | } |
43 | 43 | ||
44 | public bool Init() | 44 | public bool Init() |
45 | { | 45 | { |
46 | return true; | 46 | return true; |
47 | } | 47 | } |
48 | 48 | ||
49 | public PhysicsScene GetScene() | 49 | public PhysicsScene GetScene() |
50 | { | 50 | { |
51 | return new BasicScene(); | 51 | return new BasicScene(); |
52 | } | 52 | } |
53 | 53 | ||
54 | public string GetName() | 54 | public string GetName() |
55 | { | 55 | { |
56 | return("basicphysics"); | 56 | return ("basicphysics"); |
57 | } | 57 | } |
58 | 58 | ||
59 | public void Dispose() | 59 | public void Dispose() |
60 | { | 60 | { |
61 | 61 | ||
62 | } | 62 | } |
63 | } | 63 | } |
64 | 64 | ||
65 | public class BasicScene :PhysicsScene | 65 | public class BasicScene : PhysicsScene |
66 | { | 66 | { |
67 | private List<BasicActor> _actors = new List<BasicActor>(); | 67 | private List<BasicActor> _actors = new List<BasicActor>(); |
68 | private float[] _heightMap; | 68 | private float[] _heightMap; |
69 | 69 | ||
70 | public BasicScene() | 70 | public BasicScene() |
71 | { | 71 | { |
72 | 72 | ||
73 | } | 73 | } |
74 | 74 | ||
75 | public override PhysicsActor AddAvatar(PhysicsVector position) | 75 | public override PhysicsActor AddAvatar(PhysicsVector position) |
76 | { | 76 | { |
77 | BasicActor act = new BasicActor(); | 77 | BasicActor act = new BasicActor(); |
78 | act.Position = position; | 78 | act.Position = position; |
79 | _actors.Add(act); | 79 | _actors.Add(act); |
80 | return act; | 80 | return act; |
81 | } | 81 | } |
82 | 82 | ||
83 | public override void RemoveAvatar(PhysicsActor actor) | 83 | public override void RemoveAvatar(PhysicsActor actor) |
84 | { | 84 | { |
85 | BasicActor act = (BasicActor)actor; | 85 | BasicActor act = (BasicActor)actor; |
86 | if(_actors.Contains(act)) | 86 | if (_actors.Contains(act)) |
87 | { | 87 | { |
88 | _actors.Remove(act); | 88 | _actors.Remove(act); |
89 | } | 89 | } |
90 | 90 | ||
91 | } | 91 | } |
92 | 92 | ||
93 | public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size) | 93 | public override PhysicsActor AddPrim(PhysicsVector position, PhysicsVector size) |
94 | { | 94 | { |
95 | return null; | 95 | return null; |
96 | } | 96 | } |
97 | 97 | ||
98 | public override void Simulate(float timeStep) | 98 | public override void Simulate(float timeStep) |
99 | { | 99 | { |
100 | foreach (BasicActor actor in _actors) | 100 | foreach (BasicActor actor in _actors) |
101 | { | 101 | { |
102 | float height = _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 1.2f; | ||
103 | actor.Position.X = actor.Position.X + (actor.Velocity.X * timeStep); | 102 | actor.Position.X = actor.Position.X + (actor.Velocity.X * timeStep); |
104 | actor.Position.Y = actor.Position.Y + (actor.Velocity.Y * timeStep); | 103 | actor.Position.Y = actor.Position.Y + (actor.Velocity.Y * timeStep); |
104 | if (actor.Position.Y < 0) | ||
105 | { | ||
106 | actor.Position.Y = 0; | ||
107 | } | ||
108 | else if (actor.Position.Y > 256) | ||
109 | { | ||
110 | actor.Position.Y = 256; | ||
111 | } | ||
112 | |||
113 | if (actor.Position.X < 0) | ||
114 | { | ||
115 | actor.Position.X = 0; | ||
116 | } | ||
117 | else if (actor.Position.X > 256) | ||
118 | { | ||
119 | actor.Position.X = 256; | ||
120 | } | ||
121 | |||
122 | float height = _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 1.2f; | ||
105 | if (actor.Flying) | 123 | if (actor.Flying) |
106 | { | 124 | { |
107 | if (actor.Position.Z + (actor.Velocity.Z * timeStep) < _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 2) | 125 | if (actor.Position.Z + (actor.Velocity.Z * timeStep) < _heightMap[(int)actor.Position.Y * 256 + (int)actor.Position.X] + 2) |
108 | { | 126 | { |
109 | actor.Position.Z = height; | 127 | actor.Position.Z = height; |
@@ -120,145 +138,129 @@ namespace OpenSim.Region.Physics.BasicPhysicsPlugin | |||
120 | actor.Velocity.Z = 0; | 138 | actor.Velocity.Z = 0; |
121 | } | 139 | } |
122 | 140 | ||
123 | if (actor.Position.Y < 0) | ||
124 | { | ||
125 | actor.Position.Y = 0; | ||
126 | } | ||
127 | else if (actor.Position.Y > 256) | ||
128 | { | ||
129 | actor.Position.Y = 256; | ||
130 | } | ||
131 | 141 | ||
132 | if (actor.Position.X < 0) | ||
133 | { | ||
134 | actor.Position.X = 0; | ||
135 | } | ||
136 | if (actor.Position.X > 256) | ||
137 | { | ||
138 | actor.Position.X = 256; | ||
139 | } | ||
140 | } | 142 | } |
141 | } | 143 | } |
142 | 144 | ||
143 | public override void GetResults() | 145 | public override void GetResults() |
144 | { | 146 | { |
145 | 147 | ||
146 | } | 148 | } |
147 | 149 | ||
148 | public override bool IsThreaded | 150 | public override bool IsThreaded |
149 | { | 151 | { |
150 | get | 152 | get |
151 | { | 153 | { |
152 | return(false); // for now we won't be multithreaded | 154 | return (false); // for now we won't be multithreaded |
153 | } | 155 | } |
154 | } | 156 | } |
155 | 157 | ||
156 | public override void SetTerrain(float[] heightMap) | 158 | public override void SetTerrain(float[] heightMap) |
157 | { | 159 | { |
158 | this._heightMap = heightMap; | 160 | this._heightMap = heightMap; |
159 | } | 161 | } |
160 | 162 | ||
161 | public override void DeleteTerrain() | 163 | public override void DeleteTerrain() |
162 | { | 164 | { |
163 | 165 | ||
164 | } | 166 | } |
165 | } | 167 | } |
166 | 168 | ||
167 | public class BasicActor : PhysicsActor | 169 | public class BasicActor : PhysicsActor |
168 | { | 170 | { |
169 | private PhysicsVector _position; | 171 | private PhysicsVector _position; |
170 | private PhysicsVector _velocity; | 172 | private PhysicsVector _velocity; |
171 | private PhysicsVector _acceleration; | 173 | private PhysicsVector _acceleration; |
172 | private bool flying; | 174 | private bool flying; |
173 | public BasicActor() | 175 | public BasicActor() |
174 | { | 176 | { |
175 | _velocity = new PhysicsVector(); | 177 | _velocity = new PhysicsVector(); |
176 | _position = new PhysicsVector(); | 178 | _position = new PhysicsVector(); |
177 | _acceleration = new PhysicsVector(); | 179 | _acceleration = new PhysicsVector(); |
178 | } | 180 | } |
179 | 181 | ||
180 | public override bool Flying | 182 | public override bool Flying |
181 | { | 183 | { |
182 | get | 184 | get |
183 | { | 185 | { |
184 | return flying; | 186 | return flying; |
185 | } | 187 | } |
186 | set | 188 | set |
187 | { | 189 | { |
188 | flying= value; | 190 | flying = value; |
189 | } | 191 | } |
190 | } | 192 | } |
191 | 193 | ||
192 | public override PhysicsVector Position | 194 | public override PhysicsVector Position |
193 | { | 195 | { |
194 | get | 196 | get |
195 | { | 197 | { |
196 | return _position; | 198 | return _position; |
197 | } | 199 | } |
198 | set | 200 | set |
199 | { | 201 | { |
200 | _position = value; | 202 | _position = value; |
201 | } | 203 | } |
202 | } | 204 | } |
203 | 205 | ||
204 | public override PhysicsVector Velocity | 206 | public override PhysicsVector Velocity |
205 | { | 207 | { |
206 | get | 208 | get |
207 | { | 209 | { |
208 | return _velocity; | 210 | return _velocity; |
209 | } | 211 | } |
210 | set | 212 | set |
211 | { | 213 | { |
212 | _velocity = value; | 214 | _velocity = value; |
213 | } | 215 | } |
214 | } | 216 | } |
215 | 217 | ||
216 | public override Quaternion Orientation | 218 | public override Quaternion Orientation |
217 | { | 219 | { |
218 | get | 220 | get |
219 | { | 221 | { |
220 | return Quaternion.Identity; | 222 | return Quaternion.Identity; |
221 | } | 223 | } |
222 | set | 224 | set |
223 | { | 225 | { |
224 | 226 | ||
225 | } | 227 | } |
226 | } | 228 | } |
227 | 229 | ||
228 | public override PhysicsVector Acceleration | 230 | public override PhysicsVector Acceleration |
229 | { | 231 | { |
230 | get | 232 | get |
231 | { | 233 | { |
232 | return _acceleration; | 234 | return _acceleration; |
233 | } | 235 | } |
234 | 236 | ||
235 | } | 237 | } |
236 | 238 | ||
237 | public override bool Kinematic | 239 | public override bool Kinematic |
238 | { | 240 | { |
239 | get | 241 | get |
240 | { | 242 | { |
241 | return true; | 243 | return true; |
242 | } | 244 | } |
243 | set | 245 | set |
244 | { | 246 | { |
245 | 247 | ||
246 | } | 248 | } |
247 | } | 249 | } |
248 | public void SetAcceleration (PhysicsVector accel) | 250 | public void SetAcceleration(PhysicsVector accel) |
249 | { | 251 | { |
250 | this._acceleration = accel; | 252 | this._acceleration = accel; |
251 | } | 253 | } |
252 | 254 | ||
253 | public override void AddForce(PhysicsVector force) | 255 | public override void AddForce(PhysicsVector force) |
254 | { | 256 | { |
255 | 257 | ||
256 | } | 258 | } |
257 | 259 | ||
258 | public override void SetMomentum(PhysicsVector momentum) | 260 | public override void SetMomentum(PhysicsVector momentum) |
259 | { | 261 | { |
260 | 262 | ||
261 | } | 263 | } |
262 | } | 264 | } |
263 | 265 | ||
264 | } | 266 | } |