Пример #1
0
    public static LocalizationContainer Load()
    {
        TextAsset _xml = Resources.Load <TextAsset>("Database/localization");

        XmlSerializer serializer = new XmlSerializer(typeof(LocalizationContainer));

        StringReader reader = new StringReader(_xml.text);

        LocalizationContainer items = serializer.Deserialize(reader) as LocalizationContainer;

        reader.Close();

        return(items);
    }
Пример #2
0
 public static void SpawnDialog()
 {
     PopupDialog.SpawnPopupDialog(
         new MultiOptionDialog("DisclaimerWindow", LocalizationContainer.DisclaimerDialogText.Text, LocalizationContainer.DisclaimerDialogText.Title,
                               HighLogic.UISkin,
                               new Rect(.5f, .5f, 425f, 150f),
                               new DialogGUIFlexibleSpace(),
                               new DialogGUIVerticalLayout(
                                   new DialogGUIHorizontalLayout(
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Accept,
                                                           delegate
     {
         SettingsSystem.CurrentSettings.DisclaimerAccepted = true;
         MainSystem.Singleton.Enabled = true;
         SettingsSystem.SaveSettings();
     }
                                                           ),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.OpenUrl,
                                                           delegate
     {
         Application.OpenURL("http://forum.kerbalspaceprogram.com/index.php?/topic/154851-add-on-posting-rules-march-8-2017/");
     }
                                                           , false),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Decline,
                                                           delegate
     {
         LunaLog.LogError("[LMP]: User did not accept disclaimer");
     }
                                                           ),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.GetCurrentLanguageAsText(),
                                                           delegate
     {
         LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
         SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
         SettingsSystem.SaveSettings();
         SpawnDialog();
     }
                                                           )
                                       )
                                   )
                               ),
         true,
         HighLogic.UISkin
         );
 }
        private ContentType GetOrCreateContentType(string[] normalizedKey, LocalizationContainer localizationContainer)
        {
            var basePath        = normalizedKey[1];
            var contentTypeName = basePath + "LocalizationPage";

            var existingContentType = _contentTypeRepository.Service.Load(contentTypeName);

            if (existingContentType != null)
            {
                return(existingContentType);
            }

            var contentType = new PageType
            {
                Name        = contentTypeName,
                DisplayName = string.Format("[Localization] {0}", contentTypeName),
            };

            _contentTypeRepository.Service.Save(contentType);

            var basePathProperty = new PropertyDefinition
            {
                ContentTypeID = contentType.ID,
                ID            = 0,
                DisplayEditUI = false,
                ExistsOnModel = false,
                Name          = "BasePath",
                Type          = _stringPropertyDefinitionType
            };

            _propertyDefinitionRepository.Service.Save(basePathProperty);

            var writableClone = (ContentType)contentType.CreateWritableClone();

            writableClone.PropertyDefinitions.Add(basePathProperty);
            _contentTypeRepository.Service.Save(writableClone);

            var containerContentType = _contentTypeRepository.Service.Load(localizationContainer.ContentTypeID);
            var availableSetting     = _availableContentTypeRepository.Service.GetSetting(containerContentType);

            availableSetting.Availability = Availability.Specific;
            availableSetting.AllowedContentTypeNames.Add(contentType.Name);
            _availableContentTypeRepository.Service.RegisterSetting(containerContentType, availableSetting);

            return(contentType);
        }
