Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
DZMenu.c
/* |
* File: DZMenu.c |
* |
* Copyright © 1996 Apple Computer, Inc. |
*/ |
#include <Dialogs.h> |
#include <Menus.h> |
#include "DZDisplay.h" |
#include "DZInput.h" |
#include "DZMain.h" |
#include "DZMenu.h" |
#include "DZGame.h" |
#include "DZResource.h" |
#include "DZSound.h" |
static void SelectAppleMenu( |
short inItem); |
static void SelectFileMenu( |
short inItem); |
/* ============================================================================= |
* Menu_Init (external) |
* |
* Initializes our menus. |
* ========================================================================== */ |
void Menu_Init( |
void) |
{ |
SetMenuBar(GetNewMBar(kMBarID_Main)); |
AppendResMenu(GetMenuHandle(kMenuID_Apple), 'DRVR'); |
DrawMenuBar(); |
} |
/* ============================================================================= |
* Menu_Exit (external) |
* |
* Cleans up. |
* ========================================================================== */ |
void Menu_Exit( |
void) |
{ |
} |
/* ============================================================================= |
* Menu_Select (external) |
* |
* Takes action on the given menu item. |
* ========================================================================== */ |
void Menu_Select( |
short inMenuID, |
short inItem) |
{ |
switch (inMenuID) |
{ |
case kMenuID_Apple: |
SelectAppleMenu(inItem); |
break; |
case kMenuID_File: |
SelectFileMenu(inItem); |
break; |
} |
HiliteMenu(0); |
} |
/* ============================================================================= |
* SelectAppleMenu (internal) |
* |
* Takes action on the given Apple menu item. |
* ========================================================================== */ |
void SelectAppleMenu( |
short inItem) |
{ |
switch (inItem) |
{ |
case kAppleItem_About: |
Display_Activate(false); |
Alert(kAlrtID_About, NULL); |
Display_Activate(true); |
break; |
} |
} |
/* ============================================================================= |
* SelectFileMenu (internal) |
* |
* Takes action on the given File menu item. |
* ========================================================================== */ |
void SelectFileMenu( |
short inItem) |
{ |
switch (inItem) |
{ |
case kFileItem_StartGame: |
switch (Game_GetState()) |
{ |
case kGameState_Playing: |
// do nothing -- should be disabled |
break; |
case kGameState_Paused: |
Game_SetState(kGameState_Stopped); |
Game_SetState(kGameState_Playing); |
break; |
case kGameState_Stopped: |
Game_SetState(kGameState_Playing); |
break; |
} |
break; |
case kFileItem_EndGame: |
switch (Game_GetState()) |
{ |
case kGameState_Playing: |
case kGameState_Paused: |
Game_SetState(kGameState_Stopped); |
break; |
case kGameState_Stopped: |
// do nothing -- should be disabled |
break; |
} |
break; |
case kFileItem_PauseGame: |
switch (Game_GetState()) |
{ |
case kGameState_Playing: |
Game_SetState(kGameState_Paused); |
break; |
case kGameState_Paused: |
Game_SetState(kGameState_Playing); |
break; |
case kGameState_Stopped: |
// do nothing -- should be disabled |
break; |
} |
break; |
case kFileItem_ConfigInput: |
Display_Activate(false); |
Input_Configure(); |
Display_Activate(true); |
break; |
case kFileItem_Config3DSound: |
Display_Activate(false); |
Sound_Configure(); |
Display_Activate(true); |
break; |
case kFileItem_Quit: |
Main_LastRoundup(); |
break; |
} |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-10-14