view src/GameManager.h @ 12:d45a95c697c3

add GiantrobClassfile.
author tokumoritaichirou@w-133-13-243-110.cc.u-ryukyu.ac.jp
date Wed, 03 Feb 2010 18:33:08 +0900
parents 5727d511a13a
children
line wrap: on
line source

/*
 *  GameManager.h
 *  Martial
 *
 *  Created by ryoma on 10/01/23.
 *  Copyright 2010 琉球大学. All rights reserved.
 *
 */

/*!
    @class		GameManager
    @abstract   ゲーム全体の処理を司るクラス
    @discussion SceneGraph上のノードの操作を行なう
				プログラム全体から参照される値(フレーム値)などの定義も
*/

#ifndef _GAME_MANAGER_HEADER_
#define _GAME_MANAGER_HEADER_

#include <osg/Group>
#include <osg/Node>
#include <osg/NodeCallback>
#include <osg/Geometry>
#include <osg/Texture2D>
#include <osg/PositionAttitudeTransform>
#include <osgViewer/Viewer>
#include <osgViewer/CompositeViewer>
#include <osgViewer/ViewerEventHandlers>
#include <osgDB/ReadFile> 
#include <osgGA/TrackballManipulator>
#include <osgGA/StateSetManipulator>
#include <osgGA/GUIEventHandler>
#include <SDL/SDL.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>

#include <list>
#include "Martial.h"
#include "GlobalEyePoint.h"
#include "PlayerEyePoint.h"
#include "KeyboardEventHandler.h"
#include "Robot.h"
#include "Giantarm.h"
#include "CollisionDetector.h"
#include "Player.h"

class GameManager {
	private:
	/*!	@var MovableObject
		@abstract SceneGraph上の座標演算,衝突判定を行なうMovableObjectのlist
		@discussion listより良いデータ構造があるかもしれないけど、とりあえずlistで。*/
		std::list<MovableObject*> movableObjectList;

		CollisionDetector* collisionDetector;
		osg::Group* root;

		void initStage();
	public:
		GameManager();
		void gameStart();
		void addMovableObject(MovableObject* mob);
		void addEyePoint(EyePoint* eye);
};

#endif