12#ifndef SCRIPTS_INCLUDE__ENGINE_SCRIPT_H
13#define SCRIPTS_INCLUDE__ENGINE_SCRIPT_H
15#include "engine_string.h"
18SCRIPTS_API
void Remove_Script(GameObject *obj,
const char *script);
19SCRIPTS_API
void Remove_All_Scripts(GameObject *obj);
20SCRIPTS_API
void Attach_Script_Preset(
const char *script,
const char *params,
const char *preset,
int team);
21SCRIPTS_API
void Attach_Script_Type(
const char *script,
const char *params,
unsigned long type,
int team);
22SCRIPTS_API
void Remove_Script_Preset(
const char *script,
const char *preset,
int team);
23SCRIPTS_API
void Remove_Script_Type(
const char *script,
unsigned long type,
int team);
24SCRIPTS_API
bool Is_Script_Attached(GameObject *obj,
const char *script);
25SCRIPTS_API
void Attach_Script_Once(GameObject *obj,
const char *script,
const char *params);
26SCRIPTS_API
void Attach_Script_Preset_Once(
const char *script,
const char *params,
const char *preset,
int team);
27SCRIPTS_API
void Attach_Script_Type_Once(
const char *script,
const char *params,
unsigned long type,
int team);
28SCRIPTS_API
void Attach_Script_Building(
const char *script,
const char *params,
int team);
29SCRIPTS_API
void Attach_Script_Is_Preset(GameObject *obj,
const char *preset,
const char *script,
const char *params,
int team);
30SCRIPTS_API
void Attach_Script_Is_Type(GameObject *obj,
unsigned long type,
const char *script,
const char *params,
int team);
31SCRIPTS_API
void Attach_Script_Player_Once(
const char *script,
const char *params,
int team);
32SCRIPTS_API
void Remove_Duplicate_Script(GameObject *obj,
const char *script);
33SCRIPTS_API
void Attach_Script_All_Buildings_Team(
int Team,
const char *Script,
const char *Params,
bool Once);
34SCRIPTS_API
void Attach_Script_All_Turrets_Team(
int Team,
const char *Script,
const char *Params,
bool Once);
35SCRIPTS_API GameObject *Find_Building_With_Script(
int Team,
int Type,
const char *Script,GameObject *Caller);
36SCRIPTS_API GameObject *Find_Object_With_Script(
const char *script);
37SCRIPTS_API GameObject *Find_Closest_Object_With_Script(
const char *script, Vector3 pos);
38SCRIPTS_API
void Find_All_Objects_With_Script(
const char *script, SList<GameObject>& objects);
55SCRIPTS_API
void Find_All_Objects_With_Script_By_Distance(
const char *script, SList<GameObject>& objects, Vector3 position);
56SCRIPTS_API
void Find_All_Vehicles_By_Distance(SList<GameObject>& objects, Vector3 position);
58SCRIPTS_API
void Send_Custom_Event_To_Objects_With_Script( GameObject *sender,
const char *script,
int message,
int param,
float delay );
59SCRIPTS_API
void Send_Custom_Event_To_Objects_With_Script_Ranged( GameObject *sender,
const char *script,
int message,
int param,
float delay,
float range );
60SCRIPTS_API ScriptImpClass* Find_Script_On_Object(GameObject* obj,
const char *script);
61SCRIPTS_API
void Attach_Script_Occupants(GameObject *obj,
const char *script,
const char *params);
79SCRIPTS_API
void Attach_Script_V ( GameObject* pObj,
const char* script,
const char* params, ... );
98SCRIPTS_API
void Attach_Script_V ( GameObject* pObj,
const char* script,
const char* params, va_list vargs );
116SCRIPTS_API
void Attach_Script_Once_V ( GameObject* pObj,
const char* script,
const char* params, ... );
118class ScriptParameter :
public NoEqualsClass<ScriptParameter>
138 PARAM_TYPE_EXPLOSION,
139 PARAM_TYPE_ANIMATION,
147const char *
const PARAM_TYPE_STRINGS[PARAM_TYPE_COUNT] =
167SCRIPTS_API
void Get_Script_Parameters(
const char *script, DynamicVectorClass<ScriptParameter> ¶meters);