Exemple #1
0
        public void HandleInput(ScreenSystem.ScreenSystem.InputHelper input, GameTime gameTime)
        {
            // Mouse or touch on a menu item
            int hoverIndex = GetMenuEntryAt(input.Cursor);
            if (hoverIndex >= 0)
            {
                selectedEntry = hoverIndex;
                //debugScreen.AddDebugItem("BUTTON HOVER", "Index " + hoverIndex, XnaSwarmsData.Debug.DebugFlagType.Important);
            }
            else
            {
                selectedEntry = -1;
            }

            // Accept or cancel the menu? 
            if (input.IsMenuSelect() && selectedEntry != -1)
            {
                if (menuEntries[selectedEntry].IsStable())
                {
                    controlClient.CreateStableSwarm();
                }
                else if (menuEntries[selectedEntry].IsMutationGame())
                {
                    controlClient.CreateMutationSwarm();
                }
                else if (menuEntries[selectedEntry].IsZoomIn())
                {
                    controlClient.ZoomIn();
                }
                else if (menuEntries[selectedEntry].IsZoomOut())
                {
                    controlClient.ZoomOut();
                }
                else if (menuEntries[selectedEntry].IsDebugger())
                {
                    debugScreen.SetVisiblity();
                }
                else if (menuEntries[selectedEntry].IsSave())
                {
                    SaveSwarm(controlClient.SaveWorld());
                    UpdateLikedItemsUI();
                }
                else if (menuEntries[selectedEntry].IsRecall1())
                {
                    allLikedItems[0].SaveWorldParameters = controlClient.SaveWorld();
                    controlClient.UpdatePopulation(allLikedItems[0], false);
                }
                else if (menuEntries[selectedEntry].IsRecall2())
                {
                    allLikedItems[1].SaveWorldParameters = controlClient.SaveWorld();
                    controlClient.UpdatePopulation(allLikedItems[1], false);
                }
                else if (menuEntries[selectedEntry].IsRecall3())
                {
                    allLikedItems[2].SaveWorldParameters = controlClient.SaveWorld();
                    controlClient.UpdatePopulation(allLikedItems[2], false);
                }
                else if (menuEntries[selectedEntry].IsRecall4())
                {
                    allLikedItems[3].SaveWorldParameters = controlClient.SaveWorld();
                    controlClient.UpdatePopulation(allLikedItems[3], false);
                }
                else if (menuEntries[selectedEntry].IsRecall5())
                {
                    allLikedItems[4].SaveWorldParameters = controlClient.SaveWorld();
                    controlClient.UpdatePopulation(allLikedItems[4], false);
                }
                else if (menuEntries[selectedEntry].IsRecall6())
                {
                    allLikedItems[5].SaveWorldParameters = controlClient.SaveWorld();
                    controlClient.UpdatePopulation(allLikedItems[5], false);
                }
                else if (menuEntries[selectedEntry].IsAudioPlay())
                {
                    controlClient.StartSoundEngine();
                }
                else if (menuEntries[selectedEntry].IsAudioPause())
                {
                    controlClient.StopSoundEngine();
                }
                else if (menuEntries[selectedEntry].IsAnalyze())
                {
                    controlClient.ToggleAnalyze();
                }

#if NETFX_CORE
                else if (menuEntries[selectedEntry].IsImportLikes())
                {
                    ImportSwarmSaveData();
                }
                else if (menuEntries[selectedEntry].IsExportLikes())
                {
                    ExportSwarmSaveData();
                }
#endif

            }
        }