Пример #4
0
 public static void SpawnDialog()
 {
     PopupDialog.SpawnPopupDialog(
         new MultiOptionDialog("DisclaimerWindow", LocalizationContainer.DisclaimerDialogText.Text, LocalizationContainer.DisclaimerDialogText.Title,
                               HighLogic.UISkin,
                               new Rect(.5f, .5f, 425f, 150f),
                               new DialogGUIFlexibleSpace(),
                               new DialogGUIVerticalLayout(
                                   new DialogGUIHorizontalLayout(
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Accept,
                                                           delegate
     {
         SettingsSystem.CurrentSettings.DisclaimerAccepted = true;
         MainSystem.Singleton.Enabled = true;
         SettingsSystem.SaveSettings();
         MainSystem.Singleton.StartCoroutine(UpdateHandler.CheckForUpdates());
     }
                                                           ),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.DisclaimerDialogText.Decline,
                                                           delegate
     {
         LunaLog.LogError("[LMP]: User did not accept disclaimer");
     }
                                                           ),
                                       new DialogGUIFlexibleSpace(),
                                       new DialogGUIButton(LocalizationContainer.GetCurrentLanguageAsText(),
                                                           delegate
     {
         LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
         SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
         SettingsSystem.SaveSettings();
         SpawnDialog();
     }
                                                           )
                                       )
                                   )
                               ),
         true,
         HighLogic.UISkin
         );
 }
Пример #5
0
 public static void ShowWindow(LocalizationContainer container)
 {
     if (_opened)
     {
         return;
     }
     if (EditorApplication.isCompiling)
     {
         return;
     }
     if (container == null)
     {
         return;
     }
     Debug.Log("opening localization database:" + container.name);
     _container = container;
     _container.Load();
     _cachedEntries = _container.Entries;
     GetWindow <LocalizationEditorWindow>().Show();
     _opened = true;
 }
        private void OnSelectedStreamUpdate([CanBeNull] StreamEntity stream)
        {
            if (stream == null)
            {
                this.StreamDataVisibility = Visibility.Hidden;
                return;
            }

            this.StreamDataVisibility = Visibility.Visible;
            InterpolateLocalization
            (
                "page.student.view.stream.course",
                stream.Course?.ToString() ?? ""
            );
            InterpolateLocalization
            (
                "page.student.view.discipline.lessons",
                stream.LectureCount,
                stream.PracticalCount,
                stream.LabCount
            );
            var missedLessons   = _context.GetStudentMissedLessons(this.Student, stream, DateTime.Now);
            var missedLectures  = missedLessons.Count(model => model.Lesson.LessonType == LessonType.Lecture);
            var missedPractices = missedLessons.Count(model => model.Lesson.LessonType == LessonType.Practice);
            var missedLabs      = missedLessons.Count(model => model.Lesson.LessonType == LessonType.Laboratory);
            var total           = missedLectures + missedPractices + missedLabs;

            this.StudentMissedLessons = total == 0
                ? Localization["Нет пропущенных занятий"]
                : LocalizationContainer.Interpolate
                                        (
                "page.student.view.missed.lessons",
                total,
                missedLectures,
                missedPractices,
                missedLabs
                                        );
        }
Пример #7
0
        public override void DrawWindowContent(int windowId)
        {
            //Player color
            GUILayout.BeginVertical(BoxStyle);
            GUI.DragWindow(MoveRect);
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Language);
            if (GUILayout.Button(LocalizationContainer.GetCurrentLanguageAsText(), ButtonStyle))
            {
                LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
                SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
                SettingsSystem.SaveSettings();
            }
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Color);
            GUILayout.Label(SettingsSystem.CurrentSettings.PlayerName, _tempColorLabelStyle);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Red, _smallOption);
            _tempColor.r = GUILayout.HorizontalScrollbar(_tempColor.r, 0, 0, 1);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Green, _smallOption);
            _tempColor.g = GUILayout.HorizontalScrollbar(_tempColor.g, 0, 0, 1);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Blue, _smallOption);
            _tempColor.b = GUILayout.HorizontalScrollbar(_tempColor.b, 0, 0, 1);
            GUILayout.EndHorizontal();
            _tempColorLabelStyle.active.textColor = _tempColor;
            _tempColorLabelStyle.normal.textColor = _tempColor;
            GUILayout.BeginHorizontal();
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Random, ButtonStyle))
            {
                _tempColor = PlayerColorSystem.GenerateRandomColor();
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Set, ButtonStyle))
            {
                StatusWindow.Singleton.ColorEventHandled   = false;
                SettingsSystem.CurrentSettings.PlayerColor = _tempColor;
                SettingsSystem.SaveSettings();
                if (MainSystem.NetworkState == ClientState.Running)
                {
                    PlayerColorSystem.Singleton.MessageSender.SendPlayerColorToServer();
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.Space(10);
            var settingInterpolator = GUILayout.Toggle(SettingsSystem.CurrentSettings.PositionInterpolation, "Use interpolation", ButtonStyle);

            if (settingInterpolator != SettingsSystem.CurrentSettings.PositionInterpolation)
            {
                SettingsSystem.CurrentSettings.PositionInterpolation = settingInterpolator;
                SettingsSystem.SaveSettings();
            }
            GUILayout.Space(10);

            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl))
            {
                ModSystem.Singleton.GenerateModControlFile(false);
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl + " + SHA"))
            {
                ModSystem.Singleton.GenerateModControlFile(true);
            }
            _displayUniverseConverterDialog = GUILayout.Toggle(_displayUniverseConverterDialog, LocalizationContainer.OptionsWindowText.GenerateUniverse, ButtonStyle);
            GUILayout.Space(10);
