Beispiel #1
0
        // Codigo de colision del trigger del area de salida:
        private void OnCollisionExitZone(Body b, Vector2 force, float direction)
        {
            if ((string)b.Tag == "player")
            {
                Manager.Scene.FindByName("player").Enabled = false;
                b.Fixed = true;

                Manager.Vars["currentLevel"] = (int)Manager.Vars["currentLevel"] + 1;

                if ((int)Manager.Vars["currentLevel"] > (int)Manager.Vars["lastLevel"])
                {
                    Manager.Vars["lastLevel"] = (int)Manager.Vars["currentLevel"];
                }

                Manager.Vars["score"]          = (int)Manager.Vars["score"] + 100;
                Manager.Vars["prev_CMYK_Ammo"] = (int)Manager.Vars["CMYK_Ammo"];
                Manager.Vars["exitLevel"]      = true;

                // Guardamos los progresos:
                Session.GameProgress.CurrentLevel    = (int)Manager.Vars["lastLevel"];
                Session.GameProgress.CurrentCMYKAmmo = (int)Manager.Vars["CMYK_Ammo"];
                Session.GameProgress.CurrentScore    = (int)Manager.Vars["score"];

                if (!Guide.IsTrialMode)
                {
                    StorageSession.SaveData(Session.SaveGameFilename, Session.GameProgress);
                }

                Kill();
            }
        }
Beispiel #2
0
        private void OnExitState(ButtonGroup group)
        {
            // Al salir del estado guardamos los cambios de configuracion si los hubiera:
            if (hasChanges)
            {
                hasChanges = false;
                StorageSession.SaveData(Session.SettingsFilename, Session.Settings);
            }

            Manager.GameStates.ChangeState("menu");
        }