Knot3.Game.Screens.ChallengeStartScreen.AddSavegameToList C# (CSharp) Méthode

AddSavegameToList() private méthode

Diese Methode wird für jede gefundene Spielstanddatei aufgerufen
private AddSavegameToList ( string filename, ChallengeMetaData meta ) : void
filename string
meta Knot3.Game.Data.ChallengeMetaData
Résultat void
        private void AddSavegameToList(string filename, ChallengeMetaData meta)
        {
            // Erstelle eine Lamdafunktion, die beim Auswählen des Menüeintrags ausgeführt wird
            Action<GameTime> LoadFile = (time) => {
                if (previewChallenge == null || previewChallenge.MetaData != meta) {
                    RemoveGameComponents (time, challengeInfo);
                    challengeInfo.Clear ();

                    previewChallenge = loader.FileFormat.Load (filename);
                    previewRenderer.RenderKnot (previewChallenge.Target);
                    previewWorld.Camera.ResetCamera ();
                    startButton.IsVisible = true;

                    MenuEntry countEntry = new MenuEntry (
                        screen: this,
                        drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
                        name: Localizer.Localize ("Edge Count: ") + meta.Target.CountEdges,
                    onClick: (t) => {}
                    );
                    countEntry.Enabled = false;
                    challengeInfo.Add (countEntry);

                    MenuEntry avgtimeEntry = new MenuEntry (
                        screen: this,
                        drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
                        name: ("Avg Time: ").Localize () + (meta.FormatedAvgTime).Localize (),
                    onClick: (t) => {}
                    );
                    avgtimeEntry.IsLocalized = false;
                    avgtimeEntry.Enabled = false;
                    challengeInfo.Add (avgtimeEntry);

                    if (filename.Contains (SystemInfo.SavegameDirectory)) {
                        MenuEntry deleteEntry = new MenuEntry (
                            screen: this,
                            drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
                            name: "Delete",
                            onClick: (t) => deleteSavegame (filename, t)
                        );
                        deleteEntry.AddKey (Keys.Delete);
                        challengeInfo.Add (deleteEntry);
                    }

                    AddGameComponents (time, challengeInfo);
                }
            };

            // Finde den Namen der Challenge
            string name = meta.Name.Length > 0 ? meta.Name : filename;

            // Erstelle den Menüeintrag
            MenuEntry button = new MenuEntry (
                screen: this,
                drawOrder: DisplayLayer.ScreenUI + DisplayLayer.MenuItem,
                name: name,
                onClick: LoadFile
            );
            button.IsSelectable = true;
            button.IsLocalized = false;
            savegameMenu.Add (button);
        }