Универсальный редактор для нескольких проектов

Содержание

Слайд 2

Универсальный редактор для нескольких проектов

Мельников Михаил

Бинарные данные:
Картинки
Модели
Анимации
Звуки
Музыка
Ролики
Другие данные

Универсальный редактор для нескольких проектов Мельников Михаил Бинарные данные: Картинки Модели Анимации

Слайд 3

Универсальный редактор для нескольких проектов

Мельников Михаил

Табличные данные:
RPG система
Всевозможные настройки вынесенные программистами из

Универсальный редактор для нескольких проектов Мельников Михаил Табличные данные: RPG система Всевозможные
кода
Игровые локации (карты)
Скрипты
Обвязки вокруг бинарных данных
Данные для ELK (тексты и комментарии к ним)
Другие данные

Слайд 4

Универсальный редактор для нескольких проектов

Универсальный редактор для нескольких проектов

Мельников Михаил

Дуализм хранения данных

Универсальный редактор для нескольких проектов Универсальный редактор для нескольких проектов Мельников Михаил
на этапе разработки:

Слайд 5

Универсальный редактор для нескольких проектов

Мельников Михаил

Требования к механизму работы с табличными данными:
Целостность

Универсальный редактор для нескольких проектов Мельников Михаил Требования к механизму работы с
данных на всем этапе разработки
Возможность работать с данными вручную
Массовая обработка данных
Быстрота работы с данными
Независимость от конкретных типов данных

Слайд 6

Универсальный редактор для нескольких проектов

Мельников Михаил

Пример структуры данных из кода игры “Блицкриг”
struct

Универсальный редактор для нескольких проектов Мельников Михаил Пример структуры данных из кода
SRMPatch
{
int nSize;
string szName;
//constructors
SRMPatch() {}
// serializing...
virtual int operator&( IStructureSaver &ss )
{
saver.Add( 1, &nSize );
saver.Add( 2, &szName );
}
virtual int operator&( IDataTree &ss )
{
saver.Add( “Size”, &nSize );
saver.Add( “Name”, &szName );
}
};

Слайд 7

Универсальный редактор для нескольких проектов

Мельников Михаил

Схема создания типов данных в игре “Блицкриг

Универсальный редактор для нескольких проектов Мельников Михаил Схема создания типов данных в игре “Блицкриг II”
II”

Слайд 8

Универсальный редактор для нескольких проектов

Мельников Михаил

Интерфейс IManipulator
interface IManipulator : public CObjectBase
{
virtual

Универсальный редактор для нескольких проектов Мельников Михаил Интерфейс IManipulator interface IManipulator :
IManipulatorIterator* Iterate( bool bShowHidden, ECacheType eCache ) = 0;
virtual const SIteratorDesc* GetDesc( const string &rszName ) const = 0;
virtual bool GetType( const string &rszName, string *pszType ) const = 0;
virtual bool GetName( UINT nID, string *pszName ) const = 0;
virtual bool InsertNode( const string &rszName, int nNodeIndex = ADD ) = 0;
virtual bool RemoveNode( const string &rszName, int nNodeIndex = REMOVE_ALL ) = 0;
virtual bool GetValue( const string &rszName, CVariant *pValue ) const = 0;
virtual bool SetValue( const string &rszName, const CVariant &rValue ) = 0;
virtual bool CheckValue( const string &rszName, const CVariant &rValue, bool *pRes ) = 0;
virtual bool IsNameExists( const string &rszName ) const = 0;
};

Слайд 9

Универсальный редактор для нескольких проектов

Мельников Михаил

Броузер данных и универсальный Property Control

Универсальный редактор для нескольких проектов Мельников Михаил Броузер данных и универсальный Property Control

Слайд 10

Универсальный редактор для нескольких проектов

Мельников Михаил

Схема работы с данными в редакторе (MCV)

Универсальный редактор для нескольких проектов Мельников Михаил Схема работы с данными в редакторе (MCV)

Слайд 11

Универсальный редактор для нескольких проектов

Мельников Михаил

Схема вызова экпортеров в редактрое

Универсальный редактор для нескольких проектов Мельников Михаил Схема вызова экпортеров в редактрое

Слайд 12

Универсальный редактор для нескольких проектов

Мельников Михаил

Создание, удаление и копирование объектов

Универсальный редактор для нескольких проектов Мельников Михаил Создание, удаление и копирование объектов

Слайд 13

Универсальный редактор для нескольких проектов

Мельников Михаил

Схема вызова редакторов и обработки сообщений

Универсальный редактор для нескольких проектов Мельников Михаил Схема вызова редакторов и обработки сообщений

Слайд 14

Универсальный редактор для нескольких проектов

Мельников Михаил

Интерфейс IInputState
interface IInputState
{
virtual void Enter()

Универсальный редактор для нескольких проектов Мельников Михаил Интерфейс IInputState interface IInputState {
= 0;
virtual void Leave() = 0;
virtual void Draw( class CPaintDC *pDC ) = 0;
virtual void OnSetFocus( class CWnd* pNewWnd ) = 0;
virtual void OnKillFocus( class CWnd* pOldWnd ) = 0;
virtual void OnMouseMove( UINT nFlags, const CTPoint &rMousePoint ) = 0;
virtual bool OnMouseWheel( UINT nFlags, short zDelta, CTPoint &rMousePoint ) = 0;
virtual void OnLButtonDown( UINT nFlags, const CTPoint &rMousePoint ) = 0;
virtual void OnLButtonUp( UINT nFlags, const CTPoint &rMousePoint ) = 0;
virtual void OnLButtonDblClk( UINT nFlags, const CTPoint &rMousePoint ) = 0;

};

Слайд 15

Универсальный редактор для нескольких проектов

Мельников Михаил

Общая часть редактора:
Система обработки XSD, генерация исходников,

Универсальный редактор для нескольких проектов Мельников Михаил Общая часть редактора: Система обработки
система считывания бинарных данных, система трансляции данных из внешнего формата во внутренний формат, представление данных в виде IManipulator
Общий Frame редактора с несколькими заготовленными окнами визуального редактирования транслирующие сообщения от дизайнера в интерфейс IInputState
Возможности по созданию дополнительных окон, меню, панелей инструментов Легкая работа со строкой статуса
Броузер общего списка объектов редактирования, система навигации по списку
Универсальный Property Control позволяющий редактировать любые данные представленные интерфейсом IManipulator
Механизм иерархического запуска экспортеров
Механизм вызова дополнительной функциональности при создании объектов, их копировании и удалении
Механизм запуска редакторов IEditor

Слайд 16

Универсальный редактор для нескольких проектов

Мельников Михаил

Внешние части редактора:
Набор XSD файлов
Экспортеры. IExporter
Билдеры. IBuilder
Редакторы.

Универсальный редактор для нескольких проектов Мельников Михаил Внешние части редактора: Набор XSD
IEditor + IInputState
Имя файла: Универсальный-редактор-для-нескольких-проектов.pptx
Количество просмотров: 120
Количество скачиваний: 0