GZone/ru

From GZProject Wiki

(Redirected from GZone)
Jump to: navigation, search

Contents

GZone

Основной проект, который объединяет всебе большинство технологий. Основной модуль с которым взаимодействует проект ClientAddin. Проект имеет в подчиненни два проекта, с которыми идет взаимодействие.

Source Code

svndir:trunk/GZ/GZone

Documentation

  • GZone-Threads GZone - многопоточное приложение, в статье рассматриваются все виды потоков и их назначение.
  • GZone-Release Описание процедуры создания нового релиза.
  • GZone-Multigame Базовые принципы построения систем управляющих несколькими процессами, продолжение документа GZone-ActionPlan описание управления несколькими игровыми клиентами для решения одной задачи.
  • GZone-JavaModules-Debug Подключение и отладка модулей написанных на языке Java (java.sun.com) к проекту. Используется среда разработки Eclipse.
  • GZone-Interrupts Решение задачи блокировок и режим отмены ожидания событий и команд потока.
  • GZone-InterProc Межпроцессорное взаимодействие Interprocess Communications (IPC). Рассматриваются потоки данных которые используются в приложении. Транспортный уровень и синхронизация передачи данных.
  • GZone-Integrated Описывается универсальный подход для подключения любой игры к данному проекту. Описание должно состоять из общих принципов которые нужно соблюдать и описание базовых модулей. Документ на стадии разработки.
  • GZone-Goals Основные задачи которые ставились до начала проектирования.
  • GZone-GetResources Условные схемы по добычи ресурсов, дополнение к файлу GZone-ActionPlan
  • GZone-Architecture Подробное описание структуры проекта. Документация должна включать больше разделов некоторые их которых рассмотрены только в виде отдельных тем. Такие как например: GZone-Threads
  • GZone-App Краткое описание структуры предложения и модулей.
  • GZone-ActionPlan Черновик по алгоритму управления персонажем. Описаны моменты которые еще не реализованы проектом, текст документа содержит много условных структур на логическом языке.

Структура

Проектное взаимодействие

library

Первый проект library необходим для подключения базового функционала. Данные передаваемые между проектами описаны в интерфейсами языка.

ClientAddin

Данные, которые передаются между этими модулями описаны в XML файле svnfile:trunk/GZ/interproc_clientaddin/xsd/InterprocClientAddin.xsd. По этому файлу сгенерирован проект svndir:trunk/GZ/interproc_clientaddin обеспечивающий работу с протоколом на языке С++. Для того, чтобы посмотреть детальное описание структуры проекта ClientAddin нужно пройти по ссылке.

Основные части

  • svndir:trunk/GZ/GZone/gzunit Модуль использующийся в разных проектах, для связи с игровым клиентом.

Поддержка Java

Поддержка явы внутри проекта реализована в файле svnfile:trunk/GZ/GZone/JavaExt/JavaCommanderIQ.cpp. Этот файл в свою очередь завязан на два модуля, для обеспечения полной функциональности.

Модули

svndir:trunk/GZ/GZone/modules

Схемы XML

Данные которые используються внутри проекта так же структурированы и передаются посредством XML.

Межпроцессорное взаимодействие

Производится межу GZone и ClientAddin. Реализация этого механизма находится в следующих файлах.