NavMeshAreaParser.cpp

Go to the documentation of this file.
00001 #include "BasicPre.hpp"
00002 #include "NavMeshAreaParser.hpp"
00003 #include "../area/NavMeshArea.hpp"
00004 #include "../area/NavMeshAreaFactory.hpp"
00005 #include "sim/area/AreaManager.hpp"
00006 #include "util/type/ByteArray.hpp"
00007 
00008 using namespace se_core;
00009 
00010 namespace se_basic {
00011 
00012     NavMeshAreaParser
00013     ::NavMeshAreaParser(ParseManager& parser)
00014         : Parser(parser, Parser::BASIC, Parser::AREA, 2) {
00015     }
00016 
00017 
00018     void NavMeshAreaParser
00019     ::parse(InputStream& in) {
00020         // (name)
00021         String* name = new String();
00022         in.readString(*name);
00023 
00024         // (width height)
00025         unsigned short w = in.readShort();
00026         unsigned short h = in.readShort();
00027 
00028         // (navmesh data)
00029         unsigned short dataSize = in.readShort();
00030         ByteArray* data = new ByteArray();
00031         in.readByteArray(*data, dataSize);
00032 
00033         // Create area factory
00034         NavMeshAreaFactory* f = new NavMeshAreaFactory(name, w, h, data);
00035         SimSchema::areaManager.addFactory(f);
00036 
00037         // Create area
00038         // Same name, but let factory handle destruction
00039         //String* areaName = new String(name->get());
00040         //SimSchema::areaManager.createArea(areaName, name->get());
00041 
00042         //LogDetail(name->get() << ": " << w << ", " << h);
00043     }
00044 
00045 }

Home Page | SagaEngine trunk (updated nightly) reference generated Sun Dec 2 20:06:02 2007 by Doxygen version 1.3.9.1.

SourceForge.net Logo