OpenSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
TestLandChannel.cs
Go to the documentation of this file.
1 /*
2  * Copyright (c) Contributors, http://opensimulator.org/
3  * See CONTRIBUTORS.TXT for a full list of copyright holders.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  * * Redistributions of source code must retain the above copyright
8  * notice, this list of conditions and the following disclaimer.
9  * * Redistributions in binary form must reproduce the above copyright
10  * notice, this list of conditions and the following disclaimer in the
11  * documentation and/or other materials provided with the distribution.
12  * * Neither the name of the OpenSimulator Project nor the
13  * names of its contributors may be used to endorse or promote products
14  * derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
17  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19  * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
20  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27 
28 using System.Collections.Generic;
29 using OpenMetaverse;
30 using OpenSim.Framework;
31 using OpenSim.Region.Framework.Interfaces;
32 using OpenSim.Region.Framework.Scenes;
33 using OpenSim.Region.CoreModules.World.Land;
34 
35 namespace OpenSim.Tests.Common
36 {
41  {
42  private Scene m_scene;
43  private List<ILandObject> m_parcels;
44 
45  public TestLandChannel(Scene scene)
46  {
47  m_scene = scene;
48  m_parcels = new List<ILandObject>();
49  SetupDefaultParcel();
50  }
51 
52  private void SetupDefaultParcel()
53  {
54  ILandObject obj = new LandObject(UUID.Zero, false, m_scene);
55  obj.LandData.Name = "Your Parcel";
56  m_parcels.Add(obj);
57  }
58 
59  public List<ILandObject> ParcelsNearPoint(Vector3 position)
60  {
61  return new List<ILandObject>();
62  }
63 
64  public List<ILandObject> AllParcels()
65  {
66  return m_parcels;
67  }
68 
69  public void Clear(bool setupDefaultParcel)
70  {
71  m_parcels.Clear();
72 
73  if (setupDefaultParcel)
74  SetupDefaultParcel();
75  }
76 
77  protected ILandObject GetNoLand()
78  {
79  ILandObject obj = new LandObject(UUID.Zero, false, m_scene);
80  obj.LandData.Name = "NO LAND";
81  return obj;
82  }
83 
84  public ILandObject GetLandObject(Vector3 position)
85  {
86  return GetLandObject(position.X, position.Y);
87  }
88 
89  public ILandObject GetLandObject(int x, int y)
90  {
91  return GetNoLand();
92  }
93 
94  public ILandObject GetLandObject(int localID)
95  {
96  return GetNoLand();
97  }
98 
99  public ILandObject GetLandObject(float x, float y)
100  {
101  return GetNoLand();
102  }
103 
104  public bool IsLandPrimCountTainted() { return false; }
105  public bool IsForcefulBansAllowed() { return false; }
106  public void UpdateLandObject(int localID, LandData data) {}
107  public void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient) {}
110  public void SetParcelOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime) {}
111 
112  public void Join(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id) {}
113  public void Subdivide(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id) {}
114  public void sendClientInitialLandInfo(IClientAPI remoteClient) { }
115  }
116 }
void setSimulatorObjectMaxOverride(overrideSimulatorMaxPrimCountDelegate overrideDel)
void UpdateLandObject(int localID, LandData data)
List< ILandObject > AllParcels()
Get all parcels
void SetParcelOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime)
List< ILandObject > ParcelsNearPoint(Vector3 position)
Get the parcels near the specified point
void Subdivide(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id)
ILandObject GetLandObject(int localID)
Get the parcel given the land's local id.
void sendClientInitialLandInfo(IClientAPI remoteClient)
ILandObject GetLandObject(int x, int y)
Get the parcel at the specified point
Keeps track of a specific piece of land's information
Definition: LandObject.cs:43
void setParcelObjectMaxOverride(overrideParcelMaxPrimCountDelegate overrideDel)
ILandObject GetLandObject(float x, float y)
Get the parcel at the specified point
Details of a Parcel of land
Definition: LandData.cs:47
void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient)
delegate int overrideParcelMaxPrimCountDelegate(ILandObject obj)
delegate int overrideSimulatorMaxPrimCountDelegate(ILandObject obj)
void Join(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id)
Land channel for test purposes
ILandObject GetLandObject(Vector3 position)
Get the parcel at the specified point
void Clear(bool setupDefaultParcel)
Clear the land channel of all parcels.