Serious Sam's Bogus Detour  2016/06/09
Engine documentation
Classes
Scene

Classes

class  UnitPtr
 References a unit in the scene. More...
 
class  UnitSource
 An emitting source of units. UnitFeed objects can get units from this. More...
 
class  UnitFeed
 A fetcher of units from various sources. Can be connected to units or UnitSource objects in the editor in order to reference units in worldscripts. More...
 
class  Scene
 The world scene. This contains all units. More...
 
class  UnitScene
 An animated scene of a unit. More...
 
class  UnitProducer
 A unit resource. This creates UnitPtr objects. More...
 
class  CustomUnitScene
 A custom unit scene that can contain multiple UnitScene objects. More...
 
class  UnitEventCallbackId
 
class  EffectParams
 Container for effect parameters. More...
 
class  RaycastResult
 Result of a raycast. More...
 
class  Tileset
 Information about a point in the tileset. More...
 

Detailed Description


Class Documentation

class UnitPtr

References a unit in the scene.

Public Member Functions

bool operator== (const UnitPtr &)
 
Callbacks
UnitEventCallbackId RegisterEventCallback (UnitEventType event, ref script, string func)
 
void UnregisterEventCallback (UnitEventCallbackId id)
 
bool HasCallbacks (UnitEventType event)
 
void TriggerCallbacks (UnitEventType event, SValue *args=null)
 
void TagAsDebris (uint8 importance)
 
bool IsLight ()
 
bool IsCollider ()
 
Position
vec3 GetPosition ()
 Get the current position of the unit for updating. More...
 
vec3 GetInterpolatedPosition (int32 idt)
 Get the current position of the unit for rendering. More...
 
void SetPosition (const vec3 &pos, bool smooth=false)
 
void SetPosition (float x, float y, float z, bool smooth=false)
 
void SetPositionZ (float z, bool smooth=false)
 
void SetLayer (int32 layer)
 
Physics
PhysicsBodyGetPhysicsBody ()
 
ref GetScriptBehavior ()
 
uint32 GetRoughPingDistance ()
 
void SetUpdateDistanceLimit (int32 dist)
 
Scenes
void SetUnitScene (string name, bool resetTime)
 
void SetUnitScene (UnitScene *scene, bool resetTime)
 
void SetUnitScene (CustomUnitScene *customScene, bool resetTime)
 
UnitSceneGetCurrentUnitScene ()
 
UnitSceneGetUnitScene (string name)
 
int32 GetUnitSceneTime ()
 
void SetUnitSceneTime (int32 time)
 
float GetUnitTimeScale ()
 
void SetUnitTimeScale (float scale)
 
vec2 FetchLocator (string name)
 
SValueFetchData (string name)
 
int32 GetId ()
 
bool IsValid ()
 
vec2 GetMoveDir ()
 
UnitProducer GetUnitProducer ()
 
string GetDebugName ()
 
uint32 GetSlot ()
 
void SetHidden (bool hidden)
 
bool IsHidden ()
 
void Destroy ()
 
bool IsDestroyed ()
 
Collision
void SetShouldCollide (bool collides)
 
bool ShouldCollide ()
 
void SetShouldCollideWithSame (bool collides)
 
bool ShouldCollideWithSame ()
 
void SetCollisionTeam (uint16 team)
 
uint16 GetCollisionTeam ()
 
EffectParamsCreateEffectParams (EffectParams *copy=null)
 

Member Function Documentation

EffectParams* UnitPtr::CreateEffectParams ( EffectParams copy = null)
void UnitPtr::Destroy ( )
SValue* UnitPtr::FetchData ( string  name)
vec2 UnitPtr::FetchLocator ( string  name)
uint16 UnitPtr::GetCollisionTeam ( )
UnitScene* UnitPtr::GetCurrentUnitScene ( )
string UnitPtr::GetDebugName ( )
int32 UnitPtr::GetId ( )
vec3 UnitPtr::GetInterpolatedPosition ( int32  idt)

