|
|
|
Server.gumps.gump, Пример, и описание класса... |
|
|
Barracoon |
15.7.2007, 23:50
|
Adept
Сообщений: 1.169
Регистрация: 21.1.2006 Группа: Пользователи Наличность: 0 Из: Vladivostok
Пользователь №: 4.839
|
Данный топик будет посвяшен работе с гампами в RunUO. Ибо задолбался обьяснять... А то что должно было быть учебником - лень заного переписывать (IMG: style_emoticons/default/sad.gif) Лучше наделать кучу маленьких руководств, чем в последствии отвечать на кучу глупых вопросов... Описание членов класса:Конструкторы: - Gump( int x, int y ) - поготавливает новый экземпляр класса.
Параметры int x, int y - координаты относительно игрового окна("x" - по вертикали, ну и "y" - соответсвенно по горизонтали). По этим координатам Гамп появится при создани. Своиства: - bool Closable( get; set; ) - определяет возможность закрывать гамп при клике правой кнопкой мыши.
- bool Disposable( get; set; ) - определяет возможность закрывать гамп нажимая Escape.
- bool Dragable( get; set; ) - определяет возможность перемешать гамп по экрану.
- bool Resizable( get; set; ) - определяет возможность изменять размеры гампа.
- int X( get; set; ) и int Y( get; set; ) - определяют координаты гампа по вертикали и горизонтали.
- List<GumpEntry> Entries( get; ) - возврашает список элементов гампа
- int Serial( get; set; ) - определяет уникальный идентификатор Гампа.
- int TypeID( get; ) - возврашает тип текушего класа.
Методы: - void AddAlphaRegion( int x, int y, int ширина, int высота ) - добавляет прозрачный регион(работает только в клиентах третьей линейки серии, и выше)
- void AddBackground( int x, int y, int width, int height, int gumpID ) - добавляет фон.Фон сосоит из 9 картинок
- void AddButton( int x, int y, int normalID, int pressedID, int buttonID, GumpButtonType тип, int параметр) - добавляет кнопку.
- void AddCheck( int x, int y, int inactiveID, int activeID, bool initialState, int switchID ) - добавляет переключатель
- void AddGroup( int group ) - добавляет группу
- void AddHtml( int x, int y, int width, int height, string text, bool background, bool scrollbar ) - добавляет html-поле
- void AddHtmlLocalized( int x, int y, int width, int height, int number, bool background, bool scrollbar ) - добавляет html-поле с содержимым из клилока
- void AddHtmlLocalized( int x, int y, int width, int height, int number, int color, bool background, bool scrollbar ) - аналогично предыдушему, но с цветом
- void AddHtmlLocalized( int x, int y, int width, int height, int number, string args, int color, bool background, bool scrollbar ) - аналогично предыдушему, но с аргументами
- void AddImage( int x, int y, int gumpID ) - добавляет картинку
- void AddImage( int x, int y, int gumpID, int hue ) - аналогично предыдушему, но с указанием цвета картинки
- void AddImageTiled( int x, int y, int width, int height, int gumpID ) - добавляет "размноженую" картинку.
- void AddImageTiledButton( int x, int y, int normalID, int pressedID, int buttonID, GumpButtonType type, int param, int itemID, int hue, int width, int height ) - добавляет "размноженую" кнопку
- void AddImageTiledButton( int x, int y, int normalID, int pressedID, int buttonID, GumpButtonType type, int param, int itemID, int hue, int width, int height, int localizedTooltip ) - аналогично предыдушему, но с подсказкой из клилока
- void AddItem( int x, int y, int itemID ) - добавляет изображение предмета
- void AddItem( int x, int y, int itemID, int hue ) - добавляет изображение предмета с определным цветом
- void AddLabel( int x, int y, int hue, string text ) - добавляет надпись
- void AddLabelCropped( int x, int y, int width, int height, int hue, string text ) - добавляет урезаемую(?) надпись
- void AddPage( int page ) - добавляет новую страницу
- void AddRadio( int x, int y, int inactiveID, int activeID, bool initialState, int switchID ) - добавляет радиокнопку
- void AddTextEntry( int x, int y, int width, int height, int hue, int entryID, string initialText ) - добавляет текстовое поле
- void AddTextEntry( int x, int y, int width, int height, int hue, int entryID, string initialText, int size ) - аналогично предыдушему, но с указанием максимального количества вводимых символов
- void AddTooltip( int number ) - добавляет подсказку
- void Add( GumpEntry g ) - добавляет произвольный элемент гампа(вызывается во всех методах указаных выше, но практически никогда не используется отдельно)
- void Remove( GumpEntry g ) - удаляет произвольный элемент гампа.
- Packet Compile() - преобразует обьект гампа в готовый, сетевой пакет сжатого гампа. В основном используется для экономии ресурсов, например когда один и тот-же гамп нужно разослать большому количеству клиентов.
- Packet Compile( NetState ns ) - делает то-же самое что и предыдуший метод, но в зависимости от версии подключеного клиента(ns), может создать либо сжатый пакет, либо обычный пакет.
- int Intern( string value ) - проверяет ввод на недопустимые символы
- void Invalidate() - уничтожает гамп
- virtual void OnResponse( NetState sender, RelayInfo info ) - вызывается после нажатия какого-то элемента
- virtual void OnServerClose( NetState owner ) - вызывается при закрытии сервера
- void SendTo( NetState state ) - посылает гамп указанному клиенту
- static int GetTypeID( Type Тип ) - возврашает хеш типа текушего класса(врядли будете использовать).
- static byte[] StringToBuffer( string строка ) - преобразует строку в масив байт.
Пример введение. простенькое описание того, что гампами можно сделать, что нельзя. простые контролы. сложные контролы.
|
|
|
|
Konstantin. |
26.3.2009, 3:32
|
Neophyte
Сообщений: 15
Регистрация: 26.3.2009 Группа: Пользователи Наличность: 0
Пользователь №: 11.682
Возраст: 25
|
Будет справедливо немного подправить автора(если честно от описания некотрых фукнций просто в шоке): Цитата(Barracoon @ 15.7.2007, 23:50) [*]int TypeID( get; ) - возврашает тип текушего класа.
Возвращает номер гампа, но не порядковый, а типовой. Причём, околоуникальный для каждого отдельно взятого гампа. Цитата(Barracoon @ 15.7.2007, 23:50) [*]Packet Compile() - преобразует обьект гампа в готовый, сетевой пакет сжатого гампа. В основном используется для экономии ресурсов, например когда один и тот-же гамп нужно разослать большому количеству клиентов.
Данная функция преобразует гамп в готовый сетевой пакет НЕ сжатого гампа. Цитата(Barracoon @ 15.7.2007, 23:50) [*]int Intern( string value ) - проверяет ввод на недопустимые символы
Где она там проверяет на недопустимые символы (IMG: style_emoticons/default/smile.gif) Данная функция присваивает переданной в неё строке номер и записывает строку в буффер гампа (если строки одинаковые, то не записывает и просто возвращает соответствующий номер). Цитата(Barracoon @ 15.7.2007, 23:50) [*]void Invalidate() - уничтожает гамп
Фукнция вообще ничего не делает (IMG: style_emoticons/default/smile.gif) Цитата(Barracoon @ 15.7.2007, 23:50) [*]virtual void OnServerClose( NetState owner ) - вызывается при закрытии сервера
Вызывается если гамп закрыт не игроком, а сервером. Например, CloseGump. Цитата(Barracoon @ 15.7.2007, 23:50) [*]static int GetTypeID( Type Тип ) - возврашает хеш типа текушего класса(врядли будете использовать).
Возвращает околоуникальный номер гампа основанный на хеше типа гампа. Фукнция которую придумали уже после того как поняли что гампам нужны уникальные цифровые идентификаторы - прописывать везде вручную было влом, поэтому ничего умнее чем хеш не смогли придумать.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|