(svn r24290) -Add: [Script] ScriptEventExclusiveTransportRights.
This commit is contained in:
@@ -48,6 +48,7 @@ void SQAIEvent_Register(Squirrel *engine)
|
||||
SQAIEvent.DefSQConst(engine, ScriptEvent::ET_ADMIN_PORT, "ET_ADMIN_PORT");
|
||||
SQAIEvent.DefSQConst(engine, ScriptEvent::ET_WINDOW_WIDGET_CLICK, "ET_WINDOW_WIDGET_CLICK");
|
||||
SQAIEvent.DefSQConst(engine, ScriptEvent::ET_GOAL_QUESTION_ANSWER, "ET_GOAL_QUESTION_ANSWER");
|
||||
SQAIEvent.DefSQConst(engine, ScriptEvent::ET_EXCLUSIVE_TRANSPORT_RIGHTS, "ET_EXCLUSIVE_TRANSPORT_RIGHTS");
|
||||
|
||||
SQAIEvent.DefSQMethod(engine, &ScriptEvent::GetEventType, "GetEventType", 1, "x");
|
||||
|
||||
|
@@ -377,3 +377,17 @@ void SQAIEventCompanyTown_Register(Squirrel *engine)
|
||||
|
||||
SQAIEventCompanyTown.PostRegister(engine);
|
||||
}
|
||||
|
||||
|
||||
template <> const char *GetClassName<ScriptEventExclusiveTransportRights, ST_AI>() { return "AIEventExclusiveTransportRights"; }
|
||||
|
||||
void SQAIEventExclusiveTransportRights_Register(Squirrel *engine)
|
||||
{
|
||||
DefSQClass<ScriptEventExclusiveTransportRights, ST_AI> SQAIEventExclusiveTransportRights("AIEventExclusiveTransportRights");
|
||||
SQAIEventExclusiveTransportRights.PreRegister(engine, "AIEventCompanyTown");
|
||||
SQAIEventExclusiveTransportRights.AddConstructor<void (ScriptEventExclusiveTransportRights::*)(ScriptCompany::CompanyID company, TownID town), 3>(engine, "xii");
|
||||
|
||||
SQAIEventExclusiveTransportRights.DefSQStaticMethod(engine, &ScriptEventExclusiveTransportRights::Convert, "Convert", 2, ".x");
|
||||
|
||||
SQAIEventExclusiveTransportRights.PostRegister(engine);
|
||||
}
|
||||
|
@@ -20,6 +20,7 @@
|
||||
* 1.3.0 is not yet released. The following changes are not set in stone yet.
|
||||
*
|
||||
* API additions:
|
||||
* \li AIEventExclusiveTransportRights
|
||||
* \li AIStation::IsAirportClosed
|
||||
* \li AIStation::OpenCloseAirport
|
||||
*
|
||||
|
@@ -48,6 +48,7 @@ void SQGSEvent_Register(Squirrel *engine)
|
||||
SQGSEvent.DefSQConst(engine, ScriptEvent::ET_ADMIN_PORT, "ET_ADMIN_PORT");
|
||||
SQGSEvent.DefSQConst(engine, ScriptEvent::ET_WINDOW_WIDGET_CLICK, "ET_WINDOW_WIDGET_CLICK");
|
||||
SQGSEvent.DefSQConst(engine, ScriptEvent::ET_GOAL_QUESTION_ANSWER, "ET_GOAL_QUESTION_ANSWER");
|
||||
SQGSEvent.DefSQConst(engine, ScriptEvent::ET_EXCLUSIVE_TRANSPORT_RIGHTS, "ET_EXCLUSIVE_TRANSPORT_RIGHTS");
|
||||
|
||||
SQGSEvent.DefSQMethod(engine, &ScriptEvent::GetEventType, "GetEventType", 1, "x");
|
||||
|
||||
|
@@ -282,3 +282,17 @@ void SQGSEventCompanyTown_Register(Squirrel *engine)
|
||||
|
||||
SQGSEventCompanyTown.PostRegister(engine);
|
||||
}
|
||||
|
||||
|
||||
template <> const char *GetClassName<ScriptEventExclusiveTransportRights, ST_GS>() { return "GSEventExclusiveTransportRights"; }
|
||||
|
||||
void SQGSEventExclusiveTransportRights_Register(Squirrel *engine)
|
||||
{
|
||||
DefSQClass<ScriptEventExclusiveTransportRights, ST_GS> SQGSEventExclusiveTransportRights("GSEventExclusiveTransportRights");
|
||||
SQGSEventExclusiveTransportRights.PreRegister(engine, "GSEventCompanyTown");
|
||||
SQGSEventExclusiveTransportRights.AddConstructor<void (ScriptEventExclusiveTransportRights::*)(ScriptCompany::CompanyID company, TownID town), 3>(engine, "xii");
|
||||
|
||||
SQGSEventExclusiveTransportRights.DefSQStaticMethod(engine, &ScriptEventExclusiveTransportRights::Convert, "Convert", 2, ".x");
|
||||
|
||||
SQGSEventExclusiveTransportRights.PostRegister(engine);
|
||||
}
|
||||
|
@@ -20,6 +20,7 @@
|
||||
* 1.3.0 is not yet released. The following changes are not set in stone yet.
|
||||
*
|
||||
* API additions:
|
||||
* \li GSEventExclusiveTransportRights
|
||||
* \li GSNews::NT_ACCIDENT, GSNews::NT_COMPANY_INFO, GSNews::NT_ADVICE, GSNews::NT_ACCEPTANCE
|
||||
* \li GSStation::IsAirportClosed
|
||||
* \li GSStation::OpenCloseAirport
|
||||
|
@@ -53,6 +53,7 @@ public:
|
||||
ET_ADMIN_PORT,
|
||||
ET_WINDOW_WIDGET_CLICK,
|
||||
ET_GOAL_QUESTION_ANSWER,
|
||||
ET_EXCLUSIVE_TRANSPORT_RIGHTS,
|
||||
};
|
||||
|
||||
/**
|
||||
|
@@ -1021,6 +1021,28 @@ private:
|
||||
TownID town; ///< The town involved into the event.
|
||||
};
|
||||
|
||||
/**
|
||||
* Event Exclusive Transport Rights, indicating that company bought
|
||||
* exclusive transport rights in a town.
|
||||
* @api ai game
|
||||
*/
|
||||
class ScriptEventExclusiveTransportRights : public ScriptEventCompanyTown {
|
||||
public:
|
||||
/**
|
||||
* @param company The company.
|
||||
* @param town The town.
|
||||
*/
|
||||
ScriptEventExclusiveTransportRights(ScriptCompany::CompanyID company, TownID town) :
|
||||
ScriptEventCompanyTown(ET_EXCLUSIVE_TRANSPORT_RIGHTS, company, town)
|
||||
{}
|
||||
|
||||
/**
|
||||
* Convert an ScriptEvent to the real instance.
|
||||
* @param instance The instance to convert.
|
||||
* @return The converted instance.
|
||||
*/
|
||||
static ScriptEventExclusiveTransportRights *Convert(ScriptEventCompanyTown *instance) { return (ScriptEventExclusiveTransportRights *)instance; }
|
||||
};
|
||||
|
||||
|
||||
#endif /* SCRIPT_EVENT_TYPES_HPP */
|
||||
|
@@ -248,3 +248,12 @@ namespace SQConvert {
|
||||
template <> inline const ScriptEventCompanyTown &GetParam(ForceType<const ScriptEventCompanyTown &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptEventCompanyTown *)instance; }
|
||||
template <> inline int Return<ScriptEventCompanyTown *>(HSQUIRRELVM vm, ScriptEventCompanyTown *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "EventCompanyTown", res, NULL, DefSQDestructorCallback<ScriptEventCompanyTown>, true); return 1; }
|
||||
} // namespace SQConvert
|
||||
|
||||
namespace SQConvert {
|
||||
/* Allow ScriptEventExclusiveTransportRights to be used as Squirrel parameter */
|
||||
template <> inline ScriptEventExclusiveTransportRights *GetParam(ForceType<ScriptEventExclusiveTransportRights *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptEventExclusiveTransportRights *)instance; }
|
||||
template <> inline ScriptEventExclusiveTransportRights &GetParam(ForceType<ScriptEventExclusiveTransportRights &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptEventExclusiveTransportRights *)instance; }
|
||||
template <> inline const ScriptEventExclusiveTransportRights *GetParam(ForceType<const ScriptEventExclusiveTransportRights *>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return (ScriptEventExclusiveTransportRights *)instance; }
|
||||
template <> inline const ScriptEventExclusiveTransportRights &GetParam(ForceType<const ScriptEventExclusiveTransportRights &>, HSQUIRRELVM vm, int index, SQAutoFreePointers *ptr) { SQUserPointer instance; sq_getinstanceup(vm, index, &instance, 0); return *(ScriptEventExclusiveTransportRights *)instance; }
|
||||
template <> inline int Return<ScriptEventExclusiveTransportRights *>(HSQUIRRELVM vm, ScriptEventExclusiveTransportRights *res) { if (res == NULL) { sq_pushnull(vm); return 1; } res->AddRef(); Squirrel::CreateClassInstanceVM(vm, "EventExclusiveTransportRights", res, NULL, DefSQDestructorCallback<ScriptEventExclusiveTransportRights>, true); return 1; }
|
||||
} // namespace SQConvert
|
||||
|
Reference in New Issue
Block a user