WaterSimulationController::WaterSimulationController(void)
{
	
#if defined(_VISION_ANDROID) //free camera for android (joystick/finger camera)
	VisBaseEntity_cl* pCam = Vision::Game.CreateEntity("VFreeCamera", hkvVec3::ZeroVector());
	pCam->SetPosition(-290, -220, 680); //spawns with same coordinates as windows
	pCam->SetOrientation(20, 67, 19);

#endif
#if defined(WIN32)
	VisBaseEntity_cl *pCamera  = Vision::Game.SearchEntity("tankcamera");
	Vision::Camera.AttachToEntity(pCamera, hkvVec3::ZeroVector());

#endif	
	/*#if defined(_VISION_ANDROID)
	pMod = static_cast<vHavokPhysicsModule*>(vHavokPhysicsModule::GetInstance());
	pMotionInput = (VMotionInputAndroid*)(&VInputManager::GetInputDevice(INPUT_DEVICE_MOTION_SENSOR));
	pMotionInput->SetEnabled(true);
	#endif*/
}
Esempio n. 2
0
/// Creates an entity from a Lua script definition.
VisBaseEntity_cl* RPG_GameManager::CreateEntityFromScript(const VString& scriptName, const hkvVec3& position, const hkvVec3& orientation)
{
  VScriptResourceManager* scriptManager = static_cast<VScriptResourceManager*>(Vision::GetScriptManager());

  VScriptResource* scriptRes = scriptManager->LoadScriptFile(scriptName);
  IVScriptInstance* script = scriptRes->CreateScriptInstance();
  VASSERT(script);

  if(script)
  {
    // get the entity class type to create
    char* className = NULL;
    script->ExecuteFunctionArg("GetEntityClassType", "*>s", &className);

    // create the entity
    VisBaseEntity_cl* entity = Vision::Game.CreateEntity(className, position);
    VASSERT(entity);

    if(entity)
    {
      entity->SetOrientation(orientation);

      // attach the script
      scriptManager->SetScriptInstance(entity, script);

      if(entity->IsOfType(V_RUNTIME_CLASS(RPG_BaseEntity)))
      {
        RPG_BaseEntity* rpgEntity = static_cast<RPG_BaseEntity*>(entity);

#if (RPG_SERIALIZATION_SCRIPT_PROPERTIES)
        rpgEntity->InitializeProperties();
#endif
        rpgEntity->PostInitialize();
      }

      return entity;
    }
  }

  return NULL;
}