aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/SceneBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneBase.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneBase.cs71
1 files changed, 64 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneBase.cs b/OpenSim/Region/Framework/Scenes/SceneBase.cs
index da3b4dd..1e80f73 100644
--- a/OpenSim/Region/Framework/Scenes/SceneBase.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneBase.cs
@@ -474,6 +474,63 @@ namespace OpenSim.Region.Framework.Scenes
474 /// <summary> 474 /// <summary>
475 /// Call this from a region module to add a command to the OpenSim console. 475 /// Call this from a region module to add a command to the OpenSim console.
476 /// </summary> 476 /// </summary>
477 /// <param name="mod">
478 /// The use of IRegionModuleBase is a cheap trick to get a different method signature,
479 /// though all new modules should be using interfaces descended from IRegionModuleBase anyway.
480 /// </param>
481 /// <param name="category">
482 /// Category of the command. This is the section under which it will appear when the user asks for help
483 /// </param>
484 /// <param name="command"></param>
485 /// <param name="shorthelp"></param>
486 /// <param name="longhelp"></param>
487 /// <param name="callback"></param>
488 public void AddCommand(
489 string category, object mod, string command, string shorthelp, string longhelp, CommandDelegate callback)
490 {
491 AddCommand(category, mod, command, shorthelp, longhelp, string.Empty, callback);
492 }
493
494 /// <summary>
495 /// Call this from a region module to add a command to the OpenSim console.
496 /// </summary>
497 /// <param name="mod"></param>
498 /// <param name="command"></param>
499 /// <param name="shorthelp"></param>
500 /// <param name="longhelp"></param>
501 /// <param name="descriptivehelp"></param>
502 /// <param name="callback"></param>
503 public void AddCommand(object mod, string command, string shorthelp, string longhelp, string descriptivehelp, CommandDelegate callback)
504 {
505 string moduleName = "";
506
507 if (mod != null)
508 {
509 if (mod is IRegionModule)
510 {
511 IRegionModule module = (IRegionModule)mod;
512 moduleName = module.Name;
513 }
514 else if (mod is IRegionModuleBase)
515 {
516 IRegionModuleBase module = (IRegionModuleBase)mod;
517 moduleName = module.Name;
518 }
519 else
520 {
521 throw new Exception("AddCommand module parameter must be IRegionModule or IRegionModuleBase");
522 }
523 }
524
525 AddCommand(moduleName, mod, command, shorthelp, longhelp, descriptivehelp, callback);
526 }
527
528 /// <summary>
529 /// Call this from a region module to add a command to the OpenSim console.
530 /// </summary>
531 /// <param name="category">
532 /// Category of the command. This is the section under which it will appear when the user asks for help
533 /// </param>
477 /// <param name="mod"></param> 534 /// <param name="mod"></param>
478 /// <param name="command"></param> 535 /// <param name="command"></param>
479 /// <param name="shorthelp"></param> 536 /// <param name="shorthelp"></param>
@@ -481,12 +538,12 @@ namespace OpenSim.Region.Framework.Scenes
481 /// <param name="descriptivehelp"></param> 538 /// <param name="descriptivehelp"></param>
482 /// <param name="callback"></param> 539 /// <param name="callback"></param>
483 public void AddCommand( 540 public void AddCommand(
484 object mod, string command, string shorthelp, string longhelp, string descriptivehelp, CommandDelegate callback) 541 string category, object mod, string command,
542 string shorthelp, string longhelp, string descriptivehelp, CommandDelegate callback)
485 { 543 {
486 if (MainConsole.Instance == null) 544 if (MainConsole.Instance == null)
487 return; 545 return;
488 546
489 string modulename = String.Empty;
490 bool shared = false; 547 bool shared = false;
491 548
492 if (mod != null) 549 if (mod != null)
@@ -494,20 +551,20 @@ namespace OpenSim.Region.Framework.Scenes
494 if (mod is IRegionModule) 551 if (mod is IRegionModule)
495 { 552 {
496 IRegionModule module = (IRegionModule)mod; 553 IRegionModule module = (IRegionModule)mod;
497 modulename = module.Name;
498 shared = module.IsSharedModule; 554 shared = module.IsSharedModule;
499 } 555 }
500 else if (mod is IRegionModuleBase) 556 else if (mod is IRegionModuleBase)
501 { 557 {
502 IRegionModuleBase module = (IRegionModuleBase)mod;
503 modulename = module.Name;
504 shared = mod is ISharedRegionModule; 558 shared = mod is ISharedRegionModule;
505 } 559 }
506 else throw new Exception("AddCommand module parameter must be IRegionModule or IRegionModuleBase"); 560 else
561 {
562 throw new Exception("AddCommand module parameter must be IRegionModule or IRegionModuleBase");
563 }
507 } 564 }
508 565
509 MainConsole.Instance.Commands.AddCommand( 566 MainConsole.Instance.Commands.AddCommand(
510 modulename, shared, command, shorthelp, longhelp, descriptivehelp, callback); 567 category, shared, command, shorthelp, longhelp, descriptivehelp, callback);
511 } 568 }
512 569
513 public virtual ISceneObject DeserializeObject(string representation) 570 public virtual ISceneObject DeserializeObject(string representation)