Пример #1
0
void Viewer::gotoLocation(glm::vec3 position, glm::vec3 direction){
	_position = position;
	_direction = glm::normalize(direction);
	
	glm::vec3 origin_direction(0,0,1);

	double y = (_direction.x * origin_direction.z) - (origin_direction.x * _direction.z);
	double x = (_direction.x * origin_direction.x) + (_direction.z * origin_direction.z);

	_current_angle = atan2(y,x);
}
Пример #2
0
void perform(object LIB_CREATURE actor)
{
    object LIB_ROOM room, destination;

    room = environment(actor);
    if (!room) {
        tell_object(actor, "You are in the void.");
        return;
    }
    
    destination = room->query_exit(direction_);
    if (!destination) {
        tell_object(actor, "You cannot look there.");
        return;
    }

    tell_object(actor, verbose_description(destination, actor));
    tell_inventory(destination, indefinite_description(actor)
                   + " looks in from " + origin_direction(direction_));
}