24#include "OgreAxisAlignedBox.h"
49 if (area_min.y == 0 && area_max.y == 0)
51 area_min.y = -999999.0;
52 area_max.y = 999999.0;
54 area_box =
new Ogre::AxisAlignedBox(area_min, area_max);
88 if (type ==
"ElevatorCar")
90 else if (type ==
"Floor")
92 else if (type ==
"Shaft Level")
94 else if (type ==
"Stairwell Level")
96 else if (type ==
"SBS")
141 if (check_state ==
false)
163 if (check_state ==
false)
203 std::vector<Action*> actionlist;
207 if (actionlist.empty() ==
false)
210 return actionlist[0]->GetCommandName();
253 for (
size_t i = 0; i < actionlist.size(); i++)
255 bool result2 =
false;
259 result2 = actionlist[i]->DoAction(
this, hold);
277 bool changed =
false;
351 if (relative ==
false)
357 return Ogre::AxisAlignedBox(min, max);
369 if ((v1.x < min.x && v2.x < min.x) ||
370 (v1.y < min.y && v2.y < min.y) ||
371 (v1.z < min.z && v2.z < min.z) ||
372 (v1.x > max.x && v2.x > max.x) ||
373 (v1.y > max.y && v2.y > max.y) ||
374 (v1.z > max.z && v2.z > max.z))
Vector3 GetPosition(bool relative=false)
const std::string & GetName()
virtual bool ReportError(const std::string &message)
virtual void Report(const std::string &message)
virtual Vector3 GetPosition(bool relative=false)
void SetValues(const std::string &type, const std::string &name, bool is_permanent, bool is_movable=true)
void EnableLoop(bool value)
const std::string & GetType()
void RemoveTrigger(Trigger *trigger)
std::vector< Action * > GetAction(std::string name)
bool Load(const std::string &filename, bool force=false)
bool Play(bool reset=true)
void SetLoopState(bool value)
Trigger(Object *parent, const std::string &name, bool permanent, const std::string &sound_file, Vector3 area_min, Vector3 area_max, const std::vector< std::string > &action_names)
Ogre::AxisAlignedBox GetBounds(bool relative=false)
std::string GetPositionAction(int position)
bool ChangeSelectPosition(int position)
std::string GetSelectPositionAction()
int FindActionPosition(const std::string &name)
int GetNextSelectPosition()
bool NextSelectPosition(bool check_state=true)
bool IsOutside(Vector3 v1, Vector3 v2)
std::vector< std::string > Actions
bool PreviousSelectPosition(bool check_state=true)
int GetPreviousSelectPosition()
Ogre::AxisAlignedBox * area_box
bool SetSelectPosition(int position)
bool IsNumeric(char character)
#define SBS_PROFILE(name)