// 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(); } }
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"); }