Пример #1
0
        public void AddRegion(Scene scene)
        {
            if (!enabled)
            {
                return;
            }
            log("Adding region to MGM");
            npc = (NPCModule)scene.RequestModuleInterface <INPCModule>();
            if (npc == null || !npc.Enabled)
            {
                enabled = false;
                log("ERROR: NPC module must be enabled for MGM");
                return;
            }
            scene.AddCommand("mgm", this, "mgm status", "status", "Print the status of the MGM module", consoleStatus);
            scene.AddCommand("mgm", this, "mgm addUser", "addUser", "Test adding a user", addUser);
            scene.AddCommand("mgm", this, "mgm removeUser", "removeUser", "Test removing a user", removeUser);
            mgmLink = new MGMLink(new IPEndPoint(mgmAddress, mgmPort), log);
            mgmLink.start();
            registerEvents(scene.EventManager);
            string regMsg = MGMJson.Register(scene.Name, scene.RegionInfo.RegionLocX, scene.RegionInfo.RegionLocY, scene.RegionInfo.RegionSizeX);

            mgmLink.send(regMsg);
            this.scene = scene;
            mgr        = new MGMClientManager(scene, log);
        }
Пример #2
0
        public override void SetUp()
        {
            base.SetUp();

            uint port    = 9999;
            uint sslPort = 9998;

            // This is an unfortunate bit of clean up we have to do because MainServer manages things through static
            // variables and the VM is not restarted between tests.
            MainServer.RemoveHttpServer(port);

            BaseHttpServer server = new BaseHttpServer(port, false, sslPort, "");

            MainServer.AddHttpServer(server);
            MainServer.Instance = server;

            IConfigSource config = new IniConfigSource();

            config.AddConfig("Startup");
            config.Configs["Startup"].Set("EventQueue", "true");

            CapabilitiesModule capsModule = new CapabilitiesModule();

            m_eqgMod = new EventQueueGetModule();

            // For NPC test support
            config.AddConfig("NPC");
            config.Configs["NPC"].Set("Enabled", "true");
            m_npcMod = new NPCModule();

            m_scene = new SceneHelpers().SetupScene();
            SceneHelpers.SetupSceneModules(m_scene, config, capsModule, m_eqgMod, m_npcMod);
        }
Пример #3
0
        public void initialize(Scene scene)
        {
            scene.EventManager.OnFrame += onFrame;

            m_scene = scene;
            dialog  = m_scene.RequestModuleInterface <IDialogModule>();

            /* lookup xEngine */
            IScriptModule scriptModule = null;

            foreach (IScriptModule sm in scene.RequestModuleInterfaces <IScriptModule>())
            {
                if (sm.ScriptEngineName == scene.DefaultScriptEngine)
                {
                    scriptModule = sm;
                }
                else if (scriptModule == null)
                {
                    scriptModule = sm;
                }
            }
            xEngine = (XEngine)scriptModule;

            /* lookup NPC module */
            npc = (NPCModule)m_scene.RequestModuleInterface <INPCModule>();
        }
Пример #4
0
 public static NPCModule getInstance()
 {
     if (instance == null)
     {
         instance = new NPCModule();
     }
     return instance;
 }
Пример #5
0
    protected void GetModules()
    {
        Modules = new Dictionary <string, NPCModule>();
        foreach (KeyValuePair <string, string> entry in NPCModuleTypes)
        {
            NPCModule module = (NPCModule)GetComponent(entry.Value);
            Modules.Add(entry.Key, module);
        }
        ;

        combatModule         = (CombatModule)Modules["Combat"];
        movementModule       = (MovementModule)Modules["Movement"];
        bounceModule         = (BounceModule)Modules["Bounce"];
        handleOpponentModule = (HandleOpponentModule)Modules["HandleOpponent"];
        visionModule         = (VisionModule)Modules["Vision"];
    }
Пример #6
0
        public void Init()
        {
            IConfigSource config = new IniConfigSource();
            config.AddConfig("NPC");
            config.Configs["NPC"].Set("Enabled", "true");
            config.AddConfig("Modules");
            config.Configs["Modules"].Set("InventoryAccessModule", "BasicInventoryAccessModule");

            m_afMod = new AvatarFactoryModule();
            m_umMod = new UserManagementModule();
            m_attMod = new AttachmentsModule();
            m_npcMod = new NPCModule();

            m_scene = SceneHelpers.SetupScene();
            SceneHelpers.SetupSceneModules(m_scene, config, m_afMod, m_umMod, m_attMod, m_npcMod, new BasicInventoryAccessModule());
        }
