Цитата:
Сообщение от Psycho Tiger
switch в if`е. Какие предложения? )
|

Код AS3:
public class ChatBubbleIngame extends ChatBubble {
/**
* Chat Bubble with positions
* @param host
* @param seat
* @param maxPlayers
*/
public function ChatBubbleIngame(host:DisplayObjectContainer, seat:uint, maxPlayers:uint) {
super(host);
var arr:Array = maxPlayers === 6 ? [2,3,0,0,0,1] : [2,3,3,0,0,0,0,1];
if (seat >= arr.lenght)
throw new ArgumentError(seat);
else
setTailPosition(arr[seat])
}
override public function setTailPosition(tailPosition:uint):void {
_gfx.x, _gfx.y = *([[-2,-54], [-5,57], [-5,57], [2,-54] ][tailPosition]);
super.setTailPosition(tailPosition);
}
}
Примерно так, но за точность синтаксиса не ручаюсь.
Добавлено через 8 минут
Цитата:
Сообщение от dimarik
... Источник может выдавать данные в любом виде (от примитивов до комплексных структур). Десериализатор содержит набор правил, с помощью которых осуществляется разбор выхлопа источника в свойства внутренней модели приложения. Изменился источник данных и мы не можем влиять на протокол — меняем сериализатор.
|
тут кмк лучше бы разные источники - сокет, таймер, етц, выдавали данные в одном формате, например, xml, который бы уже десериализовывался в свойства внутренней модели приложения. Десериализатор один раз написал и стоп, да и верифицировать xml от нового источника просто. То есть протокол - это xml, а что до него - канальный уровень.