#if DEBUG
            DrawAdvancedDebugOptions();
#endif
            GUILayout.FlexibleSpace();
            GUILayout.EndVertical();
        }
Пример #8
0
        private void DrawAdvancedDebugOptions()
        {
            GUILayout.Label("Debug settings\n________________________________________");

            if (GUILayout.Button("Check Common.dll stock parts"))
            {
                ModSystem.Singleton.CheckCommonStockParts();
            }
            if (GUILayout.Button("Regenerate translation files"))
            {
                LocalizationContainer.RegenerateTranslations();
            }

            GUILayout.Space(10);

            _showBadNetworkSimulationSettings = GUILayout.Toggle(_showBadNetworkSimulationSettings, "Bad network simulation", ButtonStyle);
            if (_showBadNetworkSimulationSettings)
            {
                if (MainSystem.NetworkState <= ClientState.Disconnected)
                {
                    GUILayout.BeginHorizontal();
                    if (GUILayout.Button("Random", ButtonStyle))
                    {
                        NetworkMain.RandomizeBadConnectionValues();
                    }
                    if (GUILayout.Button("Reset", ButtonStyle))
                    {
                        NetworkMain.ResetBadConnectionValues();
                    }
                    GUILayout.EndHorizontal();
                }

                if (MainSystem.NetworkState > ClientState.Disconnected)
                {
                    GUILayout.Label("Cannot change values while connected");
                }

                GUILayout.Label($"Packet loss: {NetworkMain.Config.SimulatedLoss * 100:F1}%");
                if (MainSystem.NetworkState <= ClientState.Disconnected)
                {
                    NetworkMain.Config.SimulatedLoss = (float)Math.Round(GUILayout.HorizontalScrollbar(NetworkMain.Config.SimulatedLoss, 0, 0, 1), 3);
                }
                GUILayout.Label($"Packet duplication: {NetworkMain.Config.SimulatedDuplicatesChance * 100:F1}%");
                if (MainSystem.NetworkState <= ClientState.Disconnected)
                {
                    NetworkMain.Config.SimulatedDuplicatesChance = (float)Math.Round(GUILayout.HorizontalScrollbar(NetworkMain.Config.SimulatedDuplicatesChance, 0, 0, 1), 3);
                }
                GUILayout.Label($"Max random latency: {NetworkMain.Config.SimulatedRandomLatency * 1000:F1} ms");
                if (MainSystem.NetworkState <= ClientState.Disconnected)
                {
                    NetworkMain.Config.SimulatedRandomLatency = (float)Math.Round(GUILayout.HorizontalScrollbar(NetworkMain.Config.SimulatedRandomLatency, 0, 0, 3), 4);
                }
                GUILayout.Label($"Min latency: {NetworkMain.Config.SimulatedMinimumLatency * 1000:F1} ms");
                if (MainSystem.NetworkState <= ClientState.Disconnected)
                {
                    NetworkMain.Config.SimulatedMinimumLatency = (float)Math.Round(GUILayout.HorizontalScrollbar(NetworkMain.Config.SimulatedMinimumLatency, 0, 0, 3), 4);
                }
            }

            _showClockOffsetSettings = GUILayout.Toggle(_showClockOffsetSettings, "Clock offset simulation", ButtonStyle);
            if (_showClockOffsetSettings)
            {
                GUILayout.Label($"Computer clock offset: {LunaComputerTime.SimulatedMinutesTimeOffset:F1} min");
                LunaComputerTime.SimulatedMinutesTimeOffset = (float)Math.Round(GUILayout.HorizontalScrollbar(LunaComputerTime.SimulatedMinutesTimeOffset, 0, -15, 15), 3);

                GUILayout.Label($"NTP server time offset: {LunaNetworkTime.SimulatedMsTimeOffset:F1} ms");
                LunaNetworkTime.SimulatedMsTimeOffset = (float)Math.Round(GUILayout.HorizontalScrollbar(LunaNetworkTime.SimulatedMsTimeOffset, 0, -2500, 2500), 3);
            }
        }
 public void InterpolateLocalization(string key, params object[] values)
 {
     this[key] = LocalizationContainer.Interpolate(key, values);
 }
Пример #10
0
        protected override void DrawWindowContent(int windowId)
        {
            //Player color
            GUILayout.BeginVertical();
            GUI.DragWindow(MoveRect);
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Language);
            if (GUILayout.Button(LocalizationContainer.GetCurrentLanguageAsText()))
            {
                LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
                SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
                SettingsSystem.SaveSettings();
            }
            GUILayout.EndHorizontal();

            GUILayout.Label(LocalizationContainer.OptionsWindowText.Color);

            GUILayout.BeginHorizontal(Skin.box, GUILayout.ExpandWidth(true));
            GUILayout.Label(SettingsSystem.CurrentSettings.PlayerName, _tempColorLabelStyle);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Red, _smallOption);
            _tempColor.r = GUILayout.HorizontalScrollbar(_tempColor.r, 0, 0, 1);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Green, _smallOption);
            _tempColor.g = GUILayout.HorizontalScrollbar(_tempColor.g, 0, 0, 1);
            GUILayout.EndHorizontal();

            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Blue, _smallOption);
            _tempColor.b = GUILayout.HorizontalScrollbar(_tempColor.b, 0, 0, 1);
            GUILayout.EndHorizontal();

            _tempColorLabelStyle.fontStyle        = FontStyle.Bold;
            _tempColorLabelStyle.fontSize         = 40;
            _tempColorLabelStyle.alignment        = TextAnchor.MiddleCenter;
            _tempColorLabelStyle.active.textColor = _tempColor;
            _tempColorLabelStyle.normal.textColor = _tempColor;

            GUILayout.BeginHorizontal();
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Random))
            {
                _tempColor = PlayerColorSystem.GenerateRandomColor();
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Set))
            {
                StatusWindow.Singleton.ColorEventHandled   = false;
                SettingsSystem.CurrentSettings.PlayerColor = _tempColor;
                SettingsSystem.SaveSettings();
                if (MainSystem.NetworkState == ClientState.Running)
                {
                    PlayerColorSystem.Singleton.MessageSender.SendPlayerColorToServer();
                }
            }
            GUILayout.EndHorizontal();

            GUILayout.Space(10);
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl))
            {
                ModSystem.Singleton.GenerateModControlFile(false);
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateLmpModControl + " + SHA"))
            {
                ModSystem.Singleton.GenerateModControlFile(true);
            }
            _displayUniverseConverterDialog = GUILayout.Toggle(_displayUniverseConverterDialog, LocalizationContainer.OptionsWindowText.GenerateUniverse, ToggleButtonStyle);
            GUILayout.Space(10);

            DrawGeneralSettings();
            DrawNetworkSettings();
