コード例 #1
0
        private void LanguageBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            int    oldSel     = SelectedStringInd;
            int    index      = LanguageBox.SelectedIndex;
            string chosenName = STR.LanguageSetNames[index];
            bool   langExists = false;

            Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
            {
                langExists = ActiveString.IsSetInit((STRLangCode)(index + 1));
            }, ActiveString));

            if (!langExists)
            {
                var result = MessageBox.Show("This language has not been initialized for this string resource yet. Initialize '" + chosenName + "'?",
                                             "Language not initialized!", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
                    {
                        ActiveString.InitLanguageSet((STRLangCode)(index + 1));
                    }, ActiveString));
                }
                else
                {
                    LanguageBox.SelectedIndex = 0;
                    return;
                }
            }
            ActiveLanguage = (STRLangCode)(index + 1);
            UpdateStrings();
            SelectedStringInd = oldSel;
        }
コード例 #2
0
        public void SetString(int index, string value, STRLangCode language)
        {
            var languageSet = GetLanguageSet(language);

            if (index < languageSet.Strings.Length)
            {
                languageSet.Strings[index].Value = value;
            }
        }
コード例 #3
0
        public STRItem GetStringEntry(int index, STRLangCode language)
        {
            var languageSet = GetLanguageSet(language);

            if (index < languageSet.Strings.Length)
            {
                return(languageSet.Strings[index]);
            }
            return(null);
        }
コード例 #4
0
        public string GetString(int index, STRLangCode language)
        {
            var item = GetStringEntry(index, language);

            if (item != null)
            {
                return(item.Value);
            }
            return(null);
        }
コード例 #5
0
        public bool IsSetInit(STRLangCode set)
        {
            if (set == STRLangCode.Default)
            {
                set = DefaultLangCode;
            }
            if (set == STRLangCode.EnglishUS)
            {
                return(true);
            }
            int code = (int)set;

            return(LanguageSets[code - 1].Strings.Length > 0);
        }
コード例 #6
0
        public STRLanguageSet GetLanguageSet(STRLangCode set)
        {
            if (set == STRLangCode.Default)
            {
                set = DefaultLangCode;
            }
            int code = (int)set;

            if (LanguageSets[code - 1].Strings.Length == 0)
            {
                return(LanguageSets[0]);                                          //if undefined, fallback to English US
            }
            else
            {
                return(LanguageSets[code - 1]);
            }
        }
コード例 #7
0
        public void InitLanguageSet(STRLangCode set)
        {
            if (set == STRLangCode.Default)
            {
                set = DefaultLangCode;
            }
            int code   = (int)set;
            var length = LanguageSets[0].Strings.Length;

            LanguageSets[code - 1].Strings = new STRItem[length];
            for (int i = 0; i < length; i++)
            {
                var src = LanguageSets[0].Strings[i];
                LanguageSets[code - 1].Strings[i] = new STRItem()
                {
                    LanguageCode = (byte)code,
                    Value        = src.Value,
                    Comment      = src.Comment
                };
            }
        }
コード例 #8
0
        private void LanguageCombo_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (InternalChange)
            {
                return;
            }
            int    index      = LanguageCombo.SelectedIndex;
            string chosenName = STR.LanguageSetNames[index];
            bool   langExists = false;

            Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
            {
                langExists = Strings.IsSetInit((STRLangCode)(index + 1));
            }, Strings));

            if (!langExists)
            {
                var result = MessageBox.Show("This language has not been initialized for this TTAB yet. Initialize '" + chosenName + "'?",
                                             "Language not initialized!", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
                    {
                        Strings.InitLanguageSet((STRLangCode)(index + 1));
                    }, Strings));
                }
                else
                {
                    LanguageCombo.SelectedIndex = 0;
                    return;
                }
            }
            ActiveLanguage = (STRLangCode)(index + 1);
            UpdateListing();
            UpdateSelection((int)Selected.TTAIndex);
        }
コード例 #9
0
ファイル: STR.cs プロジェクト: RHY3756547/FreeSO
 public void SetString(int index, string value, STRLangCode language)
 {
     var languageSet = GetLanguageSet(language);
     if (index < languageSet.Strings.Length)
     {
         languageSet.Strings[index].Value = value;
     }
 }
