вернуться на beanet.ru вернуться к списку проектов вернуться на главную страницу сборника

Тема: Описания классов копилка


Ключевые слова:

См. также:
Список используемых понятий, сокращений и обозначений

перейти к общему списку

Здесь представлены списки классов с описаниями, некоторые рекомендации по использованию.

Примечание: это пополняемая "копилка" сведений (не является законченной статьей).

Примечание: описания классов взяты из программного кода, а также с некоторых ресурсов (ссылки на которые присутствуют на заглавной странице).


Содержание



Классы энтити


CBaseAnimating
база любой энтити, которая использует модель (*.mdl) в игре. Добавляет возможность анимации и другие полезные функции.

CBaseCombatCharacter
наследуется классами игрока и NPC.

CBaseEntity
по определению - база, основа для любого другого класса, описывающего энтити. Несмотря на это, предпочтительнее за базовый взять какой-нибудь более функциональный, "продвинутый" класс - большинство поведений энтити будет уже задано, и не придется "изобретать велосипед".
Обычно этот класс используют, чтобы создать статическую энтити, которая не использует модели (т.е. не отображается в игре). Например, класс подходит для энтити, порождающей другие энтити (подобно npc_maker).

Находится в файле game\server\baseentity.h

CBasePlayer
представляет игрока (человека). Любой класс игрока обязательно является данным классом либо наследует его.

CBaseTrigger
триггеры (энтити, создаваемые из обычных брашей).

CGameRules
задаёт абстрактные правила для текущей игры (преимущественно игрового процесса) и обрабатывает все события, для которых не предусмотрена персональная обработка объектами-игроками, NPC, игровым миром и прочими неабстрактными энтити.
Большинство функций представлены в общем программном коде, что позволяет прогнозировать поведение на стороне клиента.
Отвечает за: уровни сложности, одно-/многопользовательский тип игры; подключение/отключение, получение урона, убийства и счёт на стороне клиента; управление появлением/возрождением, урон оружия, получение оружия/боеприпасов/предметов (аптечек и пр.), управление появлением оружия/предметов, определения ИИ, появление устройств для восстановления здоровья, действия с оружием/патронами погибших игроков, правила командной игры, звуки шагов, NPC, трассировку, префиксы командного чата, достижения и др. (см. в файле gamerules.h, со строки 179).

Находится в файле game\shared\gamerules.h

Ссылки (eng): GameRules - есть описание функций



Классы интерфейсов


IAI_MovementSink
набор функций обратного вызова, используемых низкоуровневыми классами обработки движения для оповещения и получения управления от высокоуровневых классов.
Движок: серверная часть

Находится в файле dlls\ai_movetypes.h

IAppSystem
объединяет клиентские системы - обособленные объекты клиентской части кода, выполняющие разные задачи. Порядок, в котором эти системы представлены в списке (в файле iappsystem.h), задает порядок их инициализации и обновления. Высвобождаются (удаляются) они в обратном порядке.
Движок: клиентская, серверная части

Находится в файле public\appframework\iappsystem.h

IBaseCacheInfo
все кэшируемые типы должны наследовать данный абстрактный класс и реализовывать соответствующие методы.
Движок: серверная часть

Находится в файле: public\utlcachedfiledata.h

IBaseClientDLL
интерфейс обратного представления client.dll для движка.
Экземпляр класса: client.dll

IBaseFileSystem
минимальный интерфейс, который обеспечивает доступ к именованному множеству файлов (т.е. обеспечивает чтение и запись файлов).
Движок: клиентская, серверная части

Находится в файле public\filesystem.h

IBaseInterface
от данного класса наследуются все остальные интерфейсы.
Движок: клиентская, серверная части

Находится в файле public\tier1\interface.h





Статьи (рус):
Статьи (eng):

перейти к общему списку

Номер статьи: 25

Сборник полезной информации по созданию модификаций на движке Valve Source Engine (игры Half-Life 2, Episode One, Episode Two)