Наугад скопировал какой-то из 100500 свитчей в проекте который сейчас переделываю...

Код AS3:
private function handleAPICalls(call:String, params:Array):void
{
var opponentData:UserData = VideoRoundData.getInstance().users.opponent;
// MonsterDebugger.trace(call, params, MonsterDebugger.COLOR_ERROR);
switch(call)
{
case ApplicationCallEnum.CLOSE_APPLICATION:
killApp();
break;
case ApplicationCallEnum.RESTART_APPLICATION:
VideoRoundData.getInstance().managersBridge.inCallManager.runApp(VideoRoundData.getInstance().sessionData.curApplication);
break;
case ApplicationCallEnum.SEND_GIFT:
var giftId:String = params[0];
var giftVo:GiftVo = VideoRoundData.getInstance().listsData.getActionVOById(ActionsEnum.GIFTS,giftId);
if (opponentData)
VideoRoundData.getInstance().managersBridge.inCallManager.sendGift(opponentData.userServerData.clientId, giftVo);
else
VideoRoundData.getInstance().managersBridge.inCallManager.sendGift(null, giftVo);
break;
case ApplicationCallEnum.CHANGE_EFFECT:
var effectId:String = params[0];
var effectVo:EffectVo = VideoRoundData.getInstance().listsData.getActionVOById(ActionsEnum.EFFECTS,effectId);
if(opponentData)
VideoRoundData.getInstance().managersBridge.inCallManager.setEffect(opponentData.userServerData.clientId, effectVo);
else
VideoRoundData.getInstance().managersBridge.inCallManager.setEffect(null, effectVo);
break;
case ApplicationCallEnum.CHANGE_SKIN:
var skinId:String = params[0];
var skinVo:SkinVo = VideoRoundData.getInstance().listsData.getActionVOById(ActionsEnum.SKINS,skinId);
if (opponentData)
VideoRoundData.getInstance().managersBridge.inCallManager.setSkin(opponentData.userServerData.clientId, skinVo);
else
VideoRoundData.getInstance().managersBridge.inCallManager.setSkin(null, skinVo);
break;
case ApplicationCallEnum.GET_PARTICIPANTS:
var clientId :String = VideoRoundData.getInstance().users.client.userServerData.clientId;
var opponentId :String = (opponentData != null)? opponentData.userServerData.clientId : "";
callApplication(ApplicationCallEnum.GET_PARTICIPANTS_CALLBACK, clientId+","+opponentId);
//_____Shooters
if (opponentData)
{
var userDataParam:String = VideoRoundData.getInstance().users.client.userServerData.name + ","
+ VideoRoundData.getInstance().users.client.userServerData.photo + ","
+ VideoRoundData.getInstance().users.opponent.userServerData.name + ","
+ VideoRoundData.getInstance().users.opponent.userServerData.photo;
}
else
{
userDataParam = VideoRoundData.getInstance().users.client.userServerData.name + ","
+ VideoRoundData.getInstance().users.client.userServerData.photo + ","
+ VideoRoundData.getInstance().users.client.userServerData.name + ","
+ VideoRoundData.getInstance().users.client.userServerData.photo;
}
callApplication("remoteSetClientsParams", userDataParam);
break;
case ApplicationCallEnum.GET_SKINS:
callApplication(ApplicationCallEnum.GET_SKINS_CALLBACK, constructShortVoList("skins"));
break;
case ApplicationCallEnum.GET_EFFECTS:
callApplication(ApplicationCallEnum.GET_EFFECTS_CALLBACK, constructShortVoList("effects"));
break;
case ApplicationCallEnum.GET_GIFTS:
callApplication(ApplicationCallEnum.GET_GIFTS_CALLBACK, constructShortVoList("gifts"));
break;
case ApplicationCallEnum.SEND_MESSAGE:
var message:String = params[0];
if(opponentData)
VRViewEventDispatcher.getInstance().dispatchEvent(new VRViewEvent(VRViewEvent.SEND_CHAT_MESSAGE, message));
break;
}
}
Хочется взять что-нибудь твердое и тяжолое в руку..
>Интересная идея, возможно ли обойтись без объектов, что-то типа?
Конструктор нельзя параметризовать. Т.е. вы в таком случае не застрахованы от ошибки (можно что-то не то передать в конструктор, и компилятор это не проверит). А так - конечно можно.