#if DEBUG
            DrawAdvancedDebugOptions();
#endif
            GUILayout.FlexibleSpace();
            GUILayout.EndVertical();
        }
Пример #11
0
        public void DrawContent(int windowId)
        {
            if (!LoadEventHandled)
            {
                LoadEventHandled = true;
                TempColor        = SettingsSystem.CurrentSettings.PlayerColor;
            }
            //Player color
            GUILayout.BeginVertical();
            GUI.DragWindow(MoveRect);
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Language);
            if (GUILayout.Button(LocalizationContainer.GetCurrentLanguageAsText(), ButtonStyle))
            {
                LocalizationContainer.LoadLanguage(LocalizationContainer.GetNextLanguage());
                SettingsSystem.CurrentSettings.Language = LocalizationContainer.CurrentLanguage;
                SettingsSystem.SaveSettings();
            }
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Color);
            GUILayout.Label(SettingsSystem.CurrentSettings.PlayerName, TempColorLabelStyle);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Red, SmallOption);
            TempColor.r = GUILayout.HorizontalScrollbar(TempColor.r, 0, 0, 1);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Green, SmallOption);
            TempColor.g = GUILayout.HorizontalScrollbar(TempColor.g, 0, 0, 1);
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Blue, SmallOption);
            TempColor.b = GUILayout.HorizontalScrollbar(TempColor.b, 0, 0, 1);
            GUILayout.EndHorizontal();
            TempColorLabelStyle.active.textColor = TempColor;
            TempColorLabelStyle.normal.textColor = TempColor;
            GUILayout.BeginHorizontal();
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Random, ButtonStyle))
            {
                TempColor = PlayerColorSystem.GenerateRandomColor();
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Set, ButtonStyle))
            {
                StatusWindow.Singleton.ColorEventHandled   = false;
                SettingsSystem.CurrentSettings.PlayerColor = TempColor;
                SettingsSystem.SaveSettings();
                if (MainSystem.NetworkState == ClientState.Running)
                {
                    PlayerColorSystem.Singleton.MessageSender.SendPlayerColorToServer();
                }
            }
            GUILayout.EndHorizontal();
            GUILayout.Space(10);
            //Key bindings
            var chatDescription = $"{LocalizationContainer.OptionsWindowText.SetChatKey} {SettingsSystem.CurrentSettings.ChatKey}";

            if (SettingChat)
            {
                chatDescription = LocalizationContainer.OptionsWindowText.SettingChatKey;
                if (Event.current.isKey)
                {
                    if (Event.current.keyCode != KeyCode.Escape)
                    {
                        SettingsSystem.CurrentSettings.ChatKey = Event.current.keyCode;
                        SettingsSystem.SaveSettings();
                        SettingChat = false;
                    }
                    else
                    {
                        SettingChat = false;
                    }
                }
            }
            if (GUILayout.Button(chatDescription))
            {
                SettingChat = !SettingChat;
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.ResetDisclaimer))
            {
                SettingsSystem.CurrentSettings.DisclaimerAccepted = false;
                SettingsSystem.SaveSettings();
            }
            var settingInterpolation = GUILayout.Toggle(SettingsSystem.CurrentSettings.InterpolationEnabled, LocalizationContainer.OptionsWindowText.Interpolation, ButtonStyle);

            if (settingInterpolation != SettingsSystem.CurrentSettings.InterpolationEnabled)
            {
                SettingsSystem.CurrentSettings.InterpolationEnabled = settingInterpolation;
                SettingsSystem.SaveSettings();
            }
            var closeBtnInConnectionWindow = GUILayout.Toggle(SettingsSystem.CurrentSettings.CloseBtnInConnectionWindow, LocalizationContainer.OptionsWindowText.ShowClose, ButtonStyle);

            if (closeBtnInConnectionWindow != SettingsSystem.CurrentSettings.CloseBtnInConnectionWindow)
            {
                SettingsSystem.CurrentSettings.CloseBtnInConnectionWindow = closeBtnInConnectionWindow;
                SettingsSystem.SaveSettings();
            }
            GUILayout.Space(10);
            GUILayout.Label(LocalizationContainer.OptionsWindowText.GenerateLmpModControl);
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateBlackList))
            {
                ModSystem.Singleton.GenerateModControlFile(false);
            }
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.GenerateWhiteList))
            {
                ModSystem.Singleton.GenerateModControlFile(true);
            }
            UniverseConverterWindow.Singleton.Display = GUILayout.Toggle(UniverseConverterWindow.Singleton.Display, LocalizationContainer.OptionsWindowText.GenerateUniverse, ButtonStyle);
            GUILayout.Space(10);
            GUILayout.BeginHorizontal();
            GUILayout.Label(LocalizationContainer.OptionsWindowText.Toolbar, SmallOption);
            if (GUILayout.Button(ToolbarMode, ButtonStyle))
            {
                var newSetting = (int)SettingsSystem.CurrentSettings.ToolbarType + 1;
                //Overflow to 0
                if (!Enum.IsDefined(typeof(LmpToolbarType), newSetting))
                {
                    newSetting = 0;
                }
                SettingsSystem.CurrentSettings.ToolbarType = (LmpToolbarType)newSetting;
                SettingsSystem.SaveSettings();
                UpdateToolbarString();
                ToolbarSystem.Singleton.ToolbarChanged();
            }
            GUILayout.EndHorizontal();