Get the current position of the unit for rendering.

vec2 UnitPtr::GetMoveDir ( )
PhysicsBody* UnitPtr::GetPhysicsBody ( )
vec3 UnitPtr::GetPosition ( )

Get the current position of the unit for updating.

uint32 UnitPtr::GetRoughPingDistance ( )
ref UnitPtr::GetScriptBehavior ( )
uint32 UnitPtr::GetSlot ( )
UnitProducer UnitPtr::GetUnitProducer ( )
UnitScene* UnitPtr::GetUnitScene ( string  name)
int32 UnitPtr::GetUnitSceneTime ( )
float UnitPtr::GetUnitTimeScale ( )
bool UnitPtr::HasCallbacks ( UnitEventType  event)
bool UnitPtr::IsCollider ( )
bool UnitPtr::IsDestroyed ( )
bool UnitPtr::IsHidden ( )
bool UnitPtr::IsLight ( )
bool UnitPtr::IsValid ( )
bool UnitPtr::operator== ( const UnitPtr )
UnitEventCallbackId UnitPtr::RegisterEventCallback ( UnitEventType  event,
ref  script,
string  func 
)
void UnitPtr::SetCollisionTeam ( uint16  team)
void UnitPtr::SetHidden ( bool  hidden)
void UnitPtr::SetLayer ( int32  layer)
void UnitPtr::SetPosition ( const vec3 pos,
bool  smooth = false 
)
void UnitPtr::SetPosition ( float  x,
float  y,
float  z,
bool  smooth = false 
)
void UnitPtr::SetPositionZ ( float  z,
bool  smooth = false 
)
void UnitPtr::SetShouldCollide ( bool  collides)
void UnitPtr::SetShouldCollideWithSame ( bool  collides)
void UnitPtr::SetUnitScene ( string  name,
bool  resetTime 
)
void UnitPtr::SetUnitScene ( UnitScene scene,
bool  resetTime 
)
void UnitPtr::SetUnitScene ( CustomUnitScene customScene,
bool  resetTime 
)
void UnitPtr::SetUnitSceneTime ( int32  time)
void UnitPtr::SetUnitTimeScale ( float  scale)
void UnitPtr::SetUpdateDistanceLimit ( int32  dist)
bool UnitPtr::ShouldCollide ( )
bool UnitPtr::ShouldCollideWithSame ( )
void UnitPtr::TagAsDebris ( uint8  importance)
void UnitPtr::TriggerCallbacks ( UnitEventType  event,
SValue args = null 
)
void UnitPtr::UnregisterEventCallback ( UnitEventCallbackId  id)
class UnitSource

An emitting source of units. UnitFeed objects can get units from this.

Public Member Functions

void Add (UnitPtr unit)
 
void Remove (UnitPtr unit)
 
void Clear ()
 
void Replace (UnitPtr unit)
 

Member Function Documentation

void UnitSource::Add ( UnitPtr  unit)
void UnitSource::Clear ( )
void UnitSource::Remove ( UnitPtr  unit)
void UnitSource::Replace ( UnitPtr  unit)
class UnitFeed

A fetcher of units from various sources. Can be connected to units or UnitSource objects in the editor in order to reference units in worldscripts.

Public Member Functions

array< UnitPtr > * FetchAll ()
 
UnitPtr FetchFirst ()
 

Member Function Documentation

array<UnitPtr>* UnitFeed::FetchAll ( )
UnitPtr UnitFeed::FetchFirst ( )
class Scene

The world scene. This contains all units.

Public Member Functions

array< RaycastResult > * Raycast (const vec2 &from, const vec2 &to, uint32 slots, RaycastType type)
 
RaycastResult RaycastClosest (const vec2 &from, const vec2 &to, uint32 slots, RaycastType type)
 
