Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/new_class_id/src/lib/util/loading/resource.cc @ 9784

Last change on this file since 9784 was 9784, checked in by bensch, 18 years ago

orxonox/new_class_id: new Resources stuff

File size: 1.5 KB
Line 
1/*
2   orxonox - the future of 3D-vertical-scrollers
3
4   Copyright (C) 2004 orx
5
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2, or (at your option)
9   any later version.
10
11   ### File Specific:
12   main-programmer: Benjamin Grauer
13   co-programmer: ...
14*/
15
16#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_LOADING
17
18#include "resource.h"
19
20ObjectListDefinition(Resource);
21
22
23/**
24 * standard constructor
25*/
26Resource::Resource ()
27    : _pointer(NULL)
28{
29  this->registerObject(this, Resource::_objectList);
30
31}
32
33/**
34 * standard deconstructor
35 */
36Resource::~Resource ()
37{
38  // delete what has to be deleted here
39}
40
41
42
43Resource::Pointer* Resource::acquireResource(Resource::Type& resourceType, const std::string& loadString)
44{
45  if(resourceType.id() == -1)
46  {
47    Resource::_resourceTypes.push_back(&resourceType);
48    resourceType.setID(Resource::_resourceTypes.size());
49  }
50  const Resource::Type* const type = Resource::_resourceTypes[resourceType.id()];
51
52  for (unsigned int i = 0; i < type->storedResources().size(); ++i)
53    if (type->storedResources()[i]->_pointer->loadString() == loadString)
54      return type->storedResources()[i]->_pointer;
55
56  return NULL;
57}
58
59
60
61
62
63
64void Resource::KeepLevel::setKeepLevelName(unsigned int level, const std::string& name)
65{
66  if (_keepLevelName.size() <= level)
67    _keepLevelName.resize(level+1);
68  _keepLevelName[level] = name;
69}
Note: See TracBrowser for help on using the repository browser.