Пример #7
0
    // Player comes in range
    void OnTriggerEnter(Collider coll)
    {
        if (!GameManager.isPvE)
        {
            return;
        }

        if (Player.main == null)
        {
            return;
        }

        if (coll != Player.main.collider)
        {
            return;
        }

        Player.main.actionTarget = this;

        // Play sound
        if (audio != null && audio.clip != null)
        {
            audio.Play();
        }

        if (InGameLobby.instance != null && module == null)
        {
            if (componentName == "InGameLobby")
            {
                module = (NPCModule)InGameLobby.instance;
            }
            else if (componentName == "MusicManager")
            {
                module = (NPCModule)MusicManager.instance;
            }
            else
            {
                module = (NPCModule)InGameLobby.instance.GetComponent(componentName);
            }
        }

        if (module != null)
        {
            module.OnNPCEnter();
        }
    }
Пример #8
0
        public void SetUpScene(uint sizeX, uint sizeY)
        {
            IConfigSource config = new IniConfigSource();

            config.AddConfig("NPC");
            config.Configs["NPC"].Set("Enabled", "true");
            config.AddConfig("Modules");
            config.Configs["Modules"].Set("InventoryAccessModule", "BasicInventoryAccessModule");

            m_afMod  = new AvatarFactoryModule();
            m_umMod  = new UserManagementModule();
            m_attMod = new AttachmentsModule();
            m_npcMod = new NPCModule();

            m_scene = new SceneHelpers().SetupScene("test scene", UUID.Random(), 1000, 1000, sizeX, sizeY, config);
            SceneHelpers.SetupSceneModules(m_scene, config, m_afMod, m_umMod, m_attMod, m_npcMod, new BasicInventoryAccessModule());
        }
Пример #9
0
        public void Init()
        {
            IConfigSource config = new IniConfigSource();

            config.AddConfig("NPC");
            config.Configs["NPC"].Set("Enabled", "true");
            config.AddConfig("Modules");
            config.Configs["Modules"].Set("InventoryAccessModule", "BasicInventoryAccessModule");

            m_afMod  = new AvatarFactoryModule();
            m_umMod  = new UserManagementModule();
            m_attMod = new AttachmentsModule();
            m_npcMod = new NPCModule();

            m_scene = new SceneHelpers().SetupScene();
            SceneHelpers.SetupSceneModules(m_scene, config, m_afMod, m_umMod, m_attMod, m_npcMod, new BasicInventoryAccessModule());
        }
Пример #10
0
        private void createActor(UUID originalUuid, string firstName, string lastName, string appearanceNotecard)
        {
            if (actors.ContainsKey(originalUuid))
            {
                return;
            }
            if (npc == null)
            {
                npc = (NPCModule)m_scene.RequestModuleInterface <INPCModule>();
            }

            //read appearance out of notecard
            AvatarAppearance appearance = loadAvatarAppearance(appearanceNotecard);

            //create npc
            UUID          uuid = npc.CreateNPC(firstName, lastName, Vector3.Zero, UUID.Zero, false, m_scene, appearance);
            ScenePresence presence;

            m_scene.TryGetScenePresence(uuid, out presence);
            actors[originalUuid] = presence;
        }
Пример #11
0
        public void SetUpScene(uint sizeX, uint sizeY)
        {
            IConfigSource config = new IniConfigSource();
            config.AddConfig("NPC");
            config.Configs["NPC"].Set("Enabled", "true");
            config.AddConfig("Modules");
            config.Configs["Modules"].Set("InventoryAccessModule", "BasicInventoryAccessModule");

            m_afMod = new AvatarFactoryModule();
            m_umMod = new UserManagementModule();
            m_attMod = new AttachmentsModule();
            m_npcMod = new NPCModule();

            m_scene = new SceneHelpers().SetupScene("test scene", UUID.Random(), 1000, 1000, sizeX, sizeY, config);
            SceneHelpers.SetupSceneModules(m_scene, config, m_afMod, m_umMod, m_attMod, m_npcMod, new BasicInventoryAccessModule());
        }