view LightClone/Source/Model.h @ 6:817a7b518fbb

Fix up dialog buttons
author koryspansel <koryspansel@bendbroadband.com>
date Fri, 09 Sep 2011 09:57:27 -0700
parents 88b5c4d51c68
children
line wrap: on
line source

/*
 * Model
 */

#ifndef __MODEL_H__
#define __MODEL_H__

#include "Core.h"
#include "Bot.h"
#include "Environment.h"
#include "Code.h"
#include "Loader.h"
#include "InputManager.h"
#include "DragController.h"
#include "ButtonPane.h"
#include "Dialog.h"

/*
 * GameState
 */
enum
{
	GameState_Idle,
	GameState_LoadMap,
	GameState_Active,
	GameState_Complete,
	GameState_Over,
	GameState_Confirm,
	GameState_Exit,
};

/*
 * SimulationState
 */
enum
{
	SimulationState_Idle,
	SimulationState_Active,
};

/*
 * Model
 */
class Model
{
	/*
	 * kLoader
	 */
	Loader kLoader;

	/*
	 * kEnvironment
	 */
	Environment kEnvironment;

	/*
	 * kBot
	 */
	Bot kBot;

	/*
	 * kFunction
	 */
	Code* pFunction;

public:

	/*
	 * nGameState
	 */
	uint32 nGameState;

	/*
	 * nSimulationState
	 */
	uint32 nSimulationState;

	/*
	 * nCurrentLevel
	 */
	uint32 nCurrentLevel;

	/*
	 * nCurrentFunction
	 */
	uint32 nCurrentFunction;

public:

	/*
	 * kInputManager
	 */
	InputManager kInputManager;

	/*
	 * kDragController
	 */
	DragController kDragController;

	/*
	 * kToolbar
	 */
	ButtonPane kToolbar;

	/*
	 * kMain
	 */
	ButtonPane kMain;

	/*
	 * kFunction
	 */
	ButtonPane kFunction;

	/*
	 * kControlBounds
	 */
	ButtonPane kControls;

	/*
	 * kArrowBounds
	 */
	Rectangle2 kArrowBounds[2];

	/*
	 * kDialog1Bounds
	 */
	Rectangle2 kDialog1Bounds[1];

	/*
	 * kDialog2Bounds
	 */
	Rectangle2 kDialog2Bounds[2];

	/*
	 * kDialog
	 */
	Dialog kDialog;

public:

	/*
	 * Model
	 */
	Model();

	/*
	 * Load
	 */
	bool Load(const char* pName);

	/*
	 * GetEnvironment
	 */
	Environment* GetEnvironment();

	/*
	 * GetBot
	 */
	Bot* GetBot();

	/*
	 * GetFunction
	 */
	Code* GetFunction(uint32 nIndex);

	/*
	 * GetFunctionCount
	 */
	uint32 GetFunctionCount();

	/*
	 * ResetEnvironment
	 */
	void ResetEnvironment();

	/*
	 * ResetBot
	 */
	void ResetBot();

	/*
	 * ResetCode
	 */
	void ClearCode();

	/*
	 * SetupDialog
	 */
	void SetupDialog(const char* pMessage, const char* pChoiceA, uint32 nResultA, const char* pChoiceB = NULL, uint32 nResultB = 0);
};

#endif //__MODEL_H__