Пример #1
0
        public static IIdProvider <AOptionClass> CreateOptionClassProvider(IMenuClassCollection menuClassCollection)
        {
            return(IdProviderCreator.Create(() =>
            {
                var contourView = Mission.Current.GetMissionBehaviour <CommandSystemLogic>().FormationColorSubLogic;

                var optionClass = new OptionClass(CommandSystemSubModule.ModuleId,
                                                  GameTexts.FindText("str_rts_camera_command_system_option_class"), menuClassCollection);
                var commandOptionCategory = new OptionCategory("Command", GameTexts.FindText("str_rts_camera_command_system_command_system_options"));
                commandOptionCategory.AddOption(new BoolOptionViewModel(
                                                    GameTexts.FindText("str_rts_camera_command_system_click_to_select_formation"),
                                                    GameTexts.FindText("str_rts_camera_command_system_click_to_select_formation_hint"),
                                                    () => CommandSystemConfig.Get().ClickToSelectFormation, b =>
                {
                    CommandSystemConfig.Get().ClickToSelectFormation = b;
                    contourView?.SetEnableContourForSelectedFormation(b);
                }));
                commandOptionCategory.AddOption(new BoolOptionViewModel(
                                                    GameTexts.FindText("str_rts_camera_command_system_attack_specific_formation"),
                                                    GameTexts.FindText("str_rts_camera_command_system_attack_specific_formation_hint"),
                                                    () => CommandSystemConfig.Get().AttackSpecificFormation, b =>
                {
                    CommandSystemConfig.Get().AttackSpecificFormation = b;
                    if (b)
                    {
                        PatchChargeToFormation.Patch();
                    }
                }));
                optionClass.AddOptionCategory(0, commandOptionCategory);

                return optionClass;
            }, CommandSystemSubModule.ModuleId));
        }
Пример #2
0
        public static IIdProvider <AOptionClass> CreateOptionClassProvider(IMenuClassCollection menuClassCollection)
        {
            return(IdProviderCreator.Create(() =>
            {
                var optionClass = new OptionClass(ImprovedCombatAISubModule.ModuleId,
                                                  GameTexts.FindText("str_improved_combat_ai_option_class"), menuClassCollection);

                var optionCategory = new OptionCategory("CombatAI", GameTexts.FindText("str_improved_combat_ai_ai_options"));
                optionCategory.AddOption(new BoolOptionViewModel(
                                             GameTexts.FindText("str_improved_combat_ai_use_realistic_blocking"), null,
                                             () => ImprovedCombatAIConfig.Get().UseRealisticBlocking,
                                             b => ImprovedCombatAIConfig.Get().UseRealisticBlocking = b));
                optionCategory.AddOption(new NumericOptionViewModel(
                                             GameTexts.FindText("str_improved_combat_ai_melee_ai_difficulty"), null,
                                             () => ImprovedCombatAIConfig.Get().MeleeAIDifficulty,
                                             f => ImprovedCombatAIConfig.Get().MeleeAIDifficulty = (int)f, 0, 100, true, true));
                optionCategory.AddOption(new BoolOptionViewModel(
                                             GameTexts.FindText("str_improved_combat_ai_directly_set_melee_ai"), GameTexts.FindText("str_improved_combat_ai_directly_set_melee_ai_description"),
                                             () => ImprovedCombatAIConfig.Get().DirectlySetMeleeAI,
                                             b => ImprovedCombatAIConfig.Get().DirectlySetMeleeAI = b));
                optionCategory.AddOption(new NumericOptionViewModel(
                                             GameTexts.FindText("str_improved_combat_ai_ranged_ai_difficulty"), null,
                                             () => ImprovedCombatAIConfig.Get().RangedAIDifficulty,
                                             f => ImprovedCombatAIConfig.Get().RangedAIDifficulty = (int)f, 0, 100, true, true));
                optionCategory.AddOption(new BoolOptionViewModel(
                                             GameTexts.FindText("str_improved_combat_ai_directly_set_ranged_ai"), GameTexts.FindText("str_improved_combat_ai_directly_set_ranged_ai_description"),
                                             () => ImprovedCombatAIConfig.Get().DirectlySetRangedAI,
                                             b => ImprovedCombatAIConfig.Get().DirectlySetRangedAI = b));
                optionClass.AddOptionCategory(0, optionCategory);
                return optionClass;
            }, ImprovedCombatAISubModule.ModuleId));
        }
Пример #3
0
        /// <summary>
        /// 代为向服务器发起一次从属关系查询。
        /// </summary>
        /// <param name="type"></param>
        /// <param name="id"></param>
        /// <returns></returns>
        public BelongRelation BelongQuery(string type, string id)
        {
            var param = new Dictionary <string, string>()
            {
                { "type", type },
                { "id", id }
            };
            HttpConnect con = new HttpConnect(OptionClass.Get().GetURL("action/belong"), "GET", param: param);

            con.authentication = authentication;
            con.Connect();
            if (con.status == HttpStatusCode.OK)
            {
                JObject jo = JObject.Parse(con.response);
                if (jo["relation"] != null)
                {
                    var relation = jo["relation"].ToString();
                    switch (relation)
                    {
                    case "other": return(BelongRelation.Other);

                    case "self": return(BelongRelation.Self);

                    case "sub": return(BelongRelation.Sub);

                    case "parent": return(BelongRelation.Parent);

                    case "manager": return(BelongRelation.Manager);

                    default: return(BelongRelation.None);
                    }
                }
            }
            return(BelongRelation.None);
        }
