/// <summary>
 /// Find module installer components for auto install with settings from unity editor.
 /// </summary>
 /// <param name="_gamemanagerGO"></param>
 public void ModuleAutoInstallerOverride(GameObject _gamemanagerGO)
 {
     // DataModule
     if (_gamemanagerGO.GetComponentInChildren <ModuleInstaller <IDataModule> >())
     {
         IDataModule dm = _gamemanagerGO.GetComponentInChildren <ModuleInstaller <IDataModule> >().InstallModule();
         DataModule.SetupModule(dm, dm.Settings);
         //typeof(IMyInterface).IsAssignableFrom(typeof(MyType))
         //typeof().GetInterfaces().Contains(typeof(IMyInterface))
     }
     // LocalizationModule
     if (_gamemanagerGO.GetComponentInChildren <ModuleInstaller <ILocalizationModule> >())
     {
         ILocalizationModule dm = _gamemanagerGO.GetComponentInChildren <ModuleInstaller <ILocalizationModule> >().InstallModule();
         LocalizationModule.SetupModule(dm, dm.Settings);
     }
     // PlayerProfileModule Install
     if (_gamemanagerGO.GetComponentInChildren <ModuleInstaller <IPlayerProfileModule> >())
     {
         IPlayerProfileModule moduleInstance = _gamemanagerGO.GetComponentInChildren <ModuleInstaller <IPlayerProfileModule> >().InstallModule();
         PlayerProfile.SetupModule(moduleInstance, moduleInstance.Settings);
     }
     // UIModule Install
     if (_gamemanagerGO.GetComponentInChildren <ModuleInstaller <IUIModule> >())
     {
         IUIModule moduleInstance = _gamemanagerGO.GetComponentInChildren <ModuleInstaller <IUIModule> >().InstallModule();
         UIModule.SetupModule(moduleInstance, moduleInstance.Settings);
     }
     // SceneModule Install
     if (_gamemanagerGO.GetComponentInChildren <ModuleInstaller <ISceneModule> >())
     {
         ISceneModule moduleInstance = _gamemanagerGO.GetComponentInChildren <ModuleInstaller <ISceneModule> >().InstallModule();
         SceneModule.SetupModule(moduleInstance, moduleInstance.Settings);
     }
 }
Example #2
0
        public ActionResult Edit(long id)
        {
            AddEditUIModuleViewModel vModel = new AddEditUIModuleViewModel
            {
                AuthedUser = UserManager.FindById(User.Identity.GetUserId())
            };

            IUIModule obj = TemplateCache.Get <IUIModule>(id);

            if (obj == null)
            {
                string message = "That does not exist";
                return(RedirectToAction("Index", new { Message = message }));
            }

            vModel.DataObject    = obj;
            vModel.Name          = obj.Name;
            vModel.BodyHtml      = obj.BodyHtml.Value;
            vModel.Height        = obj.Height;
            vModel.Width         = obj.Width;
            vModel.HelpText      = obj.HelpText.Value;
            vModel.SystemDefault = obj.SystemDefault;

            return(View("~/Views/GameAdmin/UIModules/Edit.cshtml", vModel));
        }
