package app.mar.activities;

import android.app.Activity;
import android.net.Uri;
import android.view.View;

import app.mar.game.Area;
import app.mar.game.Game;
import app.mar.game.Resource;
import app.mar.game.challenges.Challenge;
import app.mar.game.scheduler.Scheduler;

public interface ChallengeDriver extends ChallengeFragment.OnFragmentInteractionListener {
    public void challengeValidate(Challenge c, Game g, ChallengeDriver cd);
    public Challenge currentChallenge();
    public void setFragment(Challenge c);
    public void onFragmentInteraction(Uri uri);
    public void onReady(Challenge chall);


    public void   startLocalisation();
    public void   resumeLocalisation();
    public void   pauseLocalisation();
    public double getDistanceWith(Area a);
    public double getAccuracy();
    public void   startResource(Resource r);


    public void setVisibilityView(int res, int state);
    public void setVisibilityView(int[] res, int state);

    public void setFinished();
    public void setFailed();
    public Activity getActivity();


    public void load();
    public void save();
    //TODO: Sauvegarde dans le prototype
}
