2010-11-20 10:37:14 +00:00
|
|
|
/* (c) Magnus Auvinen. See licence.txt in the root of the distribution for more information. */
|
|
|
|
/* If you are missing that file, acquire a complete release at teeworlds.com. */
|
2010-05-29 07:25:38 +00:00
|
|
|
#ifndef ENGINE_EDITOR_H
|
|
|
|
#define ENGINE_EDITOR_H
|
|
|
|
#include "kernel.h"
|
|
|
|
|
|
|
|
class IEditor : public IInterface
|
|
|
|
{
|
2023-11-28 20:46:03 +00:00
|
|
|
MACRO_INTERFACE("editor")
|
2010-05-29 07:25:38 +00:00
|
|
|
public:
|
|
|
|
virtual ~IEditor() {}
|
|
|
|
virtual void Init() = 0;
|
2022-06-15 15:37:22 +00:00
|
|
|
virtual void OnUpdate() = 0;
|
|
|
|
virtual void OnRender() = 0;
|
2023-07-08 10:45:38 +00:00
|
|
|
virtual void OnActivate() = 0;
|
2023-08-15 17:39:22 +00:00
|
|
|
virtual void OnWindowResize() = 0;
|
2023-10-18 11:27:31 +00:00
|
|
|
virtual void OnClose() = 0;
|
2023-10-23 10:48:53 +00:00
|
|
|
virtual void OnDialogClose() = 0;
|
2021-02-08 21:26:26 +00:00
|
|
|
virtual bool HasUnsavedData() const = 0;
|
2023-08-26 20:13:13 +00:00
|
|
|
virtual bool HandleMapDrop(const char *pFilename, int StorageType) = 0;
|
2022-11-03 19:17:06 +00:00
|
|
|
virtual bool Load(const char *pFilename, int StorageType) = 0;
|
|
|
|
virtual bool Save(const char *pFilename) = 0;
|
2019-04-05 23:15:02 +00:00
|
|
|
virtual void UpdateMentions() = 0;
|
|
|
|
virtual void ResetMentions() = 0;
|
2023-07-08 10:45:38 +00:00
|
|
|
virtual void OnIngameMoved() = 0;
|
|
|
|
virtual void ResetIngameMoved() = 0;
|
2010-05-29 07:25:38 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
extern IEditor *CreateEditor();
|
|
|
|
#endif
|