diff options
author | Adam Frisby | 2008-03-30 09:03:38 +0000 |
---|---|---|
committer | Adam Frisby | 2008-03-30 09:03:38 +0000 |
commit | fadd19f3140107d7c09e7a82a97dfb490146ccb9 (patch) | |
tree | 3ce4581ef1af79d451f0b24ce50128f09482f386 /OpenSim/Region/Environment/Modules/CommanderTestModule.cs | |
parent | This update has good news and bad news, first the bad. (diff) | |
download | opensim-SC-fadd19f3140107d7c09e7a82a97dfb490146ccb9.zip opensim-SC-fadd19f3140107d7c09e7a82a97dfb490146ccb9.tar.gz opensim-SC-fadd19f3140107d7c09e7a82a97dfb490146ccb9.tar.bz2 opensim-SC-fadd19f3140107d7c09e7a82a97dfb490146ccb9.tar.xz |
**Big ass update warning**
* Renamed plugin console message, to send a message to a plugin, use either "plugin <message>", or any unrecognised message will be sent ("plugin" sends explicitly) This replaces the old "script <message>".
* Terrain commands - "terrain <command>" now works again. "Script terrain <command>" does not. Many of the commands have now been reimplemented, eg load-tile. However some have new syntax.
* New console command handler, you can now use things like "terrain help" or "terrain save help". See TerrainModule.cs for an example of how to use the new "Commander" class.
* Commander class - advanced processing of console input and also enables a script API to be generated from registered console commands.
Diffstat (limited to 'OpenSim/Region/Environment/Modules/CommanderTestModule.cs')
-rw-r--r-- | OpenSim/Region/Environment/Modules/CommanderTestModule.cs | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/OpenSim/Region/Environment/Modules/CommanderTestModule.cs b/OpenSim/Region/Environment/Modules/CommanderTestModule.cs new file mode 100644 index 0000000..555944c --- /dev/null +++ b/OpenSim/Region/Environment/Modules/CommanderTestModule.cs | |||
@@ -0,0 +1,92 @@ | |||
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 OpenSim 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; | ||
29 | using System.Collections.Generic; | ||
30 | using libsecondlife; | ||
31 | using Nini.Config; | ||
32 | using OpenSim.Framework; | ||
33 | using OpenSim.Region.Environment.Interfaces; | ||
34 | using OpenSim.Region.Environment.Scenes; | ||
35 | using OpenSim.Region.Environment.Modules.ModuleFramework; | ||
36 | |||
37 | namespace OpenSim.Region.Environment.Modules | ||
38 | { | ||
39 | public class CommanderTestModule : IRegionModule, ICommandableModule | ||
40 | { | ||
41 | Commander m_commander = new Commander("CommanderTest"); | ||
42 | Scene m_scene; | ||
43 | |||
44 | #region IRegionModule Members | ||
45 | |||
46 | public void Initialise(Scene scene, IConfigSource source) | ||
47 | { | ||
48 | m_scene = scene; | ||
49 | } | ||
50 | |||
51 | private void InterfaceHelloWorld(Object[] args) | ||
52 | { | ||
53 | Console.WriteLine("Hello World"); | ||
54 | } | ||
55 | |||
56 | public void PostInitialise() | ||
57 | { | ||
58 | Command testCommand = new Command("hello", InterfaceHelloWorld, "Says a simple debugging test string"); | ||
59 | testCommand.AddArgument("world", "Write world here", "string"); | ||
60 | |||
61 | m_commander.RegisterCommand("hello", testCommand); | ||
62 | |||
63 | // Register me | ||
64 | m_scene.RegisterModuleCommander("commandertest", m_commander); | ||
65 | } | ||
66 | |||
67 | public void Close() | ||
68 | { | ||
69 | } | ||
70 | |||
71 | public string Name | ||
72 | { | ||
73 | get { return "CommanderTestModule"; } | ||
74 | } | ||
75 | |||
76 | public bool IsSharedModule | ||
77 | { | ||
78 | get { return false; } | ||
79 | } | ||
80 | |||
81 | #endregion | ||
82 | |||
83 | #region ICommandableModule Members | ||
84 | |||
85 | public ICommander CommandInterface | ||
86 | { | ||
87 | get { throw new NotImplementedException(); } | ||
88 | } | ||
89 | |||
90 | #endregion | ||
91 | } | ||
92 | } | ||