Esempio n. 1
0
static void
update_icon (GpMenuButtonApplet *menu_button)
{
  GpMenuButtonAppletPrivate *priv;
  GIcon *icon;
  gchar *custom_icon;
  GtkPositionType position;

  priv = gp_menu_button_applet_get_instance_private (menu_button);

  icon = NULL;
  custom_icon = g_settings_get_string (priv->settings, "custom-icon");

  if (*custom_icon != '\0')
    icon = g_themed_icon_new (custom_icon);

  if (icon == NULL && priv->menu != NULL && priv->custom_menu)
    icon = gp_menu_get_icon (GP_MENU (priv->menu));

  if (icon == NULL)
    icon = g_themed_icon_new ("start-here");

  gtk_image_set_from_gicon (GTK_IMAGE (priv->image), icon, GTK_ICON_SIZE_MENU);

  g_object_unref (icon);
  g_free (custom_icon);

  position = gp_applet_get_position (GP_APPLET (menu_button));
  update_arrow (menu_button, position);
}
Esempio n. 2
0
static void
gp_menu_button_applet_placement_changed (GpApplet        *applet,
                                         GtkOrientation   orientation,
                                         GtkPositionType  position)
{
  GpMenuButtonApplet *menu_button;

  menu_button = GP_MENU_BUTTON_APPLET (applet);

  update_arrow (menu_button, position);
}
Esempio n. 3
0
//UPDATE PART THAT IS COMMON TO ALL GAMES
void game_update(Game* game,int dt){

	time_+=dt;
	camera_update(game->player,dt);
	fake_walk_update(game,dt);

	audioplayer_update(game->audio);
	double amplitude=audioplayer_getAmplitude(game->audio,dt);
	if(amplitude>game->audio_amplitude) game->audio_amplitude = amplitude;
	else game->audio_amplitude = game->audio_amplitude*.5 + amplitude*.5;
	//=======================================================
	//=======================================================
	//=======================================================
	//======================FIRE UPDATE======================
	//=======================================================
	//=======================================================
	//=======================================================
		for(int i=0;i<dt;i++){

			if(game->trigger_state || game->FIRST_SHOT==1){

				//===CAMERA===
				game->player->theta+=.001*game->player->dtheta;
				game->player->mFOV+=-.01*(game->player->mFOV-80);

				if(game->player->theta>30){
					game->player->theta+=-.01*(game->player->theta-29);
				}
				else if(game->player->theta<-30){
					game->player->theta+=-.01*(game->player->theta+29);
				}else{
					// c->theta+=-.005*(c->theta-0);
				}
				//============


				if(game->trigger_value==0){
					game->FIRST_SHOT=1;
				}
				//augmente jusqu'a trigger_value_MAX
				game->trigger_value+=1./trigger_value_MAX[game->weapon];
				if(game->trigger_value>1){
					// printf("trigger MAX\n");
					game->trigger_value=1;
				}
			}else{
				//===CAMERA===
				game->player->theta+=.001*game->player->dtheta -.01*game->player->theta;
				game->player->mFOV+=-.01*(game->player->mFOV-100);
				//============

				//diminue jusqu'a 0
				//!! VITESSE DIMINUTION PLUS GRANDE 
				game->trigger_value-=1.5/trigger_value_MAX[game->weapon];
				if(game->trigger_value<0){
					game->trigger_value=0;
				}
			}

			if(game->fire_value>0){
				game->fire_value-=1./fire_value_MAX[game->weapon];
				if((game->weapon==1 || game->weapon==4 || game->weapon==5) && game->fire_value<=0){
					//set trigger to 0 if using bow
					game->trigger_value=0;
				}
			}

			if(game->fire_state && game->trigger_value==1){
				game->FIRST_SHOT=0;
				if(game->fire_value<=0){
					game->fire_value+=1;
					if(game->weapon==1){
						fire_arrow_with_bow(game);
					}else if(game->weapon==2||game->weapon==3){
						// fire_arrow_with_bow(game);
						fire_arrow_with_sulfateuse(game);
					}else if(game->weapon==4){
						fire_arrow_with_bow(game);
						fire_arrow_with_bow(game);
						fire_arrow_with_bow(game);
					}else if(game->weapon==5){
						fire_arrow_with_bow(game);
						fire_arrow_with_bow(game);
						fire_arrow_with_bow(game);
						fire_arrow_with_bow(game);
						fire_arrow_with_bow(game);
					}
				}
			}

			//UPDATE ARROWS 
			update_arrow(game);
			update_mechant(game);
			update_particles(game);

		}
		arrow_collision(game);
	//=======================================================
	//=======================================================
	//=======================================================


	// if(game->trigger_state==0 && game->trigger_value==game->trigger_value_MAX){
	// 	game->fire(game);
	// 	// MAYBE ???
	// 	// game->trigger_value=0;
	// 	//TODO :
	// 	//TO CHECK
	// }

	//INTERRACT_MECHANT_PLAYER
	update_interraction_mechant_player(game);

	game->update(game,dt);
}