private void SubMenuDescriptionInvalidateByPush() { var count = _subMenuDescriptionInfo.Count; _subMenuDescriptionSeq = SequenceFactory.Create(Enumerable.Range(0, count) .Select(i => new AnimatedSequenceDesc { SequenceIndexStart = i + 1 < count ? -1 : 75, SequenceIndexLoop = 76, SequenceIndexEnd = 77, StackIndex = i, StackWidth = AnimatedSequenceDesc.DefaultStacking, StackHeight = 0, MessageId = _subMenuDescriptionInfo[i] is ushort id ? id : (ushort)0, MessageText = _subMenuDescriptionInfo[i] as string, Flags = AnimationFlags.TextIgnoreColor | AnimationFlags.TextTranslateX | AnimationFlags.ChildStackHorizontally, TextAnchor = TextAnchor.BottomLeft, Children = new List <AnimatedSequenceDesc> { new AnimatedSequenceDesc { }, new AnimatedSequenceDesc { SequenceIndexStart = i + 1 < count ? -1 : 27, SequenceIndexLoop = 28, SequenceIndexEnd = 29, } } })
public void OpenMenu() { _layoutRenderer.FrameIndex = 0; _layoutRenderer.SelectedSequenceGroupIndex = 0; _backgroundSeq.Begin(); _subMenu = new MainMenu(this); _subMenu.Open(); _subMenuDescriptionInfo.Clear(); _subMenuDescriptionSeq = SequenceFactory.Create(new List <AnimatedSequenceDesc>()); _subMenuDescriptionSeq.Begin(); IsMenuOpen = true; }
public NewGameMenu(AnimatedSequenceFactory sequenceFactory, ITitleMainMenu mainMenu) { _difficultyCount = mainMenu.Kernel.IsFinalMix ? 4 : 3; _mainMenu = mainMenu; _animSeqFactory = sequenceFactory; _animMenuBg = sequenceFactory.FromAnimatedIndex(NewGameTitle); _animMenuWindow = sequenceFactory.FromAnimatedIndex(NewGameWindow); _animMenuTitle = sequenceFactory.FromStaticIndex(25); _animMenuOption1 = sequenceFactory.FromAnimatedIndex(NewGameOption); _animMenuOption2 = sequenceFactory.FromAnimatedIndex(NewGameOption); _animMenuOption3 = sequenceFactory.FromAnimatedIndex(NewGameOption); _animMenuOption4 = sequenceFactory.FromAnimatedIndex(NewGameOption); _animMenuOptionSelected = sequenceFactory.FromAnimatedIndex(15, 14, 14); //_animMenuOptionSelected.AddChild(new AnimatedSequenceRenderer(_seqRenderer, 7)); //_animMenuOptionSelected.AddChild(new AnimatedSequenceRenderer(_seqRenderer, 10), true); //_animMenuOptionSelected.ChildPositionX = -110; }
public void Initialize(StateInitDesc initDesc) { _kernel = initDesc.Kernel; _content = initDesc.DataContent; _archiveManager = initDesc.ArchiveManager; Input = initDesc.Input; var viewport = initDesc.GraphicsDevice.GraphicsDevice.Viewport; _shader = new KingdomShader(initDesc.ContentManager); _drawing = new MonoSpriteDrawing(initDesc.GraphicsDevice.GraphicsDevice, _shader); _drawing.SetProjection( viewport.Width, viewport.Height, Global.ResolutionWidth, Global.ResolutionHeight, 1.0f); initDesc.GraphicsDevice.GraphicsDevice.DepthStencilState = new Microsoft.Xna.Framework.Graphics.DepthStencilState { DepthBufferEnable = false, StencilEnable = false, }; var messageContext = _kernel.SystemMessageContext; _messageRenderer = new Kh2MessageRenderer(_drawing, messageContext); _archiveManager.LoadArchive($"menu/{_kernel.Region}/camp.2ld"); (_campLayout, _textures) = GetLayoutResources("camp", "camp"); _layoutRenderer = new LayoutRenderer(_campLayout, _drawing, _textures) { SelectedSequenceGroupIndex = 0 }; SequenceFactory = new AnimatedSequenceFactory( _drawing, initDesc.Kernel.MessageProvider, _messageRenderer, _kernel.SystemMessageContext.Encoder, _campLayout.SequenceItems[1], _textures.First()); _backgroundSeq = SequenceFactory.Create(new List <AnimatedSequenceDesc> { new AnimatedSequenceDesc { SequenceIndexStart = 107, SequenceIndexLoop = 108, SequenceIndexEnd = 109, }, new AnimatedSequenceDesc { SequenceIndexStart = 110, SequenceIndexLoop = 111, SequenceIndexEnd = 112, }, new AnimatedSequenceDesc { SequenceIndexStart = 113, SequenceIndexLoop = 114, SequenceIndexEnd = 115, } }); _subMenuDescriptionSeq = SequenceFactory.Create(new List <AnimatedSequenceDesc>()); }