Цитата:
Сообщение от Wolsh
Я даже использовал синтаксис в своем примере: _character[Hash.CHARACTER_INTELLIGENCE]
то есть это равнозначно обращению _character.intelligence, если константа CHARACTER_INTELLIGENCE в классе Hash имеет значение "intelligence". И да, это может быть геттер или сеттер.
|
Круто! Вот тут нужно из скайпа ставить трёх бабушек с маракасами. Я и забыл про такую форму записи

И что касается геттера, то он получается должен быть записан именно в виде жёсткого get, а варианты типа метода с произвольным названием типа GetStrength(), не канает.
Цитата:
|
То есть, ты предлагаешь ВООБЩЕ ВСЁ хранить в одном бесконечном массиве, а константы класса, вместо того чтобы просто содержать строку "strength", будут содержать индекс массива, по которому из него можно вытащить этот "strength"? Это уместно, когда "strength" может оказаться не "strength", например при смене языка мы заменяем весь массив текстов, а идентификаторы фраз остаются в коде как были. Но если ты начнешь на каждую фразу создавать константу, хранящую ее uint-идентификатор, то это будет адский перебор.
|
Не совсем так. Я предполагал группу классов-хранителей, внутри которых будут храниться однотипные данные. Если, например, имеем 10 характеристик персонажа, для каждой из которых предусмотрен набор расшифровок, то будет система из 10 индетификаторов-констант, по которым будем вылавливать. Если у персонажа умения имеют похожую структуру (числовое значение и текстовая расшифровка), то и их тужа же, чтобы не дублировать код. Ещё допустим штук 15, итого 25 идентификаторов - вроде вполне терпимо.
Другой класс - для имён, где хранятся имена, фамилии и прозвища. Там идентификаторов служит ID персонажа. Фактически тоже пачка массивов, забитых именами (на нужном языке).
И да, я почитав твои предыдущие советы задумался о том, что "strength" может быть и "силой", а значит и само наименование свойства нужно не задавать жёстко, а брать откуда-то по некоему идентификатору. Хотя, насколько я понимаю, использование строковых идентификаторов такому подходу тоже не противоречит.
Цитата:
|
Как находит массив по строковому идентификатору? Да может быть просто объект _hints (или статическая константа HINTS:Object) содержащая массивы вариантов по строковым ключам. То есть HINTS["intelligence"] это массив ["дурак", "ни так ни сяк", "умный"].
|
Можно поподробнее? Получается, что для каждого свойства в классе с хинтами создаётся свой отдельный массив, присвоенный переменной, имя которой совпадает со строковым идентификатором? Учитывая, что у меня планируется игрушка не RTS и совсем не военная, а скорее социальное RPG, выбор всякой инфо по строковым ключам скорее всего будет центральной технологией
