Ejemplo n.º 1
0
		void LimboView::Update(float dt) {
			// spectator team was actually 255
			if(selectedTeam > 2)
				selectedTeam = 2;
			for(size_t i = 0; i < items.size(); i++){
				MenuItem& item = items[i];
				item.visible = true;
				
				switch(item.type){
					case MenuWeaponRifle:
					case MenuWeaponShotgun:
					case MenuWeaponSMG:
						if(selectedTeam == 2){
							item.visible = false;
						}
					default:;
				}
				
				bool newHover = item.rect && cursorPos;
				if(!item.visible)
					newHover = false;
				if(newHover && !item.hover){
					IAudioDevice *dev = client->audioDevice;
					Handle<IAudioChunk> chunk = dev->RegisterSound("Sounds/Feedback/Limbo/Hover.wav");
					dev->PlayLocal(chunk, AudioParam());
				}
				item.hover = newHover;
			}
		}
Ejemplo n.º 2
0
		void LimboView::KeyEvent(const std::string &key){
			if(key == "LeftMouseButton"){
				for(size_t i = 0; i < items.size(); i++){
					MenuItem& item = items[i];
					if(item.hover){
						IAudioDevice *dev = client->audioDevice;
						Handle<IAudioChunk> chunk = dev->RegisterSound("Sounds/Feedback/Limbo/Select.wav");
						dev->PlayLocal(chunk, AudioParam());
						switch(item.type){
							case MenuTeam1:
								selectedTeam = 0;
								break;
							case MenuTeam2:
								selectedTeam = 1;
								break;
							case MenuTeamSpectator:
								selectedTeam = 2;
								break;
							case MenuWeaponRifle:
								selectedWeapon = RIFLE_WEAPON;
								break;
							case MenuWeaponSMG:
								selectedWeapon = SMG_WEAPON;
								break;
							case MenuWeaponShotgun:
								selectedWeapon = SHOTGUN_WEAPON;
								break;
							case MenuSpawn:
								client->SpawnPressed();
								break;
						}
					}
				}
				
			}
		}