Цитата:
Сообщение от Wolsh
Вообще не понял вопроса.
1. зачем "устанавливать"? Доступ же не типизированный.
2. не достаточно, чтобы класс был "правильным". Нужно еще, чтобы propID был существующим.
|
PropID - точно существующий, так как заранее известно, экземпляры каких классов проверяются. А "устанавливать" затем, что у меня в действии персонажи абстрактно заданы как атакующий и защищающийся. На этих местах могут быть как герой, так и враг или ещё кто-нибудь. Поэтому получив формулировку условий в форме {owner: IDs.STATUS_ATTACKER, propID: IDs.PROP_IS_WOUNDED, value:true}, прежде чем обращаться за значением, у меня выполняется такой метод в классе проверки условий действия:

Код AS3:
protected function checkOwner(ownerID: String) : Character
{
switch(ownerID)
{
case IDs.STATUS_ATTACKER: return attacker; // Проверка по строковому ID и возврат экземпляра персонажа
case IDs.STATUS_DEFENDER: return defender;
}
Обращение через константы - пока лучшее, что я придумал, чтобы не косячить с именами геттеров при такой системе записи.
Цитата:
|
Если owner — экземпляр, то проверить класс можно if (owner is EnemySoldier) {}.
|
А как передать тот самый "EnemySoldier" в метод проверки условия? Вот так:

Код AS3:
protected function checkCond(owner: Character, classID: String)
{
if (owner is classID) return true
}
не выходит. В этом и вопрос.