bool RaycastQuick (const vec2 &from, const vec2 &to, uint32 slots, RaycastType type)
 
 operator RaycastProvider * ()
 
void EnableLagCompensation (bool enable)
 
RaycastProviderLagCompensation (int32 ms)
 
array< UnitPtr > * QueryRect (const vec2 &center, uint32 width, uint32 height, uint32 slots, RaycastType type, bool getSensors=false)
 
array< UnitPtr > * QueryCircle (const vec2 &center, uint32 radius, uint32 slots, RaycastType type, bool getSensors=false)
 
uint32 GetTime ()
 
UnitPtr GetUnit (int32 id)
 
void Ping (array< vec2 > *pos)
 
array< vec2 > * Pathfind (const vec2 &from, const vec2 &to, int32 diameter, float maxDistance=-1, float maxRange=-1)
 
void QueuePathfind (UnitPtr owner, const vec2 &from, const vec2 &to, int32 diameter, float maxDistance=-1, float maxRange=-1)
 
array< Tileset * > * FetchTilesets (const vec2 &pos)
 
array< UnitPtr > * FetchAllUnitsWithBehavior (string behavior, bool includeInherited=false)
 
array< UnitPtr > * FetchAllUnitsWithBehavior (string behavior, vec2 center, int32 radius, bool includeInherited=false)
 
array< UnitPtr > * FetchActorsWithOtherTeam (uint32 team, vec2 center, uint32 radius)
 
array< UnitPtr > * FetchActorsWithTeam (uint32 team, vec2 center, uint32 radius)
 
void QueueFetchActorsWithOtherTeam (UnitPtr owner, uint32 team, vec2 center, uint32 radius)
 
void QueueFetchActorsWithTeam (UnitPtr owner, uint32 team, vec2 center, uint32 radius)
 
array< UnitPtr > * FetchAllActorsWithOtherTeam (uint32 team)
 
array< UnitPtr > * FetchAllActorsWithTeam (uint32 team)
 
array< WorldScript * > * FetchAllWorldScripts (string type)
 
array< WorldScript * > * FetchAllWorldScriptsWithComment (string type, string comment)
 

Member Function Documentation

void Scene::EnableLagCompensation ( bool  enable)
array<UnitPtr>* Scene::FetchActorsWithOtherTeam ( uint32  team,
vec2  center,
uint32  radius 
)
array<UnitPtr>* Scene::FetchActorsWithTeam ( uint32  team,
vec2  center,
uint32  radius 
)
array<UnitPtr>* Scene::FetchAllActorsWithOtherTeam ( uint32  team)
array<UnitPtr>* Scene::FetchAllActorsWithTeam ( uint32  team)
array<UnitPtr>* Scene::FetchAllUnitsWithBehavior ( string  behavior,
bool  includeInherited = false 
)
array<UnitPtr>* Scene::FetchAllUnitsWithBehavior ( string  behavior,
vec2  center,
int32  radius,
bool  includeInherited = false 
)
array<WorldScript*>* Scene::FetchAllWorldScripts ( string  type)
array<WorldScript*>* Scene::FetchAllWorldScriptsWithComment ( string  type,
string  comment 
)
array<Tileset*>* Scene::FetchTilesets ( const vec2 pos)
uint32 Scene::GetTime ( )
UnitPtr Scene::GetUnit ( int32  id)
RaycastProvider* Scene::LagCompensation ( int32  ms)
Scene::operator RaycastProvider * ( )
array<vec2>* Scene::Pathfind ( const vec2 from,
const vec2 to,
int32  diameter,
float  maxDistance = -1,
float  maxRange = -1 
)
void Scene::Ping ( array< vec2 > *  pos)
array<UnitPtr>* Scene::QueryCircle ( const vec2 center,
uint32  radius,
uint32  slots,
RaycastType  type,
bool  getSensors = false 
)
array<UnitPtr>* Scene::QueryRect ( const vec2 center,
uint32  width,
uint32  height,
uint32  slots,
RaycastType  type,
bool  getSensors = false 
)
void Scene::QueueFetchActorsWithOtherTeam ( UnitPtr  owner,
uint32  team,
vec2  center,
uint32  radius 
)
void Scene::QueueFetchActorsWithTeam ( UnitPtr  owner,
uint32  team,
vec2  center,
uint32  radius 
)
void Scene::QueuePathfind ( UnitPtr  owner,
const vec2 from,
const vec2 to,
int32  diameter,
float  maxDistance = -1,
float  maxRange = -1 
)
array<RaycastResult>* Scene::Raycast ( const vec2 from,
const vec2 to,
uint32  slots,
RaycastType  type 
)
RaycastResult Scene::RaycastClosest ( const vec2 from,
const vec2 to,
uint32  slots,
RaycastType  type 
)
bool Scene::RaycastQuick ( const vec2 from,
const vec2 to,
uint32  slots,
RaycastType  type 
)
class UnitScene