コード例 #10
0
ファイル: STR.cs プロジェクト: RHY3756547/FreeSO
 public bool IsSetInit(STRLangCode set)
 {
     if (set == STRLangCode.Default) set = DefaultLangCode;
     if (set == STRLangCode.EnglishUS) return true;
     int code = (int)set;
     return (LanguageSets[code - 1].Strings.Length > 0);
 }
コード例 #11
0
ファイル: STR.cs プロジェクト: RHY3756547/FreeSO
 public void InitLanguageSet(STRLangCode set)
 {
     if (set == STRLangCode.Default) set = DefaultLangCode;
     int code = (int)set;
     var length = LanguageSets[0].Strings.Length;
     LanguageSets[code - 1].Strings = new STRItem[length];
     for (int i=0; i< length; i++)
     {
         var src = LanguageSets[0].Strings[i];
         LanguageSets[code - 1].Strings[i] = new STRItem()
         {
             LanguageCode = (byte)code,
             Value = src.Value,
             Comment = src.Comment
         };
     }
 }
コード例 #12
0
ファイル: STR.cs プロジェクト: RHY3756547/FreeSO
 public STRItem GetStringEntry(int index, STRLangCode language)
 {
     var languageSet = GetLanguageSet(language);
     if (index < languageSet.Strings.Length)
     {
         return languageSet.Strings[index];
     }
     return null;
 }
コード例 #13
0
ファイル: STR.cs プロジェクト: RHY3756547/FreeSO
 public string GetString(int index, STRLangCode language)
 {
     var item = GetStringEntry(index, language);
     if (item != null)
     {
         return item.Value;
     }
     return null;
 }
コード例 #14
0
ファイル: STR.cs プロジェクト: RHY3756547/FreeSO
 public STRLanguageSet GetLanguageSet(STRLangCode set)
 {
     if (set == STRLangCode.Default) set = DefaultLangCode;
     int code = (int)set;
     if (LanguageSets[code-1].Strings.Length == 0) return LanguageSets[0]; //if undefined, fallback to English US
     else return LanguageSets[code-1];
 }
コード例 #15
0
        private void LanguageCombo_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (InternalChange) return;
            int index = LanguageCombo.SelectedIndex;
            string chosenName = STR.LanguageSetNames[index];
            bool langExists = false;
            Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
            {
                langExists = Strings.IsSetInit((STRLangCode)(index + 1));
            },Strings));

            if (!langExists)
            {
                var result = MessageBox.Show("This language has not been initialized for this TTAB yet. Initialize '" + chosenName + "'?",
                    "Language not initialized!", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
                    {
                        Strings.InitLanguageSet((STRLangCode)(index + 1));
                    }, Strings));
                }
                else
                {
                    LanguageCombo.SelectedIndex = 0;
                    return;
                }
            }
            ActiveLanguage = (STRLangCode)(index + 1);
            UpdateListing();
            UpdateSelection((int)Selected.TTAIndex);
        }
コード例 #16
0
        private void LanguageBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            int oldSel = SelectedStringInd;
            int index = LanguageBox.SelectedIndex;
            string chosenName = STR.LanguageSetNames[index];
            bool langExists = false;
            Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
            {
                langExists = ActiveString.IsSetInit((STRLangCode)(index + 1));
            }, ActiveString));

            if (!langExists)
            {
                var result = MessageBox.Show("This language has not been initialized for this string resource yet. Initialize '" + chosenName + "'?",
                    "Language not initialized!", MessageBoxButtons.YesNo);
                if (result == DialogResult.Yes)
                {
                    Content.Content.Get().Changes.BlockingResMod(new ResAction(() =>
                    {
                        ActiveString.InitLanguageSet((STRLangCode)(index + 1));
                    }, ActiveString));
                }
                else
                {
                    LanguageBox.SelectedIndex = 0;
                    return;
                }
            }
            ActiveLanguage = (STRLangCode)(index + 1);
            UpdateStrings();
            SelectedStringInd = oldSel;
        }