protected override SharpUIBase BuildMainPanel() { SharpUIBase toReturn = base.BuildMainPanel(); _background.alignment = EAlignment.TopRight; _background.margin = new RectOffset(0, 20, 20, 0); _heroHealthBar.FillDirection = SharpUIProgressBar.EFillDirection.RightToLeft; _heroHealthBar.alignment = EAlignment.TopLeft; _headBackground.alignment = EAlignment.MiddleRight; _headSprite.LocalScale = new Vector3(-1f, 1f, 1f); _energyMeter.alignment = EAlignment.TopRight; _energyMeter.childAlignment = EAlignment.TopRight; _energyMeter.order = EHorizontalOrder.RightToLeft; _energyMeter.margin = new RectOffset(0, (int)Size.y + 10, 70, 0); _sourceLabel.alignment = EAlignment.BottomRight; return(toReturn); }
// -------------------------------------------------------------------------------------------- protected override SharpUIBase BuildMainPanel() { _background = new SharpUIImage("UIStartMenuView", null); _background.Color = FadeInStartColor; _background.SetFillSize(); _canvasGroup = new SharpUICanvasGroup("CanvasGroup"); _canvasGroup.SetFillSize(); _canvasGroup.Alpha = 0f; _background.AddChild(_canvasGroup); SharpUITextMeshPro title = new SharpUITextMeshPro("Title", "GridStrategy\n<size=15%>by Tofunaut</size>"); title.Font = AppManager.AssetManager.Get <TMPro.TMP_FontAsset>(AssetPaths.Fonts.GravityUltraLight); title.Color = Color.white; title.TextAlignment = TMPro.TextAlignmentOptions.Center; title.SetFillSize(EAxis.X, 0.5f); title.SetFixedSize(EAxis.Y, 500); title.AutoSizeFont(); title.alignment = EAlignment.TopCenter; _canvasGroup.AddChild(title); SharpUITextMeshPro versionLabel = new SharpUITextMeshPro("VersionLabel", AppManager.AppVersion); versionLabel.Font = AppManager.AssetManager.Get <TMPro.TMP_FontAsset>(AssetPaths.Fonts.GravityRegular); versionLabel.Color = new Color(1f, 1f, 1f, 0.5f); versionLabel.TextAlignment = TMPro.TextAlignmentOptions.Center; versionLabel.SetFixedSize(50, 25); versionLabel.AutoSizeFont(); versionLabel.alignment = EAlignment.BottomRight; versionLabel.margin = new RectOffset(0, 20, 0, 20); _canvasGroup.AddChild(versionLabel); _buttonLayout = BuildButtonLayout(); _canvasGroup.AddChild(_buttonLayout); if (!AppManager.IsClientValid) { SharpUITextMeshPro clientValidationErrorMessage = new SharpUITextMeshPro("ClientValidationErrorMessage", string.Empty); clientValidationErrorMessage.Font = AppManager.AssetManager.Get <TMPro.TMP_FontAsset>(AssetPaths.Fonts.GravityRegular); clientValidationErrorMessage.Color = Color.red; clientValidationErrorMessage.SetFixedSize(200, 25); clientValidationErrorMessage.SetFontSize(28); clientValidationErrorMessage.alignment = EAlignment.TopLeft; clientValidationErrorMessage.margin = new RectOffset(20, 0, 20, 0); clientValidationErrorMessage.TextAlignment = TMPro.TextAlignmentOptions.TopLeft; _canvasGroup.AddChild(clientValidationErrorMessage); switch (AppManager.ClientState) { case AppManager.EClientState.ForceOffline: clientValidationErrorMessage.Text = "Force offline"; break; case AppManager.EClientState.ValidationError: clientValidationErrorMessage.Text = "Client failed to validate correctly"; break; case AppManager.EClientState.Offline: clientValidationErrorMessage.Text = "Client is offline"; break; case AppManager.EClientState.NeedsUpdate: clientValidationErrorMessage.Text = "Client must update"; break; } } return(_background); }