-
Notifications
You must be signed in to change notification settings - Fork 0
/
LoadGameButton.java
53 lines (49 loc) · 1.3 KB
/
LoadGameButton.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.io.*;
/**
* Loads a previously saved Game
*
* @author Alston Lin, Koko Deng
* @version Beta 2.1
*/
public class LoadGameButton extends Button
{
/**
* Sets the image for this object
*/
public LoadGameButton() {
super(new GreenfootImage("LoadGameButton.png"));
}
/**
* When clicked, loads the game from file
*/
public void click() {
load();
}
/**
* Returns the information of this button
*
* @return The information of this button
*/
public String getHoverInfo() {
return "Load a game";
}
/**
* Loads the game from file
*/
private void load() {
try{
FileInputStream fileIn = new FileInputStream(Game.SAVE_FILE_NAME);
ObjectInputStream stream = new ObjectInputStream(fileIn);
Greenfoot.setWorld((Game)stream.readObject());
fileIn.close();
stream.close();
} catch (IOException e) {
System.out.println("Something went wrong");
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println("Could not find the save file");
e.printStackTrace();
}
}
}