Пример #4
0
 public MainWindow()
 {
     InitializeComponent();
     OptionClass.Get().ReadFromConfig();
     reference = this;
     setContent(LoginPage.Get());
 }
Пример #5
0
 public override void NavigatedToEvent(object sender, IDictionary <string, object> kwargs)
 {
     base.NavigatedToEvent(sender, kwargs);
     option        = OptionClass.Get();
     RPW.IsChecked = option.RememberPasswd;
     AL.IsChecked  = option.AutoLogin;
     ServerIP.Text = option.ServerURL;
 }
Пример #6
0
        public void Demo22()
        {
            OptionClass      oc  = new OptionClass();
            CardDeckSettings ops = CardDeckSettings.SingleDeck | CardDeckSettings.Animation
                                   | CardDeckSettings.FancyNumbers;

            oc.SetOptions(ops);
            oc.PrintOptions();
        }
    IEnumerator Typepage(PageClass P)
    {
        writespeed  = 0.1f;
        Basetext    = P.ContentTitle;
        Choppedtext = Basetext;
        Outputtext  = "";
        UIManager.uiManager.DialogueTitle.text = Outputtext;
        UIManager.uiManager.Dialoguebox.text   = Outputtext;
        UIManager.uiManager.Action.text        = Outputtext;
        foreach (Transform item in UIManager.uiManager.OptionHolder)
        {
            Destroy(item.gameObject);
        }
        while (Choppedtext.Length > 0)
        {
            Outputtext += NextChar();
            UIManager.uiManager.DialogueTitle.text = Outputtext;
            yield return(new WaitForSeconds(writespeed));
        }
        Basetext    = P.Content;
        Choppedtext = Basetext;
        Outputtext  = "";
        while (Choppedtext.Length > 0)
        {
            Outputtext += NextChar();
            UIManager.uiManager.Dialoguebox.text = Outputtext;
            yield return(new WaitForSeconds(writespeed));
        }
        for (int i = 0; i < P.Options.Count; i++)
        {
            if (EngineScript.engineScript.Archivecheck(P.Options[i]))
            {
                GameObject   Button = Instantiate(Optionprefab);
                buttonscript OC     = Button.GetComponent <buttonscript>();
                OptionClass  OCG    = EngineScript.engineScript.Ocgen(P.Options[i]);
                OC.setup(OCG);
                Button.transform.SetParent(UIManager.uiManager.OptionHolder);
                yield return(new WaitForSeconds(0.5f));
            }
        }
        Basetext    = P.CallToAction;
        Choppedtext = Basetext;
        Outputtext  = "";
        while (Choppedtext.Length > 0)
        {
            Outputtext += NextChar();
            UIManager.uiManager.Action.text = Outputtext;
            yield return(new WaitForSeconds(writespeed));
        }

        updating = false;
    }
Пример #8
0
        public AboutForm()
        {
            InitializeComponent();
            optionClass = ((MainForm)System.Windows.Forms.Application.OpenForms["MainForm"]).Main_Options;

            this.Text = $"О программе {Application.ProductName}";

            labelProductName.Text   += ": " + Application.ProductName;
            labelVersion.Text       += ": " + Application.ProductVersion;
            labelCompanyName.Text   += ": " + Application.CompanyName;
            labelCopyright.Text     += ": Copyright © 2020 - " + DateTime.Now.Year.ToString();
            textBoxDescription.Text += SysInformation();
        }
Пример #9
0
 //создать папку DUMP *
 //скопировать файл exe *
 //скопировать файл настроек *
 //скопировать файлa запросы к БД *
 //скопировть файл-запрос *
 //скопировть файл-модели
 //архивировать данные созданной папки *
 //удалить созданную папку DUMP *
 //открыть каталог в котором расположен архив *
 public Dump()
 {
     waitMng = ((MainForm)System.Windows.Forms.Application.OpenForms["MainForm"]).splashScreenManager2;
     Option  = ((MainForm)System.Windows.Forms.Application.OpenForms["MainForm"]).Main_Options;
     CreateDumpFolder();
     CopyEXEFile();
     CopyINIFiles();
     CopyBDQueryFiles();
     Create_QueryFile();
     CopyModelFiles();
     Create_ZipFile();
     Delete_DumpFolder();
     Open_DumpFolder();
 }
        /// <summary>
        /// 登陆指令。
        /// </summary>
        public void DoLogin()
        {
            SetLoginOperate(true);
            var username = UsernameTxt.Text;
            var password = PasswordTxt.Password;

            Task.Run(() => {
                OptionClass option = OptionClass.Get();
                JObject loginjson  = new JObject();
                loginjson.Add("username", new JValue(username));
                loginjson.Add("password", new JValue(password));
                HttpConnect con = new HttpConnect(option.GetURL(""), "POST", username: username, password: password, data: loginjson.ToString());
                con.Connect();
                var code = con.status;
                Content.Dispatcher.Invoke(() => {
                    if (code == HttpStatusCode.OK)
                    {
                        //登陆成功
                        //需要将相关信息写入option。
                        //仅在登陆成功时写入记住密码/自动登录/用户名/密码。
                        option.Username       = username;
                        option.RememberPasswd = RememberPasswd.IsChecked ?? false;
                        if (option.RememberPasswd)
                        {
                            option.AutoLogin = AutoLogin.IsChecked ?? false;
                            option.Password  = password;
                        }
                        option.WriteToConfig();
                        User user           = User.Get();
                        user.authentication = new Auth(con.authentication.username, con.authentication.password);
                        NavigateToMain();
                    }
                    else if (code == HttpStatusCode.Unauthorized)
                    {
                        SetNotice("非法账户或者错误的登录信息");
                        SetLoginOperate(false);
                    }
                    else
                    {
                        SetNotice(con.response);
                        SetLoginOperate(false);
                    }
                });
            });
        }
Пример #11
0
        public static IIdProvider <AOptionClass> CreateOptionClassProvider(IMenuClassCollection menuClassCollection)
        {
            return(IdProviderCreator.Create(() =>
            {
                var optionClass = new OptionClass(CinematicCameraSubModule.ModuleId,
                                                  GameTexts.FindText("str_cinematic_camera_cinematic_camera"), menuClassCollection);
                var cameraOptionCategory =
                    new OptionCategory("Camera", GameTexts.FindText("str_cinematic_camera_cinematic_camera"));

                cameraOptionCategory.AddOption(new ActionOptionViewModel(GameTexts.FindText("str_cinematic_camera_open_menu"), null,
                                                                         () =>
                {
                    Mission.Current.GetMissionBehaviour <CinematicCameraMenuView>()?.ActivateMenu();
                }));
                optionClass.AddOptionCategory(0, cameraOptionCategory);

                return optionClass;
            }, CinematicCameraSubModule.ModuleId));
        }
Пример #12
0
        public string Get_Option_FieldValue(OptionClass.OptionsListEnum OptionsList)
        {
            string OptVal     = "";
            string CommantSQL = $@"SELECT tbl_Options.Opt_Name, tbl_Options.Opt_Val
FROM tbl_Options
WHERE tbl_Options.Opt_Name = '{OptionClass.Get_Opt_Name_By_OptionsList(OptionsList)}'";

            connection.Open();
            command = new OleDbCommand(CommantSQL, connection);

            command.ExecuteNonQuery();
            using (OleDbDataReader reader = command.ExecuteReader())
            {
                reader.Read();
                OptVal = reader["Opt_Val"].ToString();
            }
            connection.Close();
            return(OptVal);
        }
 /// <summary>
 /// 检执行UI操作,查对服务器的链接。
 /// </summary>
 public void CheckConnection()
 {
     SetContent(ContentStatus.Connecting);
     Task.Run(() => {
         OptionClass option = OptionClass.Get();
         HttpConnect con    = new HttpConnect(option.GetURL(""), "GET");
         con.Connect();
         var code = con.status;
         Content.Dispatcher.Invoke(() => {
             if (code == HttpStatusCode.OK)
             {
                 SetContent(ContentStatus.Login);
             }
             else
             {
                 SetContent(ContentStatus.Disconnect);
             }
         });
     });
 }
 public LoginPage()
 {
     InitializeComponent();
     CheckConnection();
     Server.Submit += (s, e) => {
         OptionClass.Get().ServerURL = e.text;
         OptionClass.Get().WriteToConfig();
         return(e.text);
     };
     RememberPasswd.IsChecked = OptionClass.Get().RememberPasswd;
     AutoLogin.IsChecked      = OptionClass.Get().AutoLogin;
     UsernameTxt.Text         = OptionClass.Get().Username;
     if (OptionClass.Get().RememberPasswd)
     {
         PasswordTxt.Password = OptionClass.Get().Password;
     }
     if (OptionClass.Get().AutoLogin)
     {
         DoLogin();
     }
 }
Пример #15
0
        public override void NavigatedToEvent(object sender, IDictionary <string, object> kwargs)
        {
            HttpConnect con = new HttpConnect(OptionClass.Get().GetURL("action/schedule"), "GET");

            con.Connect();
            if (con.status == System.Net.HttpStatusCode.OK)
            {
                var     response = con.response;
                JObject data     = JObject.Parse(response);
                TimeRange.Text = string.Format("执行时间:{0} - {1}", data["begin"].ToString(), data["end"].ToString());
                JArray items = data["items"] as JArray;
                foreach (var i in items)
                {
                    Tuple <int, string, string> itemdata = new Tuple <int, string, string>(int.Parse(i["no"].ToString()), i["begin"].ToString(), i["end"].ToString());
                    var ctrl = new schedule_timeitem();
                    ctrl.Height  = 60;
                    ctrl.content = itemdata;
                    TimeList.Children.Add(ctrl);
                }
            }
        }
Пример #16
0
        /// <summary>
        /// 更新权限信息。如果无法连接无服务器,则会返回异常状态码。
        /// </summary>
        /// <returns></returns>
        public HttpStatusCode UpdateAuthority()
        {
            HttpConnect con = new HttpConnect(OptionClass.Get().GetURL("action/self-authority"), "GET");

            con.authentication = authentication;
            con.Connect();
            if (con.status == HttpStatusCode.OK)
            {
                authority.Clear();
                JObject jo = JObject.Parse(con.response);
                if (jo["auth"] != null)
                {
                    var authnumber = long.Parse((jo["auth"] as JValue).Value.ToString());
                    foreach (var i in AuthorityItem.getAuthorityArray(authnumber))
                    {
                        authority.Add(i);
                    }
                }
            }
            return(con.status);
        }
    public OptionClass Ocgen(string S)
    {
        int         selection = -1;
        OptionClass OC;

        for (int i = 0; i < Pages.Count; i++)
        {
            if (Pages[i].UniqueID == S)
            {
                selection = i;
            }
        }
        if (selection > -1)
        {
            OC = new OptionClass(Pages[selection]);
        }
        else
        {
            OC = null;
        }
        return(OC);
    }
Пример #18
0
 public Option(OptionClass optionClass, string ticker) : base(ticker)
 {
     _optionClass = optionClass;
 }
Пример #19
0
 private void AddOptionControls()
 {
     Main_Options = new OptionClass();
     DevExpress.LookAndFeel.UserLookAndFeel.Default.SetSkinStyle(Main_Options.Skin_Name);
 }
Пример #20
0
 public static void SetApiConfig(Auth authentication)
 {
     api = new RestApi(OptionClass.Get().ServerURL, authentication.username, authentication.password);
 }
        public static IIdProvider <AOptionClass> CreateOptionClassProvider(IMenuClassCollection menuClassCollection)
        {
            return(IdProviderCreator.Create(() =>
            {
                var optionClass = new OptionClass(BattleMiniMapSubModule.ModuleId,
                                                  GameTexts.FindText("str_battle_mini_map_option_class"), menuClassCollection);

                var optionCategory = new OptionCategory("Map", GameTexts.FindText("str_battle_mini_map_map_options"));
                optionCategory.AddOption(new BoolOptionViewModel(GameTexts.FindText("str_battle_mini_map_show_map"),
                                                                 null, () => BattleMiniMapConfig.Get().ShowMap, b => BattleMiniMapConfig.Get().ShowMap = b));
                optionCategory.AddOption(new BoolOptionViewModel(GameTexts.FindText("str_battle_mini_map_enable_toggle_map_long_press_key"),
                                                                 null, () => BattleMiniMapConfig.Get().EnableToggleMapLongPressKey, b => BattleMiniMapConfig.Get().EnableToggleMapLongPressKey = b));
                optionCategory.AddOption(new BoolOptionViewModel(
                                             GameTexts.FindText("str_battle_mini_map_show_map_when_commanding"), null,
                                             () => BattleMiniMapConfig.Get().ShowMapWhenCommanding,
                                             b => BattleMiniMapConfig.Get().ShowMapWhenCommanding = b));
                optionCategory.AddOption(new NumericOptionViewModel(GameTexts.FindText("str_battle_mini_map_map_width"),
                                                                    null,
                                                                    () =>
                                                                    BattleMiniMapConfig.Get().WidgetWidth, f => { BattleMiniMapConfig.Get().WidgetWidth = (int)f; }, 50,
                                                                    2000, true, true));

                optionCategory.AddOption(new SelectionOptionViewModel(
                                             GameTexts.FindText("str_battle_mini_map_horizontal_alignment"), null, new SelectionOptionData(
                                                 i => BattleMiniMapConfig.Get().HorizontalAlignment = (HorizontalAlignment)i,
                                                 () => (int)BattleMiniMapConfig.Get().HorizontalAlignment, 3, new SelectionItem[]
                {
                    new SelectionItem(true, "str_battle_min_map_left"),
                    new SelectionItem(true, "str_battle_min_map_center"),
                    new SelectionItem(true, "str_battle_min_map_right")
                }), false));
                optionCategory.AddOption(new SelectionOptionViewModel(
                                             GameTexts.FindText("str_battle_mini_map_vertical_alignment"), null, new SelectionOptionData(
                                                 i => BattleMiniMapConfig.Get().VerticalAlignment = (VerticalAlignment)i,
                                                 () => (int)BattleMiniMapConfig.Get().VerticalAlignment, 3, new SelectionItem[]
                {
                    new SelectionItem(true, "str_battle_min_map_top"),
                    new SelectionItem(true, "str_battle_min_map_center"),
                    new SelectionItem(true, "str_battle_min_map_bottom")
                }), false));
                optionCategory.AddOption(new NumericOptionViewModel(
                                             GameTexts.FindText("str_battle_mini_map_position_x"), null,
                                             () => BattleMiniMapConfig.Get().PositionX, f => BattleMiniMapConfig.Get().PositionX = (int)f, 0,
                                             1000, true, true));
                optionCategory.AddOption(new NumericOptionViewModel(
                                             GameTexts.FindText("str_battle_mini_map_position_y"), null,
                                             () => BattleMiniMapConfig.Get().PositionY, f => BattleMiniMapConfig.Get().PositionY = (int)f, 0,
                                             1000, true, true));
                optionCategory.AddOption(new NumericOptionViewModel(
                                             GameTexts.FindText("str_battle_mini_map_map_resolution"), null,
                                             () => BattleMiniMapConfig.Get().Resolution,
                                             f => { BattleMiniMapConfig.Get().Resolution = f; }, 0.5f, 50, false, true));
                optionCategory.AddOption(new NumericOptionViewModel(
                                             GameTexts.FindText("str_battle_mini_map_agent_marker_scale"), null,
                                             () => BattleMiniMapConfig.Get().AgentMarkerScale,
                                             f => BattleMiniMapConfig.Get().AgentMarkerScale = f, 0.2f, 5f, false, true));
                optionCategory.AddOption(new NumericOptionViewModel(GameTexts.FindText("str_battle_mini_map_edge_opacity_factor"),
                                                                    null, () => BattleMiniMapConfig.Get().EdgeOpacityFactor, f => BattleMiniMapConfig.Get().EdgeOpacityFactor = f,
                                                                    0, 1, false, true));
                optionCategory.AddOption(new NumericOptionViewModel(GameTexts.FindText("str_battle_mini_map_background_opacity"),
                                                                    null, () => BattleMiniMapConfig.Get().BackgroundOpacity, f => BattleMiniMapConfig.Get().BackgroundOpacity = f,
                                                                    0, 1, false, true));
                optionCategory.AddOption(new NumericOptionViewModel(GameTexts.FindText("str_battle_mini_map_foreground_opacity"),
                                                                    null, () => BattleMiniMapConfig.Get().ForegroundOpacity, f => BattleMiniMapConfig.Get().ForegroundOpacity = f,
                                                                    0, 1, false, true));
                optionCategory.AddOption(new BoolOptionViewModel(
                                             GameTexts.FindText("str_battle_mini_map_exclude_unwalkable_terrain"), null,
                                             () => BattleMiniMapConfig.Get().ExcludeUnwalkableTerrain,
                                             b =>
                {
                    BattleMiniMapConfig.Get().ExcludeUnwalkableTerrain = b;
                }));
                optionClass.AddOptionCategory(0, optionCategory);
                return optionClass;
            }, BattleMiniMapSubModule.ModuleId));
        }
        public static IIdProvider <AOptionClass> CreateOptionClassProvider(IMenuClassCollection menuClassCollection)
        {
            return(IdProviderCreator.Create(() =>
            {
                var optionClass = new OptionClass(RTSCameraSubModule.ModuleId,
                                                  GameTexts.FindText("str_rts_camera_option_class"), menuClassCollection);
                var rtsCameraLogic = Mission.Current.GetMissionBehaviour <RTSCameraLogic>();
                var selectCharacterView = Mission.Current.GetMissionBehaviour <RTSCameraSelectCharacterView>();
                var hideHudView = Mission.Current.GetMissionBehaviour <HideHUDView>();
                var missionScreen = selectCharacterView.MissionScreen;
                var menuManager = AMenuManager.Get();

                var cameraOptionCategory = new OptionCategory("Camera", GameTexts.FindText("str_rts_camera_camera_options"));
                cameraOptionCategory.AddOption(new ActionOptionViewModel(
                                                   GameTexts.FindText("str_rts_camera_switch_free_camera"),
                                                   GameTexts.FindText("str_rts_camera_switch_free_camera_hint"),
                                                   () =>
                {
                    rtsCameraLogic.SwitchFreeCameraLogic.SwitchCamera();
                    menuManager.RequestToCloseMenu();
                }));
                cameraOptionCategory.AddOption(new BoolOptionViewModel(
                                                   GameTexts.FindText("str_rts_camera_use_free_camera_by_default"),
                                                   GameTexts.FindText("str_rts_camera_use_free_camera_by_default_hint"),
                                                   () => RTSCameraConfig.Get().UseFreeCameraByDefault,
                                                   b => RTSCameraConfig.Get().UseFreeCameraByDefault = b));
                cameraOptionCategory.AddOption(new NumericOptionViewModel(
                                                   GameTexts.FindText("str_rts_camera_raised_height_after_switching_to_free_camera"),
                                                   GameTexts.FindText("str_rts_camera_raised_height_hint"), () =>
                {
                    return RTSCameraConfig.Get().RaisedHeight;
                },
                                                   f =>
                {
                    RTSCameraConfig.Get().RaisedHeight = f;
                }, 0, 50, true, true));
                cameraOptionCategory.AddOption(new BoolOptionViewModel(
                                                   GameTexts.FindText("str_rts_camera_constant_speed"),
                                                   GameTexts.FindText("str_rts_camera_constant_speed_hint"), () => RTSCameraConfig.Get().ConstantSpeed,
                                                   b =>
                {
                    RTSCameraConfig.Get().ConstantSpeed = b;
                    var view = Mission.Current.GetMissionBehaviour <FlyCameraMissionView>();
                    if (view != null)
                    {
                        view.ConstantSpeed = b;
                    }
                }));
                cameraOptionCategory.AddOption(new BoolOptionViewModel(
                                                   GameTexts.FindText("str_rts_camera_ignore_terrain"),
                                                   GameTexts.FindText("str_rts_camera_ignore_terrain_hint"), () => RTSCameraConfig.Get().IgnoreTerrain,
                                                   b =>
                {
                    RTSCameraConfig.Get().IgnoreTerrain = b;
                    var view = Mission.Current.GetMissionBehaviour <FlyCameraMissionView>();
                    if (view != null)
                    {
                        view.IgnoreTerrain = b;
                    }
                }));
                cameraOptionCategory.AddOption(new BoolOptionViewModel(
                                                   GameTexts.FindText("str_rts_camera_ignore_boundaries"),
                                                   GameTexts.FindText("str_rts_camera_ignore_boundaries_hint"),
                                                   () => RTSCameraConfig.Get().IgnoreBoundaries,
                                                   b =>
                {
                    RTSCameraConfig.Get().IgnoreBoundaries = b;
                    var view = Mission.Current.GetMissionBehaviour <FlyCameraMissionView>();
                    if (view != null)
                    {
                        view.IgnoreBoundaries = b;
                    }
                }));
                optionClass.AddOptionCategory(0, cameraOptionCategory);

                var controlOptionCategory = new OptionCategory("Control",
                                                               GameTexts.FindText("str_rts_camera_control_options"));
                controlOptionCategory.AddOption(new SelectionOptionViewModel(
                                                    GameTexts.FindText("str_rts_camera_player_formation"),
                                                    GameTexts.FindText("str_rts_camera_player_formation_hint"), new SelectionOptionData(
                                                        i =>
                {
                    var config = RTSCameraConfig.Get();
                    if ((i != config.PlayerFormation || config.AlwaysSetPlayerFormation) &&
                        i >= 0 && i < (int)FormationClass.NumberOfAllFormations)
                    {
                        config.PlayerFormation = i;
                        rtsCameraLogic.SwitchFreeCameraLogic.CurrentPlayerFormation = (FormationClass)i;
                        if (WatchBattleBehavior.WatchMode)
                        {
                            return;
                        }
                        Utility.SetPlayerFormation((FormationClass)i);
                    }
                }, () => RTSCameraConfig.Get().PlayerFormation,
                                                        (int)FormationClass.NumberOfRegularFormations, new[]
                {
                    new SelectionItem(true, "str_troop_group_name", "0"),
                    new SelectionItem(true, "str_troop_group_name", "1"),
                    new SelectionItem(true, "str_troop_group_name", "2"),
                    new SelectionItem(true, "str_troop_group_name", "3"),
                    new SelectionItem(true, "str_troop_group_name", "4"),
                    new SelectionItem(true, "str_troop_group_name", "5"),
                    new SelectionItem(true, "str_troop_group_name", "6"),
                    new SelectionItem(true, "str_troop_group_name", "7")
                }), true));
                controlOptionCategory.AddOption(new BoolOptionViewModel(
                                                    GameTexts.FindText("str_rts_camera_always_set_player_formation"),
                                                    GameTexts.FindText("str_rts_camera_always_set_player_formation_hint"),
                                                    () => RTSCameraConfig.Get().AlwaysSetPlayerFormation,
                                                    b =>
                {
                    var config = RTSCameraConfig.Get();
                    config.AlwaysSetPlayerFormation = b;
                    if (config.AlwaysSetPlayerFormation)
                    {
                        var formationClass = (FormationClass)config.PlayerFormation;
                        rtsCameraLogic.SwitchFreeCameraLogic.CurrentPlayerFormation = formationClass;
                        if (WatchBattleBehavior.WatchMode)
                        {
                            return;
                        }
                        Utility.SetPlayerFormation(formationClass);
                    }
                }));
                controlOptionCategory.AddOption(new SelectionOptionViewModel(
                                                    GameTexts.FindText("str_rts_camera_watch_another_hero"),
                                                    GameTexts.FindText("str_rts_camera_watch_another_hero_hint"),
                                                    new WatchAgentSelectionData(missionScreen).SelectionOptionData, true));
                controlOptionCategory.AddOption(new ActionOptionViewModel(
                                                    GameTexts.FindText("str_rts_camera_select_character"),
                                                    GameTexts.FindText("str_rts_camera_select_character_hint"),
                                                    () =>
                {
                    selectCharacterView.IsSelectingCharacter = true;
                    menuManager.RequestToCloseMenu();
                }));
                controlOptionCategory.AddOption(new BoolOptionViewModel(
                                                    GameTexts.FindText("str_rts_camera_control_ally_after_death"),
                                                    GameTexts.FindText("str_rts_camera_control_ally_after_death_hint"),
                                                    () => RTSCameraConfig.Get().ControlAllyAfterDeath,
                                                    b => RTSCameraConfig.Get().ControlAllyAfterDeath = b));
                controlOptionCategory.AddOption(new BoolOptionViewModel(
                                                    GameTexts.FindText("str_rts_camera_prefer_to_control_companions"),
                                                    GameTexts.FindText("str_rts_camera_prefer_to_control_companions_hint"),
                                                    () => RTSCameraConfig.Get().PreferToControlCompanions,
                                                    b => RTSCameraConfig.Get().PreferToControlCompanions = b));
                controlOptionCategory.AddOption(new BoolOptionViewModel(
                                                    GameTexts.FindText("str_rts_camera_control_troops_in_player_party_only"),
                                                    GameTexts.FindText("str_rts_camera_control_troops_in_player_party_only_hint"),
                                                    () => RTSCameraConfig.Get().ControlTroopsInPlayerPartyOnly,
                                                    b => RTSCameraConfig.Get().ControlTroopsInPlayerPartyOnly = b));
                optionClass.AddOptionCategory(0, controlOptionCategory);

                var miscellaneousOptionCategory = new OptionCategory("Miscellaneous",
                                                                     GameTexts.FindText("str_rts_camera_miscellaneous_options"));
                miscellaneousOptionCategory.AddOption(new ActionOptionViewModel(GameTexts.FindText("str_rts_camera_toggle_pause"), GameTexts.FindText("str_rts_camera_toggle_pause_hint"),
                                                                                () =>
                {
                    rtsCameraLogic.MissionSpeedLogic?.TogglePause();
                    menuManager.RequestToCloseMenu();
                }));
                miscellaneousOptionCategory.AddOption(new BoolOptionViewModel(
                                                          GameTexts.FindText("str_rts_camera_slow_motion_mode"),
                                                          GameTexts.FindText("str_rts_camera_slow_motion_hint"), () => Mission.Current.Scene.SlowMotionMode,
                                                          b => rtsCameraLogic.MissionSpeedLogic.SetSlowMotionMode(b)));
                miscellaneousOptionCategory.AddOption(new NumericOptionViewModel(
                                                          GameTexts.FindText("str_rts_camera_slow_motion_factor"),
                                                          GameTexts.FindText("str_rts_camera_slow_motion_factor_hint"),
                                                          () => Mission.Current.Scene.SlowMotionFactor,
                                                          f => rtsCameraLogic.MissionSpeedLogic.SetSlowMotionFactor(f), 0, 3, false, true));
                miscellaneousOptionCategory.AddOption(new BoolOptionViewModel(
                                                          GameTexts.FindText("str_rts_camera_display_mod_message"),
                                                          GameTexts.FindText("str_rts_camera_display_message_hint"),
                                                          () => RTSCameraConfig.Get().DisplayMessage, b =>
                {
                    RTSCameraConfig.Get().DisplayMessage = b;
                    Utility.ShouldDisplayMessage = b;
                }));
                miscellaneousOptionCategory.AddOption(new ActionOptionViewModel(GameTexts.FindText("str_rts_camera_toggle_ui"), GameTexts.FindText("str_rts_camera_toggle_ui_hint"),
                                                                                () =>
                {
                    hideHudView?.ToggleUI();
                    menuManager.RequestToCloseMenu();
                }));
                optionClass.AddOptionCategory(1, miscellaneousOptionCategory);

                if (NativeConfig.CheatMode)
                {
                    var cheatOptionCategory = new OptionCategory("Cheat",
                                                                 GameTexts.FindText("str_rts_camera_unbalanced_options_description"));
                    cheatOptionCategory.AddOption(new BoolOptionViewModel(
                                                      GameTexts.FindText("str_rts_camera_all_invulnerable"),
                                                      GameTexts.FindText("str_rts_camera_all_invulnerable_hint"),
                                                      () => RTSCameraConfig.Get().DisableDeath,
                                                      b =>
                    {
                        RTSCameraConfig.Get().DisableDeath = b;
                        rtsCameraLogic.DisableDeathLogic.SetDisableDeath(b);
                    }));
                    cheatOptionCategory.AddOption(new BoolOptionViewModel(
                                                      GameTexts.FindText("str_rts_camera_enable_all_invulnerable_hotkey"), null,
                                                      () => RTSCameraConfig.Get().DisableDeathHotkeyEnabled,
                                                      b => RTSCameraConfig.Get().DisableDeathHotkeyEnabled = b));
                    cheatOptionCategory.AddOption(new ActionOptionViewModel(GameTexts.FindText("str_rts_camera_switch_team"), GameTexts.FindText("str_rts_camera_switch_team_hint"),
                                                                            () =>
                    {
                        rtsCameraLogic.SwitchTeamLogic.SwapTeam();
                        menuManager.RequestToCloseMenu();
                    }));
                    cheatOptionCategory.AddOption(new BoolOptionViewModel(
                                                      GameTexts.FindText("str_rts_camera_enable_switch_team_hotkey"), null,
                                                      () => RTSCameraConfig.Get().SwitchTeamHotkeyEnabled,
                                                      b => RTSCameraConfig.Get().SwitchTeamHotkeyEnabled = b));
                    optionClass.AddOptionCategory(1, cheatOptionCategory);
                }

                return optionClass;
            }, RTSCameraSubModule.ModuleId));
        }
