Обёртка игрового объекта для подстановки в ValuedText. Специальный вариант userdata. Имеет несколько методов.
Для получения экземпляра ValuedObject нужно пользоваться специальной функцией GetXXXValuedObject( object ).
ValuedObject возвращает текст и изображение, которыми обёртываемый объект может быть представлент в виджете. Так как типов объектов много, то ValuedObject содержит информацию о типе объекта и идентификатор объекта. Типы идентификаторов могут быть разными для различных типов объектов.
Тип объекта - enum типа - тип / значение идентификатора obj:GetType() obj:GetId() -------------------------------------------------------------------------------------------------- Неизветен (тестовый) VAL_OBJ_TYPE_UNKNOWN -- Предмет VAL_OBJ_TYPE_ITEM ObjectId / идентификатор предмета Заклинание VAL_OBJ_TYPE_SPELL SpellId / идентификатор ресурса заклинания Умение VAL_OBJ_TYPE_ABILITY AbilityId / идентификатор ресурса умения Существо VAL_OBJ_TYPE_CREATURE WString / имя существа Игрок VAL_OBJ_TYPE_PLAYER WString / имя игрока Маунт VAL_OBJ_TYPE_MOUNT ObjectId / идентификатор маунта
Чтобы клик проходил только в объекты, а не целиком контролы, используется флаг pickObjectsOnly, определенный для TextView и TextContainer. Также надо использовать флаг pickChildrenOnly, чтобы сообщения не блокировались другими контролами и служебными элементами.