AxiosEngine-old 

AxiosEngine-old Commit Details


Date:2012-03-21 00:12:00 (12 years 9 months ago)
Author:nathan@daedalus
Branch:default
Commit:5f677872a79b
Parents: 295db41d9790
Message:- Fixing bug with last screen not exiting if it is a background screen

Changes:
Maxios/Axios_settings.cs (1 diff)
Maxios/ScreenSystem/GameScreen.cs (1 diff)
Maxios/ScreenSystem/MenuScreen.cs (1 diff)
Maxios/ScreenSystem/ScreenManagerComponent.cs (1 diff)

File differences

axios/Axios_settings.cs
4141
4242
4343
44
45
46
47
48
49
50
4451
4552
4653
*
* 1.0.0.9 - 3/16/2012
* - 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
*
*
*/
axios/ScreenSystem/GameScreen.cs
270270
271271
272272
273
273
274274
275275
276276
/// </summary>
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.
ScreenManager.RemoveScreen(this);
axios/ScreenSystem/MenuScreen.cs
189189
190190
191191
192
192
193193
194
195
196
197
194
195
196
197
198
199
200
198201
199202
200203
}
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)
ScreenManager.Game.Exit();
else
this.ExitScreen();
//GameScreen[] screens = ScreenManager.GetScreens();
//if (screens[screens.Length - 1] is BackgroundScreen ||| screens.Length )
// ScreenManager.Game.Exit();
//if (ScreenManager.GetScreens().Length == 2)
// ScreenManager.Game.Exit();
//else
this.ExitScreen();
}
//ScreenManager.Game.Exit();
}
axios/ScreenSystem/ScreenManagerComponent.cs
139139
140140
141141
142
142
143143
144144
145145
// the process of updating one screen adds or removes others.
_screensToUpdate.Clear();
if (_screens.Count == 0)
if (_screens.Count == 0 || (_screens.Count == 1 && _screens[0] is BackgroundScreen))
//I'm done, exit
this.Game.Exit();

Archive Download the corresponding diff file

Page rendered in 0.48284s using 13 queries.