Пример #23
0
 public void setup(OptionClass OC)
 {
     Option          = OC;
     Button          = OC.Option;
     ButtonWord.text = OC.Title;
 }
Пример #24
0
        //load file for courses
        string myfunc(string path, string CourseName)
        {
            int                totaladded = 0;
            string             mpath      = HostingEnvironment.MapPath(path);
            StreamReader       sre        = new StreamReader(mpath);
            string             line;
            List <Question>    questions   = new List <Question>();
            List <OptionClass> optionclass = new List <OptionClass>();
            OptionClass        opclsobj    = new OptionClass();
            List <Option>      options     = new List <Option>();
            string             err         = "";

            string[] tags = { "@question", "@answer", "@option" }; int index = 0, lc = 0, count = 0;
            Question ques = new Question();
            Option   op   = new Option();

            while ((line = sre.ReadLine()) != null)
            {
                if (index == 2)
                {
                    int at = -1;
                    at = line.IndexOf(tags[index]);
                    if (at >= 0)
                    {
                        string[] arr = line.Split(new char[] { ':' });
                        op.OptionText = arr[1].Trim();
                        if (String.IsNullOrWhiteSpace(op.OptionText))
                        {
                            return(err = "Option error, at line " + lc);
                        }
                        if (op.OptionText == "NA")
                        {
                            return("Option/Answer can not be NA, at line " + lc);
                        }
                        options.Add(op);
                        op    = new Option();
                        count = 3;
                    }
                    at = line.IndexOf(tags[0]);
                    if (at >= 0)
                    {
                        index            = 0;
                        opclsobj.options = options;
                        options          = new List <Option>();
                        optionclass.Add(opclsobj);
                        opclsobj = new OptionClass();
                    }
                }

                string[] arr2 = line.Split(new char[] { ':' });
                if (arr2.Length > 1)
                {
                    string tmptag = arr2[0].Trim();
                    if (!(String.IsNullOrWhiteSpace(tmptag)))
                    {
                        if (tmptag != tags[index])
                        {
                            return(tags[index] + " expected, at line " + lc);
                        }
                    }
                }


                if (index == 0)
                {
                    int at = -1;
                    at = line.IndexOf(tags[index]);
                    if (at >= 0)
                    {
                        string[] arr = line.Split(new char[] { ':' });
                        ques.QuestionText = arr[1].Trim();
                        if (String.IsNullOrWhiteSpace(ques.QuestionText))
                        {
                            return(err = "Question error, at line " + lc);
                        }
                        count = 1;
                        index++;
                    }
                }
                if (index == 1)
                {
                    int at = -1;
                    at = line.IndexOf(tags[index]);
                    if (at >= 0)
                    {
                        string[] arr = line.Split(new char[] { ':' });
                        ques.Answer = arr[1].Trim();
                        if (String.IsNullOrWhiteSpace(ques.Answer))
                        {
                            return(err = "Answer error, at line " + lc);
                        }
                        ques.CourseName      = CourseName;
                        ques.TeacherUserName = Thread.CurrentPrincipal.Identity.Name;
                        questions.Add(ques);
                        ques  = new Question();
                        count = 2;
                        index++;
                    }
                }



                lc++;
            }
            sre.Close();
            if (count < 3)
            {
                return("Incomplete file");
            }
            else
            {
                opclsobj.options = options;
                options          = new List <Option>();
                optionclass.Add(opclsobj);
                opclsobj = new OptionClass();
                Question      questoadd = new Question();
                List <Option> optoadd   = new List <Option>();
                Course        cc        = new Course();

                int qid = -1;
                for (int k = 0; k < questions.Count; k++)
                {
                    if (!quesrepo.CheckValidQuestion(questions[k], optionclass[k].options))
                    {
                        return("Failed!Incorrects options for Question no. " + (k + 1));
                    }
                }
                for (int i = 0; i < questions.Count; i++)
                {
                    questoadd = questions[i];
                    optoadd   = optionclass[i].options;

                    qid = quesrepo.CheckIdenticalQuestion(questoadd, optoadd);
                    if (qid == (-1))
                    {
                        quesrepo.Insert(questoadd);
                        int quesid = quesrepo.GetMaxId();

                        foreach (Option oop in optoadd)
                        {
                            oop.QuestionId = quesid;
                            oprepo.Insert(oop);
                        }

                        totaladded++;
                    }
                }

                return("Questions Added : " + totaladded.ToString());
            }
        }