33 std::unique_ptr<CScript> script;
34 bool readOnly =
false;
57 virtual bool IntroduceVirus() = 0;
62 virtual void SetActiveVirus(
bool bActive) = 0;
64 virtual bool GetActiveVirus() = 0;
67 virtual bool ReadProgram(
Program* program,
const std::string& filename) = 0;
69 virtual bool WriteProgram(
Program* program,
const std::string& filename) = 0;
71 virtual bool GetCompile(
Program* program) = 0;
74 virtual Program* AddProgram() = 0;
76 virtual void AddProgram(std::unique_ptr<Program> program) = 0;
78 virtual void RemoveProgram(
Program* program) = 0;
83 virtual std::vector<std::unique_ptr<Program>>& GetPrograms() = 0;
85 virtual int GetProgramCount() = 0;
87 virtual Program* GetProgram(
int index) = 0;
89 virtual Program* GetOrAddProgram(
int index) = 0;
91 virtual int GetProgramIndex(
Program* program) = 0;
94 virtual void SetProgramStorageIndex(
int programStorageIndex) = 0;
96 virtual int GetProgramStorageIndex() = 0;
99 virtual void SaveAllUserPrograms(
const std::string& userSource) = 0;
101 virtual void LoadAllProgramsForLevel(
CLevelParserLine* levelSource,
const std::string& userSource,
bool loadSoluce) = 0;
104 virtual void SaveAllProgramsForSavedScene(
CLevelParserLine* levelSourceLine,
const std::string& levelSource) = 0;
106 virtual void LoadAllProgramsForSavedScene(
CLevelParserLine* levelSourceLine,
const std::string& levelSource) = 0;
Definition: parserline.h:37
Interface for objects that store CBOT programs.
Definition: program_storage_object.h:43
objects that store CBOT programs
ObjectInterfaceType enum.
Definition: program_storage_object.h:31