#if DEBUG
            DrawAdvancedDebugOptions();
#endif
            GUILayout.FlexibleSpace();
            if (GUILayout.Button(LocalizationContainer.OptionsWindowText.Close, ButtonStyle))
            {
                Display = false;
            }
            GUILayout.EndVertical();
        }
 public StudentAttestationExamView(StudentLessonEntity studentLesson, StudentViewPageModel model, int order)
 {
     _model             = model;
     this.StudentLesson = studentLesson;
     this.Header        = LocalizationContainer.Interpolate("page.student.view.attestation.header.label", order);
 }
Пример #13
0
 static void InitLocalization()
 {
     language = (Enums.Languages)Enum.Parse(typeof(Enums.Languages), PlayerPrefs.GetString("Language", "EU"));
     loc      = LocalizationContainer.Load();
 }
        private ContentType GetOrCreateContentType(string[] normalizedKey, LocalizationContainer localizationContainer)
        {
            var basePath = normalizedKey[1];
            var contentTypeName = basePath + "LocalizationPage";

            var existingContentType = _contentTypeRepository.Service.Load(contentTypeName);
            if (existingContentType != null)
                return existingContentType;

            var contentType = new PageType
            {
                Name = contentTypeName,
                DisplayName = string.Format("[Localization] {0}", contentTypeName),
            };
            _contentTypeRepository.Service.Save(contentType);
            
            var basePathProperty = new PropertyDefinition
            {
                ContentTypeID = contentType.ID,
                ID = 0,
                DisplayEditUI = false,                
                ExistsOnModel = false,
                Name = "BasePath",
                Type = _stringPropertyDefinitionType
            };
            _propertyDefinitionRepository.Service.Save(basePathProperty);
            
            var writableClone = (ContentType)contentType.CreateWritableClone();
            writableClone.PropertyDefinitions.Add(basePathProperty);
            _contentTypeRepository.Service.Save(writableClone);            

            var containerContentType = _contentTypeRepository.Service.Load(localizationContainer.ContentTypeID);
            var availableSetting = _availableContentTypeRepository.Service.GetSetting(containerContentType);
            availableSetting.Availability = Availability.Specific;
            availableSetting.AllowedContentTypeNames.Add(contentType.Name);
            _availableContentTypeRepository.Service.RegisterSetting(containerContentType, availableSetting);

            return contentType;
        }