Back to Evolution Project page


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Header Files   Sources   Compound Members   File Members  

Application.cc

00001 
00002 #include "Application.h"
00003 #include "System.h"
00004 #include "configs.h"
00005 
00006 #include "Screen.h"
00007 #include "ScreenMenu.h"
00008 #include "ScreenGame.h"
00009 #include "ScreenLevelEditor.h"
00010 #include "ScreenLoadLevel.h"
00011   
00012 #include <stdio.h>
00013 
00014 #include <ClanLib/core.h>
00015 
00016 int TApplication::Run() {
00017   //*This recource will be shared with all screens.
00018   CL_ResourceManager *resources; 
00019   TLevel *gamelevel;
00020 
00021   TScreenMenu* screen_menu;
00022   TScreenGame* screen_game;
00023   TScreenLevelEditor* screen_level_editor;
00024   TScreenLoadLevel* screen_load_level;
00025   int next_screen=SCREEN_DEFAULT;
00026   
00027   //* Init system...
00028   TSystem::init();
00029   
00030   //* Create Resources...
00031   try {
00032     resources = CL_ResourceManager::create("evolution.dat", true);
00033   }
00034   catch (CL_Error err) {
00035     resources = CL_ResourceManager::create("evolution.scr", false);
00036   }           
00037   
00038   gamelevel = new TLevel();
00039   gamelevel->Init(5, 5); //Initialize level with a arbitrary value...
00040   gamelevel->set_window(4, 0, 26, 26);
00041   
00044  do {
00045    switch(next_screen) {
00046    case SCREEN_MENU:
00047      screen_menu = new TScreenMenu(resources, gamelevel);
00048      next_screen = screen_menu->Show();
00049      delete screen_menu;
00050      break;
00051    case SCREEN_GAME:
00052      screen_game = new TScreenGame(resources, gamelevel);
00053      next_screen = screen_game->Show();
00054      delete screen_game;
00055      break;
00056    case SCREEN_EDITOR:
00057      screen_level_editor = new TScreenLevelEditor(resources, gamelevel);
00058      next_screen = screen_level_editor->Show();
00059      delete screen_level_editor;
00060      break;
00061    case SCREEN_LOAD:
00062      screen_load_level = new TScreenLoadLevel(resources, gamelevel);
00063      next_screen = screen_load_level->Show();
00064      delete screen_load_level;
00065      break;
00066    default:
00067      break;
00068    }
00069    printf("next screen: %d \n", next_screen);
00070    resources->unload_all_resources();
00071  } while (next_screen!=SCREEN_QUIT);
00072  
00073  printf ("Rodei! ;-) \n\n\n\n\n\n");
00074 
00075  //* De allocate memory
00076  // delete resources;
00077  
00078  //*Finish the program...
00079  TSystem::finish();
00080  return 0;
00081 }
00082 
00083 
00084 
00085 
00086 
00087 
00088 
00089 
00090 
00091 
00092 
00093 
00094 
00095 
00096 
00097 
00098 
00099 
00100 
00101 
00102 
00103 
00104 
00105 
00106 
00107 
00108 
00109 
00110 
00111 

Generated at Mon Nov 6 22:47:02 2000 for TheGameofEvolution by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999