Показать сообщение отдельно
Старый 28.02.2011, 20:47
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 8  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Наугад скопировал какой-то из 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;				
 
 
	}
}
Хочется взять что-нибудь твердое и тяжолое в руку..

>Интересная идея, возможно ли обойтись без объектов, что-то типа?
Конструктор нельзя параметризовать. Т.е. вы в таком случае не застрахованы от ошибки (можно что-то не то передать в конструктор, и компилятор это не проверит). А так - конечно можно.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 28.02.2011 в 20:52.