An animated scene of a unit.

Public Member Functions

int32 Length ()
 
string GetName ()
 
SValueFetchData (string name)
 

Member Function Documentation

SValue* UnitScene::FetchData ( string  name)
string UnitScene::GetName ( )
int32 UnitScene::Length ( )
class UnitProducer

A unit resource. This creates UnitPtr objects.

Public Member Functions

UnitPtr Produce (Scene *scene, const vec3 &pos, int32 id=0, uint32 rnd=0)
 
string GetDebugName ()
 
uint32 GetResourceHash ()
 
UnitSceneGetUnitScene (string name)
 
array< string > * GetSceneSet (string name)
 
NetSyncMode GetNetSyncMode ()
 

Member Function Documentation

string UnitProducer::GetDebugName ( )
NetSyncMode UnitProducer::GetNetSyncMode ( )
uint32 UnitProducer::GetResourceHash ( )
array<string>* UnitProducer::GetSceneSet ( string  name)
UnitScene* UnitProducer::GetUnitScene ( string  name)
UnitPtr UnitProducer::Produce ( Scene scene,
const vec3 pos,
int32  id = 0,
uint32  rnd = 0 
)
class CustomUnitScene

A custom unit scene that can contain multiple UnitScene objects.

Public Member Functions

int32 Length ()
 
string GetName ()
 
void Clear ()
 
void AddScene (UnitScene *scene, int32 timeOffset, vec2 posOffset, int16 layerOffset, int16 uLayerOffset)
 

Member Function Documentation

void CustomUnitScene::AddScene ( UnitScene scene,
int32  timeOffset,
vec2  posOffset,
int16  layerOffset,
int16  uLayerOffset 
)
void CustomUnitScene::Clear ( )
string CustomUnitScene::GetName ( )
int32 CustomUnitScene::Length ( )
class UnitEventCallbackId
class EffectParams

Container for effect parameters.

Public Member Functions

void Set (string name, float value)
 

Member Function Documentation

void EffectParams::Set ( string  name,
float  value 
)
class RaycastResult

Result of a raycast.

Public Member Functions

UnitPtr FetchUnit (Scene &scene)
 

Public Attributes

vec2 point
 
vec2 normal
 
float fraction
 

Member Function Documentation

UnitPtr RaycastResult::FetchUnit ( Scene scene)

Member Data Documentation

float RaycastResult::fraction
vec2 RaycastResult::normal
vec2 RaycastResult::point
class Tileset

Information about a point in the tileset.

Public Member Functions

int16 GetLayer ()
 
int32 GetTileSize ()
 
Texture2DGetTexture ()
 
SValueGetData ()
 

Member Function Documentation

SValue* Tileset::GetData ( )
int16 Tileset::GetLayer ( )
Texture2D* Tileset::GetTexture ( )
int32 Tileset::GetTileSize ( )