// Screen_Options public Screen_Options() : base("Options") { WidgetGraphic logo = new WidgetGraphic(); logo.Position = new Vector3(_UI.SXM, _UI.SYM - 65.0f, 0.0f); logo.Size = new Vector3(_UI.SY / 3.0f, _UI.SY / 3.0f, 0.0f); logo.Align = E_Align.BottomCentre; logo.ColorBase = new SpriteColors(Color.Orange, Color.Orange, Color.Black, Color.Black); logo.AddTexture("null", 0.0f, 0.0f, 1.0f, 1.0f); Add(logo); WidgetMenuScroll menu = new WidgetMenuScroll(E_MenuType.Vertical); menu.Position = new Vector3(_UI.SXM, _UI.SYM + 25.0f + 37.5f, 0.0f); menu.Padding = 75.0f; menu.Alpha = 0.0f; Timeline menuT = new Timeline("start", false, 0.25f, 0.25f, E_TimerType.Stop, E_RestType.None); menuT.AddEffect(new TimelineEffect_Alpha(0.0f, 1.0f, E_LerpType.SmoothStep)); menu.AddTimeline(menuT); Timeline menuT2 = new Timeline("end", false, 0.0f, 0.25f, E_TimerType.Stop, E_RestType.None); menuT2.AddEffect(new TimelineEffect_Alpha(0.0f, -1.0f, E_LerpType.SmoothStep)); menu.AddTimeline(menuT2); Add(menu); // music volume WidgetMenuNode node0 = new WidgetMenuNode(0); Add(node0); node0.Parent(menu); Timeline nodeT = new Timeline("selected", false, 0.0f, 0.25f, E_TimerType.Stop, E_RestType.Start); nodeT.AddEffect(new TimelineEffect_ScaleX(0.0f, 0.125f, E_LerpType.SmoothStep)); nodeT.AddEffect(new TimelineEffect_ScaleY(0.0f, 0.125f, E_LerpType.SmoothStep)); Timeline nodeT2 = new Timeline("selected", false, 0.0f, 0.5f, E_TimerType.Bounce, E_RestType.Start); nodeT2.AddEffect(new TimelineEffect_Intensity(0.0f, 0.75f, E_LerpType.SmoothStep)); node0.AddTimeline(nodeT); node0.AddTimeline(nodeT2); WidgetText text0 = new WidgetText(); text0.Size = new Vector3(0.0f, 50.0f, 0.0f); text0.Align = E_Align.MiddleCentre; text0.FontStyleName = "Default"; text0.String = "MUSIC VOLUME"; text0.Align = E_Align.MiddleRight; text0.Parent(node0); text0.ParentAttach = E_Align.MiddleCentre; text0.ColorBase = Color.Orange; Add(text0); WidgetMenuSwitch menuSwitch0 = new WidgetMenuSwitch(E_MenuType.Horizontal); menuSwitch0.Position = new Vector3(80.0f, 0.0f, 0.0f); menuSwitch0.Parent(node0); menuSwitch0.ParentAttach = E_Align.MiddleCentre; menuSwitch0.DeactivateArrows = false; Add(menuSwitch0); Timeline timelineArrow_Selected = new Timeline("selected", false, 0.0f, 0.25f, E_TimerType.Stop, E_RestType.Start); timelineArrow_Selected.AddEffect(new TimelineEffect_Alpha(0.0f, 1.0f, E_LerpType.SmoothStep)); Timeline timelineArrow_Nudge = new Timeline("nudge", false, 0.0f, 0.25f, E_TimerType.Stop, E_RestType.None); timelineArrow_Nudge.AddEffect(new TimelineEffect_ScaleX(0.0f, 0.25f, E_LerpType.BounceOnceSmooth)); timelineArrow_Nudge.AddEffect(new TimelineEffect_ScaleY(0.0f, 0.25f, E_LerpType.BounceOnceSmooth)); WidgetGraphic arrow = new WidgetGraphic(); arrow.Size = new Vector3(15.0f, 30.0f, 0.0f); arrow.ColorBase = Color.Orange; arrow.Alpha = 0.0f; arrow.Align = E_Align.MiddleCentre; arrow.RenderState.Effect = (int)E_Effect.IntensityAsAlpha_PMA; arrow.FlagClear(E_WidgetFlag.InheritIntensity); arrow.AddTimeline(timelineArrow_Selected.Copy()); arrow.AddTimeline(timelineArrow_Nudge.Copy()); arrow.ParentAttach = E_Align.MiddleCentre; WidgetGraphic arrowLeft = (WidgetGraphic)arrow.Copy(); arrowLeft.Name = "arrow_decrease"; arrowLeft.Position = new Vector3(-50.0f, 0.0f, 0.0f); arrowLeft.Rotation.Z = 180.0f; arrowLeft.AddTexture("null", 0.5f, 0.0f, 0.5f, 1.0f); arrowLeft.Parent(menuSwitch0); Add(arrowLeft); WidgetGraphic arrowRight = (WidgetGraphic)arrow.Copy(); arrowRight.Name = "arrow_increase"; arrowRight.Position = new Vector3(50.0f, 0.0f, 0.0f); arrowRight.AddTexture("null", 0.5f, 0.0f, 0.5f, 1.0f); arrowRight.Parent(menuSwitch0); Add(arrowRight); menuSwitch0.ArrowDecrease = arrowLeft; menuSwitch0.ArrowIncrease = arrowRight; for (int i = 0; i < 11; ++i) { WidgetMenuNode node = new WidgetMenuNode(i); node.Parent(menuSwitch0); Add(node); WidgetText text = new WidgetText(); text.Size = new Vector3(0.0f, 50.0f, 0.0f); text.String = "" + i; text.FontStyleName = "Default"; text.Align = E_Align.MiddleCentre; text.ColorBase = Color.Orange; text.Parent(node); text.ParentAttach = E_Align.MiddleCentre; Add(text); } // sfx volume WidgetMenuNode node1 = (WidgetMenuNode)node0.Copy(); node1.Value = 1; Add(node1); node1.Parent(menu); WidgetText text1 = (WidgetText)text0.Copy(); text1.String = "SFX VOLUME"; text1.Parent(node1); Add(text1); WidgetMenuSwitch menuSwitch1 = (WidgetMenuSwitch)menuSwitch0.CopyAndAdd(this); menuSwitch1.ArrowDecrease = menuSwitch1.FindChild("arrow_decrease"); menuSwitch1.ArrowIncrease = menuSwitch1.FindChild("arrow_increase"); menuSwitch1.Parent(node1); MenuSwitch0 = menuSwitch0; MenuSwitch1 = menuSwitch1; }
// Screen_MainMenu public Screen_MainMenu() : base("MainMenu") { WidgetGraphic logo = new WidgetGraphic(); logo.Position = new Vector3(_UI.SXM, _UI.SYM - 65.0f, 0.0f); logo.Size = new Vector3(_UI.SY / 3.0f, _UI.SY / 3.0f, 0.0f); logo.Align = E_Align.BottomCentre; logo.ColorBase = new SpriteColors(Color.Orange, Color.Orange, Color.Black, Color.Black); logo.AddTexture("null", 0.0f, 0.0f, 1.0f, 1.0f); Add(logo); Timeline logoT = new Timeline("end_fade", false, 0.0f, 0.25f, E_TimerType.Stop, E_RestType.Start); logoT.AddEffect(new TimelineEffect_Alpha(0.0f, -1.0f, E_LerpType.SmoothStep)); logo.AddTimeline(logoT); Timeline logoT2 = new Timeline("end_move", false, 0.25f, 0.25f, E_TimerType.Stop, E_RestType.None); logoT2.AddEffect(new TimelineEffect_PositionY(0.0f, 65.0f, E_LerpType.SmoothStep)); logo.AddTimeline(logoT2); if (_G.UI.MM_FromStartScreen) { logo.Position = new Vector3(_UI.SXM, _UI.SYM, 0.0f); Timeline logoT3 = new Timeline("start", false, 0.0f, 0.25f, E_TimerType.Stop, E_RestType.None); logoT3.AddEffect(new TimelineEffect_PositionY(0.0f, -65.0f, E_LerpType.SmoothStep)); logo.AddTimeline(logoT3); } else if (_G.UI.MM_FromLevelSelect) { Timeline logoT4 = new Timeline("start", false, 0.25f, 0.25f, E_TimerType.Stop, E_RestType.None); logoT4.AddEffect(new TimelineEffect_Alpha(-1.0f, 0.0f, E_LerpType.SmoothStep)); logo.AddTimeline(logoT4); } _G.UI.MM_FromStartScreen = false; _G.UI.MM_FromLevelSelect = false; Logo = logo; WidgetMenuScroll menu = new WidgetMenuScroll(E_MenuType.Vertical); menu.Position = new Vector3(_UI.SXM, _UI.SYM + 25.0f, 0.0f); menu.Padding = 75.0f; menu.Alpha = 0.0f; Add(menu); Timeline menuT = new Timeline("start", false, 0.25f, 0.25f, E_TimerType.Stop, E_RestType.None); menuT.AddEffect(new TimelineEffect_Alpha(0.0f, 1.0f, E_LerpType.SmoothStep)); menu.AddTimeline(menuT); Timeline menuT2 = new Timeline("end", false, 0.0f, 0.25f, E_TimerType.Stop, E_RestType.None); menuT2.AddEffect(new TimelineEffect_Alpha(0.0f, -1.0f, E_LerpType.SmoothStep)); menu.AddTimeline(menuT2); Menu = menu; for (int i = 0; i < Options.Length; ++i) { WidgetMenuNode node = new WidgetMenuNode(i); node.Parent(Menu); Add(node); Timeline nodeT = new Timeline("selected", false, 0.0f, 0.25f, E_TimerType.Stop, E_RestType.Start); nodeT.AddEffect(new TimelineEffect_ScaleX(0.0f, 0.125f, E_LerpType.SmoothStep)); nodeT.AddEffect(new TimelineEffect_ScaleY(0.0f, 0.125f, E_LerpType.SmoothStep)); Timeline nodeT2 = new Timeline("selected", false, 0.0f, 0.5f, E_TimerType.Bounce, E_RestType.Start); nodeT2.AddEffect(new TimelineEffect_Intensity(0.0f, 0.75f, E_LerpType.SmoothStep)); node.AddTimeline(nodeT); node.AddTimeline(nodeT2); WidgetText text = new WidgetText(); text.Size = new Vector3(0.0f, 50.0f, 0.0f); text.Align = E_Align.MiddleCentre; text.FontStyleName = "Default"; text.String = Options[i]; text.Parent(node); text.ParentAttach = E_Align.MiddleCentre; text.ColorBase = Color.Orange; Add(text); WidgetGraphic icon = new WidgetGraphic(); icon.Layer = 1; icon.Position = new Vector3(-10.0f, 0.0f, 0.0f); icon.Size = new Vector3(60.0f, 60.0f, 0.0f); icon.AddTexture(TextureNames[i], 0.0f, 0.0f, 1.0f, 1.0f); icon.Alpha = 0; icon.Parent(text); icon.ColorBase = Color.White; if ((i & 1) == 0) { icon.Align = E_Align.MiddleRight; icon.ParentAttach = E_Align.MiddleLeft; } else { icon.Align = E_Align.MiddleLeft; icon.ParentAttach = E_Align.MiddleRight; icon.Position *= -1.0f; } Add(icon); Timeline iconT = new Timeline("selected", false, 0.0f, 0.25f, E_TimerType.Stop, E_RestType.Start); iconT.AddEffect(new TimelineEffect_Alpha(0.0f, 1.0f, E_LerpType.SmoothStep)); icon.AddTimeline(iconT); } }