Crossfire Server, Trunk
ScriptFileManager.h
Go to the documentation of this file.
1 /*
2  * Crossfire -- cooperative multi-player graphical RPG and adventure game
3  *
4  * Copyright (c) 2022 the Crossfire Development Team
5  *
6  * Crossfire is free software and comes with ABSOLUTELY NO WARRANTY. You are
7  * welcome to redistribute it under certain conditions. For details, please
8  * see COPYING and LICENSE.
9  *
10  * The authors can be reached via e-mail at <crossfire@metalforge.org>.
11  */
12 
13 #ifndef SCRIPT_FILE_MANAGER_H
14 #define SCRIPT_FILE_MANAGER_H
15 
16 #include <QHash>
17 #include "assets/AssetWrapper.h"
18 #include "scripts/ScriptFile.h"
19 
20 class HookInformation;
21 class CREMapInformation;
22 
27  Q_OBJECT
28 
29  public:
31  virtual ~ScriptFileManager();
32 
33  virtual QString displayName() const override { return tr("Scripts"); }
34  virtual int childrenCount() const { return myScripts.size(); }
35  virtual AssetWrapper *child(int child) { return myScripts.values()[child]; }
36  virtual int childIndex(AssetWrapper *child) { return myScripts.values().indexOf(dynamic_cast<ScriptFile *>(child)); }
37 
38  QList<ScriptFile*> scriptsForMap(CREMapInformation* map);
39 
45  ScriptFile* getFile(const QString& path);
46 
52 
53  QList<ScriptFile*> scripts() const;
54 
55  public slots:
56  void addHook(const QString &file, HookInformation *hook);
57 
58  private:
59  QHash<QString, ScriptFile*> myScripts;
60 };
61 
62 #endif /* SCRIPT_FILE_MANAGER_H */
ScriptFileManager::~ScriptFileManager
virtual ~ScriptFileManager()
Definition: ScriptFileManager.cpp:21
ScriptFileManager::childIndex
virtual int childIndex(AssetWrapper *child)
Definition: ScriptFileManager.h:36
mad_mage_user.file
file
Definition: mad_mage_user.py:15
ScriptFileManager::ScriptFileManager
ScriptFileManager(AssetWrapper *parent)
Definition: ScriptFileManager.cpp:17
ScriptFileManager
Definition: ScriptFileManager.h:26
ScriptFileManager::child
virtual AssetWrapper * child(int child)
Definition: ScriptFileManager.h:35
HookInformation
Definition: ScriptFile.h:25
ScriptFile.h
AssetWrapper
Definition: AssetWrapper.h:25
disinfect.map
map
Definition: disinfect.py:4
ScriptFileManager::scriptsForMap
QList< ScriptFile * > scriptsForMap(CREMapInformation *map)
Definition: ScriptFileManager.cpp:26
ScriptFile
Definition: ScriptFile.h:48
ScriptFileManager::displayName
virtual QString displayName() const override
Definition: ScriptFileManager.h:33
ScriptFileManager::getFile
ScriptFile * getFile(const QString &path)
Definition: ScriptFileManager.cpp:39
path
pluglist shows those as well as a short text describing each the list will simply appear empty The keyword for the Python plugin is Python plugout< keyword > Unloads a given identified by its _keyword_ So if you want to unload the Python you need to do plugout Python plugin< libname > Loads a given whose _filename_ is libname So in the case of you d have to do a plugin cfpython so Note that all filenames are relative to the default plugin path(SHARE/plugins). Console messages. ----------------- When Crossfire starts
CREMapInformation
Definition: CREMapInformation.h:27
ScriptFileManager::addHook
void addHook(const QString &file, HookInformation *hook)
Definition: ScriptFileManager.cpp:73
ScriptFileManager::childrenCount
virtual int childrenCount() const
Definition: ScriptFileManager.h:34
AssetWrapper.h
ScriptFileManager::myScripts
QHash< QString, ScriptFile * > myScripts
Definition: ScriptFileManager.h:59
ScriptFileManager::scripts
QList< ScriptFile * > scripts() const
Definition: ScriptFileManager.cpp:68
ScriptFileManager::removeMap
void removeMap(CREMapInformation *map)
Definition: ScriptFileManager.cpp:50