Example #3
0
        public ActionResult RemoveUIModule(long ID, string authorize)
        {
            string message;

            if (string.IsNullOrWhiteSpace(authorize) || !ID.ToString().Equals(authorize))
            {
                message = "You must check the proper authorize radio button first.";
            }
            else
            {
                ApplicationUser authedUser = UserManager.FindById(User.Identity.GetUserId());

                IUIModule obj = TemplateCache.Get <IUIModule>(ID);

                if (obj == null)
                {
                    message = "That does not exist";
                }
                else if (obj.Remove(authedUser.GameAccount, authedUser.GetStaffRank(User)))
                {
                    LoggingUtility.LogAdminCommandUsage("*WEB* - RemoveUIModule[" + ID.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                    message = "Delete Successful.";
                }
                else
                {
                    message = "Error; Removal failed.";
                }
            }

            return(RedirectToAction("UIModules", new { Message = message }));
        }
Example #4
0
        public ActionResult EditUIModule(long id, AddEditUIModuleViewModel vModel)
        {
            ApplicationUser authedUser = UserManager.FindById(User.Identity.GetUserId());

            IUIModule obj = TemplateCache.Get <IUIModule>(id);
            string    message;

            if (obj == null)
            {
                message = "That does not exist";
                return(RedirectToAction("UIModules", new { Message = message }));
            }

            obj.Name     = vModel.Name;
            obj.BodyHtml = vModel.BodyHtml;
            obj.Height   = vModel.Height;
            obj.Width    = vModel.Width;
            obj.HelpText = vModel.HelpText;

            if (obj.Save(authedUser.GameAccount, authedUser.GetStaffRank(User)))
            {
                LoggingUtility.LogAdminCommandUsage("*WEB* - EditUIModule[" + obj.Id.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                message = "Edit Successful.";
            }
            else
            {
                message = "Error; Edit failed.";
            }

            return(RedirectToAction("UIModules", new { Message = message }));
        }
Example #5
0
 /// <summary>
 /// Module Setup.
 /// </summary>
 /// <param name="_concreteModule">Concrete module implementation to set as active module behaviour.</param>
 /// <returns></returns>
 public IUIModule SetupModule(IUIModule _concreteModule, IModuleSettings _settings = null)
 {
     ConcreteModuleImplementation = _concreteModule.SetupModule(_concreteModule, _settings);
     if (ConcreteModuleImplementation == null)
     {
         OnSetupError();
     }
     return(ConcreteModuleImplementation);
 }
Example #6
0
        public JsonResult <IUIModule> GetUIModuleContent(string moduleName)
        {
            IUIModule module = TemplateCache.GetByName <IUIModule>(moduleName);

            if (module != null)
            {
                return(Json(module));
            }

            return(null);
        }
Example #7
0
 public static void Dispose()
 {
     if (_currModule != null)
     {
         _currModule.Leave();
         _currModule = null;
     }
     if (Stage.inst != null)
     {
         Stage.inst.Dispose();
     }
 }
Example #8
0
        public ActionResult Remove(long removeId = -1, string authorizeRemove = "", long unapproveId = -1, string authorizeUnapprove = "")
        {
            string message;

            if (!string.IsNullOrWhiteSpace(authorizeRemove) && removeId.ToString().Equals(authorizeRemove))
            {
                ApplicationUser authedUser = UserManager.FindById(User.Identity.GetUserId());

                IUIModule obj = TemplateCache.Get <IUIModule>(removeId);

                if (obj == null)
                {
                    message = "That does not exist";
                }
                else if (obj.Remove(authedUser.GameAccount, authedUser.GetStaffRank(User)))
                {
                    LoggingUtility.LogAdminCommandUsage("*WEB* - RemoveUIModule[" + removeId.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                    message = "Delete Successful.";
                }
                else
                {
                    message = "Error; Removal failed.";
                }
            }
            else if (!string.IsNullOrWhiteSpace(authorizeUnapprove) && unapproveId.ToString().Equals(authorizeUnapprove))
            {
                ApplicationUser authedUser = UserManager.FindById(User.Identity.GetUserId());

                IUIModule obj = TemplateCache.Get <IUIModule>(unapproveId);

                if (obj == null)
                {
                    message = "That does not exist";
                }
                else if (obj.ChangeApprovalStatus(authedUser.GameAccount, authedUser.GetStaffRank(User), ApprovalState.Returned))
                {
                    LoggingUtility.LogAdminCommandUsage("*WEB* - UnapproveUIModule[" + unapproveId.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                    message = "Unapproval Successful.";
                }
                else
                {
                    message = "Error; Unapproval failed.";
                }
            }
            else
            {
                message = "You must check the proper remove or unapprove authorization radio button first.";
            }

            return(RedirectToAction("Index", new { Message = message }));
        }
Example #9
0
        public string RemoveUIModuleContent(string moduleName, int location)
        {
            ApplicationUser user = UserManager.FindById(User.Identity.GetUserId());

            Data.Players.Account account = user.GameAccount;

            if (account == null)
            {
                return("Invalid Account.");
            }

            List <Tuple <IUIModule, int> > modules = account.Config.UIModules.ToList();

            if (moduleName == "**anymodule**" && location != -1)
            {
                if (modules.Any(mod => mod.Item2.Equals(location)))
                {
                    Tuple <IUIModule, int> moduleTuple = modules.FirstOrDefault(mod => mod.Item2.Equals(location));
                    modules.Remove(moduleTuple);
                }
            }
            else
            {
                IUIModule module = TemplateCache.GetByName <IUIModule>(moduleName);

                if (module == null)
                {
                    return("Invalid Module.");
                }

                if ((location < 1 && location != -1) || location > 4)
                {
                    return("Invalid Location");
                }

                Tuple <IUIModule, int> moduleTuple = new Tuple <IUIModule, int>(module, location);

                //Remove this module
                if (modules.Any(mod => mod.Item1.Equals(module) && mod.Item2.Equals(location)))
                {
                    modules.Remove(moduleTuple);
                }
            }

            account.Config.UIModules = modules;
            account.Config.Save(account, StaffRank.Player);

            return("Success");
        }
Example #10
0
        public string SaveUIModuleContent(string moduleName, int location)
        {
            ApplicationUser user = UserManager.FindById(User.Identity.GetUserId());

            Data.Players.Account account = user.GameAccount;

            if (account == null)
            {
                return("Invalid Account.");
            }

            IUIModule module = TemplateCache.GetByName <IUIModule>(moduleName);

            if (module == null)
            {
                return("Invalid Module.");
            }

            if ((location < 1 && location != -1) || location > 4)
            {
                return("Invalid Location");
            }

            List <Tuple <IUIModule, int> > modules     = account.Config.UIModules.ToList();
            Tuple <IUIModule, int>         moduleTuple = new Tuple <IUIModule, int>(module, location);

            //Remove this module
            if (modules.Any(mod => mod.Item1.Equals(module)))
            {
                modules.Remove(moduleTuple);
            }

            //Remove the module in its place
            if (location != -1 && modules.Any(mod => mod.Item2.Equals(location)))
            {
                modules.RemoveAll(mod => mod.Item2.Equals(location));
            }

            //Add it finally
            modules.Add(moduleTuple);

            account.Config.UIModules = modules;

            account.Config.Save(account, StaffRank.Player);

            return("Success");
        }
Example #11
0
        public ActionResult Edit(long id, AddEditUIModuleViewModel vModel)
        {
            string          message    = string.Empty;
            ApplicationUser authedUser = UserManager.FindById(User.Identity.GetUserId());

            IUIModule obj = TemplateCache.Get <IUIModule>(id);

            if (obj == null)
            {
                message = "That does not exist";
                return(RedirectToAction("Index", new { Message = message }));
            }

            obj.Name          = vModel.Name;
            obj.BodyHtml      = vModel.BodyHtml;
            obj.Height        = vModel.Height;
            obj.Width         = vModel.Width;
            obj.HelpText      = vModel.HelpText;
            obj.SystemDefault = vModel.SystemDefault;

            if (obj.Save(authedUser.GameAccount, authedUser.GetStaffRank(User)))
            {
                IEnumerable <IUIModule> uiModules = TemplateCache.GetAll <IUIModule>().Where(uim => vModel.SystemDefault > 0 &&
                                                                                             uim.SystemDefault == vModel.SystemDefault && uim != obj);

                if (uiModules.Count() > 0)
                {
                    IUIModule revertModule = uiModules.First();
                    revertModule.SystemDefault = 0;
                    revertModule.Save(authedUser.GameAccount, StaffRank.Admin);
                }

                LoggingUtility.LogAdminCommandUsage("*WEB* - EditUIModule[" + obj.Id.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                message = "Edit Successful.";
            }
            else
            {
                message = "Error; Edit failed.";
            }

            return(RedirectToAction("Index", new { Message = message }));
        }
Example #12
0
        public ActionResult EditUIModule(long id)
        {
            AddEditUIModuleViewModel vModel = new AddEditUIModuleViewModel
            {
                AuthedUser = UserManager.FindById(User.Identity.GetUserId())
            };

            IUIModule obj = TemplateCache.Get <IUIModule>(id);

            if (obj == null)
            {
                string message = "That does not exist";
                return(RedirectToAction("UIModules", new { Message = message }));
            }

            vModel.DataObject = obj;
            vModel.Name       = obj.Name;
            vModel.BodyHtml   = obj.BodyHtml;
            vModel.Height     = obj.Height;
            vModel.Width      = obj.Width;
            vModel.HelpText   = obj.HelpText;

            return(View("EditUIModule", vModel));
        }
Example #13
0
        public ActionResult Add(AddEditUIModuleViewModel vModel)
        {
            string          message    = string.Empty;
            ApplicationUser authedUser = UserManager.FindById(User.Identity.GetUserId());

            UIModule newObj = new UIModule
            {
                Name          = vModel.Name,
                BodyHtml      = vModel.BodyHtml,
                Height        = vModel.Height,
                Width         = vModel.Width,
                HelpText      = vModel.HelpText,
                SystemDefault = vModel.SystemDefault
            };

            IEnumerable <IUIModule> uiModules = TemplateCache.GetAll <IUIModule>().Where(uim => vModel.SystemDefault > 0 && uim.SystemDefault == vModel.SystemDefault);

            if (newObj.Create(authedUser.GameAccount, authedUser.GetStaffRank(User)) == null)
            {
                message = "Error; Creation failed.";
            }
            else
            {
                if (uiModules.Count() > 0)
                {
                    IUIModule revertModule = uiModules.First();
                    revertModule.SystemDefault = 0;
                    revertModule.Save(authedUser.GameAccount, StaffRank.Admin);
                }

                LoggingUtility.LogAdminCommandUsage("*WEB* - AddUIModule[" + newObj.Id.ToString() + "]", authedUser.GameAccount.GlobalIdentityHandle);
                message = "Creation Successful.";
            }

            return(RedirectToAction("Index", new { Message = message }));
        }
Example #14
0
 public PopUIModule()
 {
     _uiModule = new UIModule();
 }
Example #15
0
 private static void EnterModule(IUIModule module, object param = null)
 {
     _currModule?.Leave();
     module.Enter(param);
     _currModule = module;
 }
 public IUIModule SetupModule(IUIModule _concreteModule, IModuleSettings _settings = null)
 {
     Settings = _settings;
     // Add Here setup stuffs for this concrete implementation
     return(this);
 }
Example #17
0
 public override void Init()
 {
     m_UIModule = GameEntry.Singleton.GetModule <UIModule>();
 }
Example #18
0
 public static void LeaveModule()
 {
     _currModule?.Leave();
     _currModule = null;
 }