author | rubidium |
Thu, 22 Mar 2007 09:52:12 +0000 | |
branch | noai |
changeset 9511 | f767ad06e86b |
parent 9510 | 261d33fbabb8 |
child 9520 | f7cf8bea10db |
permissions | -rw-r--r-- |
9474
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
1 |
/* $Id$ */ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
2 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
3 |
/** @file ai_testmode.hpp class to switch the AI to Transaction mode */ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
4 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
5 |
#ifndef AI_TRANSACTIONMODE_HPP |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
6 |
#define AI_TRANSACTIONMODE_HPP |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
7 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
8 |
#include "ai_object.hpp" |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
9 |
#include <queue> |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
10 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
11 |
/** |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
12 |
* Class to switch current mode to Transaction mode. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
13 |
* If you create an instance of this class, the mode will be switched to |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
14 |
* Transaction. The original mode is stored and recovered from when ever the |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
15 |
* instance is destroyed. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
16 |
* In Transaction mode all commands will be tested, and if not fail, queued. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
17 |
* Later on you can execute a queue for real. The Transaction keeps on |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
18 |
* recording all commands till it is destructed or execute or stopped. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
19 |
* On execute the transaction can return false, because maps change over time. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
20 |
* If this happens you can use the rollback feature to remove all already |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
21 |
* built things. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
22 |
*/ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
23 |
class AITransactionMode : public AIObject { |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
24 |
private: |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
25 |
struct AITransactionModeCommand { |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
26 |
TileIndex tile; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
27 |
uint32 p1; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
28 |
uint32 p2; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
29 |
uint procc; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
30 |
char *text; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
31 |
}; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
32 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
33 |
AIModeProc *last_mode; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
34 |
AIObject *last_instance; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
35 |
std::queue<AITransactionModeCommand> command_stack; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
36 |
std::queue<AITransactionModeCommand> reverse_stack; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
37 |
bool stopped; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
38 |
int32 costs; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
39 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
40 |
protected: |
9475
58c20c0e394f
(svn r9320) [NoAI] -Fix: added some doxygen comments to make doxygen happy
truelight
parents:
9474
diff
changeset
|
41 |
/** |
58c20c0e394f
(svn r9320) [NoAI] -Fix: added some doxygen comments to make doxygen happy
truelight
parents:
9474
diff
changeset
|
42 |
* The callback proc for Transaction mode. |
58c20c0e394f
(svn r9320) [NoAI] -Fix: added some doxygen comments to make doxygen happy
truelight
parents:
9474
diff
changeset
|
43 |
*/ |
9486
a9b5f6b8667c
(svn r9336) [NoAI] -Fix: remove 'flags' for AI DoCommand and detect its value automaticly
truelight
parents:
9475
diff
changeset
|
44 |
static bool ModeProc(TileIndex tile, uint32 p1, uint32 p2, uint procc, int32 costs); |
9474
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
45 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
46 |
public: |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
47 |
/** |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
48 |
* Creating instance of this class switches the build mode to Transaction. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
49 |
* @note when the instance is destroyed, he restores the mode that was |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
50 |
* current when the instance was created! |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
51 |
*/ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
52 |
AITransactionMode(); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
53 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
54 |
/** |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
55 |
* Destroying this instance reset the building mode to the mode it was |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
56 |
* in when the instance was created. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
57 |
*/ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
58 |
~AITransactionMode(); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
59 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
60 |
/** |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
61 |
* Execute all recorded commands. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
62 |
* @return false if any command recorded failed to execute. All other |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
63 |
* commands that follow won't be executed either. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
64 |
* @note when Execute() is called, the transaction is stopped (like calling |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
65 |
* Stop() yourself). |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
66 |
* @note Execute() is always executed, no matter what mode you gave it in |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
67 |
* the outside world. It forces itself into executing it for real. To add |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
68 |
* it to an other list, use Append(). |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
69 |
*/ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
70 |
bool Execute(); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
71 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
72 |
/** |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
73 |
* Stop recording the commands and switch to the last mode, like the |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
74 |
* instance was destroyed. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
75 |
*/ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
76 |
void Stop(); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
77 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
78 |
/** |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
79 |
* Rollbacks rolls the whole transaction back in case Execute() returned |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
80 |
* false. In case Execute() returned true, there won't be anything to roll |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
81 |
* back, so this command will do nothing. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
82 |
* It rolls back all commands by looking up the reverse of every command |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
83 |
* issued and executes that. Of course it can happen that even that fails. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
84 |
* In that case the problem will be silently ignored. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
85 |
* @note as you might want to get a costs estimate about the rollback first |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
86 |
* you need to make sure you set the right mode yourself! |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
87 |
* @note this command isn't finished yet!! |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
88 |
*/ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
89 |
void Rollback(); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
90 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
91 |
/** |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
92 |
* Get the costs it takes to execute this transaction (on average, real |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
93 |
* numbers can always differ). |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
94 |
*/ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
95 |
int32 GetCosts(); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
96 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
97 |
/** |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
98 |
* Append one transaction list to an other. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
99 |
* @param transaction the list that will be appended after the instance you call append on. |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
100 |
*/ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
101 |
void Append(AITransactionMode *transaction); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
102 |
}; |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
103 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
104 |
#ifdef DEFINE_SQUIRREL_CLASS |
9498
046d9add6202
(svn r9370) [NoAI] -Add: added a template to allow instances as param via SQ
truelight
parents:
9486
diff
changeset
|
105 |
/* Custom template to allow AITransactionMode-instance as param */ |
9510
261d33fbabb8
(svn r9406) [NoAI] -Fix: made the detection of 'void' against 'non-void' functions for the class->SQ convertor via templates (as MSVC failed to understand the other method) (KUDr)
truelight
parents:
9498
diff
changeset
|
106 |
namespace SQConvert { |
261d33fbabb8
(svn r9406) [NoAI] -Fix: made the detection of 'void' against 'non-void' functions for the class->SQ convertor via templates (as MSVC failed to understand the other method) (KUDr)
truelight
parents:
9498
diff
changeset
|
107 |
template <> AITransactionMode *GetParam(ForceType<AITransactionMode *>, HSQUIRRELVM vm, int index) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (AITransactionMode *)instance; } |
261d33fbabb8
(svn r9406) [NoAI] -Fix: made the detection of 'void' against 'non-void' functions for the class->SQ convertor via templates (as MSVC failed to understand the other method) (KUDr)
truelight
parents:
9498
diff
changeset
|
108 |
}; // namespace SQConvert |
9498
046d9add6202
(svn r9370) [NoAI] -Add: added a template to allow instances as param via SQ
truelight
parents:
9486
diff
changeset
|
109 |
|
9474
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
110 |
void SQAITransactionModeRegister(Squirrel *engine) { |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
111 |
DefSQClass <AITransactionMode> SQAITransactionMode("AITransactionMode"); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
112 |
SQAITransactionMode.PreRegister(engine); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
113 |
SQAITransactionMode.AddConstructor(engine); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
114 |
SQAITransactionMode.DefSQFunction(engine, &AITransactionMode::Execute, "Execute"); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
115 |
SQAITransactionMode.DefSQFunction(engine, &AITransactionMode::Stop, "Stop"); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
116 |
SQAITransactionMode.DefSQFunction(engine, &AITransactionMode::Rollback, "Rollback"); |
9498
046d9add6202
(svn r9370) [NoAI] -Add: added a template to allow instances as param via SQ
truelight
parents:
9486
diff
changeset
|
117 |
SQAITransactionMode.DefSQFunction(engine, &AITransactionMode::Append, "Append"); |
9474
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
118 |
SQAITransactionMode.PostRegister(engine); |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
119 |
} |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
120 |
#endif /* SQUIRREL_CLASS */ |
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
121 |
|
2b53e154a8d5
(svn r9319) [NoAI] -Add: added AITransactionMode, which allows you to record commands and execute it later on.
truelight
parents:
diff
changeset
|
122 |
#endif /* AI_TRANSACTIONMODE_HPP */ |