- Fixing bug with last screen not exiting if it is a background screen
This commit is contained in:
parent
0c2172e2b2
commit
c11e02d10e
@ -41,6 +41,13 @@
|
|||||||
*
|
*
|
||||||
* 1.0.0.9 - 3/16/2012
|
* 1.0.0.9 - 3/16/2012
|
||||||
* - Changeing the complex objects alot - now they are more like "chained" objects
|
* - Changeing the complex objects alot - now they are more like "chained" objects
|
||||||
|
* - Adding checks for if objects are getting deleted too fast
|
||||||
|
*
|
||||||
|
* 1.0.1.0 - 3/20/2012
|
||||||
|
* - Taking out hard coded debug statements for the screen system
|
||||||
|
* - Adding field to allow/disallow automated mouse joints per object
|
||||||
|
* - Fixing bug with last screen not exiting if it is a background screen
|
||||||
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -270,7 +270,7 @@ namespace FarseerPhysics.SamplesFramework
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual void ExitScreen()
|
public virtual void ExitScreen()
|
||||||
{
|
{
|
||||||
if (TransitionOffTime == TimeSpan.Zero)
|
if (TransitionOffTime == TimeSpan.Zero && this.TransitionPosition == 0 && this.TransitionAlpha == 1)
|
||||||
{
|
{
|
||||||
// If the screen has a zero transition time, remove it immediately.
|
// If the screen has a zero transition time, remove it immediately.
|
||||||
ScreenManager.RemoveScreen(this);
|
ScreenManager.RemoveScreen(this);
|
||||||
|
@ -189,12 +189,15 @@ namespace FarseerPhysics.SamplesFramework
|
|||||||
}
|
}
|
||||||
else if (input.IsMenuCancel())
|
else if (input.IsMenuCancel())
|
||||||
{
|
{
|
||||||
if (this.ScreenState == SamplesFramework.ScreenState.Active)
|
if (this.ScreenState == SamplesFramework.ScreenState.Active && this.TransitionPosition == 0 && this.TransitionAlpha == 1)
|
||||||
{
|
{
|
||||||
if (ScreenManager.GetScreens().Length == 2)
|
//GameScreen[] screens = ScreenManager.GetScreens();
|
||||||
ScreenManager.Game.Exit();
|
//if (screens[screens.Length - 1] is BackgroundScreen ||| screens.Length )
|
||||||
else
|
// ScreenManager.Game.Exit();
|
||||||
this.ExitScreen();
|
//if (ScreenManager.GetScreens().Length == 2)
|
||||||
|
// ScreenManager.Game.Exit();
|
||||||
|
//else
|
||||||
|
this.ExitScreen();
|
||||||
}
|
}
|
||||||
//ScreenManager.Game.Exit();
|
//ScreenManager.Game.Exit();
|
||||||
}
|
}
|
||||||
|
@ -139,7 +139,7 @@ namespace FarseerPhysics.SamplesFramework
|
|||||||
// the process of updating one screen adds or removes others.
|
// the process of updating one screen adds or removes others.
|
||||||
_screensToUpdate.Clear();
|
_screensToUpdate.Clear();
|
||||||
|
|
||||||
if (_screens.Count == 0)
|
if (_screens.Count == 0 || (_screens.Count == 1 && _screens[0] is BackgroundScreen))
|
||||||
//I'm done, exit
|
//I'm done, exit
|
||||||
this.Game.Exit();
|
this.Game.Exit();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user