Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.gorgo.pirates.view;
- import android.content.Context;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.util.Log;
- import com.example.pirates.R;
- import com.gorgo.pirates.controller.GameEngine;
- import com.gorgo.pirates.model.Guybrush;
- public class GuybrushRenderer implements Renderer {
- private static final String TAG = GuybrushRenderer.class.getSimpleName();
- private Guybrush guybrush;
- private Text textGuy;
- SpriteTile currentGuy, currentEnemy;
- public GuybrushRenderer(Guybrush guybrush, Context context) {
- this.guybrush = guybrush;
- textGuy = new Text(context);
- currentGuy = new SpriteTile(R.drawable.guybrush_light, R.xml.guybrush_light,
- context, "guybrush");
- currentGuy.setCurrentAnimation(guybrush.getAnimation(), false);
- Log.d(TAG, "Guybrush CARICATO");
- }
- public void render(Canvas canvas, GameEngine gameEngine) {
- // Check SurfaceDestroyed
- if (canvas != null) {
- // Calcolo la posizione di Guybrush.
- // SpriteTile disegna Guybrush in base al dispositivo
- currentGuy.setXpos((int) (canvas.getWidth() / 4.57));
- currentGuy.setYpos((int) (canvas.getHeight() / 1.06));
- // Se il Guybrush è in idle, imposto in idle la sua animazione
- CheckIdle();
- // Disegno l'animazione
- currentGuy.draw(canvas);
- // Se Guybrush sta parlando stampa cosa sta dicendo
- Speak(canvas, guybrush.getSpeech());
- // Controlla se l'animazione è stata cambiata
- // TODO: Controllare che vada veramente qui
- CheckAnimation();
- }
- }
- // TODO:Attenzione che se è idle checkAnimation() non va
- private void CheckAnimation() {
- if (currentGuy.hasAnimationFinished()) {
- System.out.println("Animazione finita");
- if (currentGuy.getCurrentAnimation() != guybrush.getAnimation()) {
- currentGuy.setCurrentAnimation(guybrush.getAnimation(), false);
- System.out.println("Animazione cambiata");
- }
- }
- }
- private void CheckIdle() {
- if (guybrush.getIdle()) {
- currentGuy.setAnimationIdle();
- }
- }
- private void Speak(Canvas canvas, String speech) {
- if (guybrush.getSpeaking()) {
- currentGuy.setIdle(false);
- guybrush.setIdle(false);
- textGuy.draw(canvas, speech, 5000, Color.WHITE);
- }
- if (textGuy.getFinished()) {
- currentGuy.setAnimationIdle();
- guybrush.setSpeaking(false);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement