From a474d5d43b4dafdd42d3c66f794a2ed9d63200f3 Mon Sep 17 00:00:00 2001 From: Joshua-Ashton01 Date: Tue, 8 Nov 2022 18:29:16 -0700 Subject: [PATCH] save, load, delete features implemented. starting testing. --- dndBuilder/src/DndCharacterBuilder.java | 13 ++---- .../src/FileManagement/FileManager.java | 45 ++++++++++++++++--- 2 files changed, 43 insertions(+), 15 deletions(-) diff --git a/dndBuilder/src/DndCharacterBuilder.java b/dndBuilder/src/DndCharacterBuilder.java index 1d8fcd1..3ca0ea6 100644 --- a/dndBuilder/src/DndCharacterBuilder.java +++ b/dndBuilder/src/DndCharacterBuilder.java @@ -5,18 +5,11 @@ public class DndCharacterBuilder { public static void main(String[] args) { + FileManager data = new FileManager(); + PanelHolder guiPanels = new PanelHolder(); - UImanager gui = new UImanager(guiPanels, isReturningUser()); + UImanager gui = new UImanager(guiPanels, data.isReturninguser()); } - private static boolean isReturningUser() { - - - - return false; - - } - - } \ No newline at end of file diff --git a/dndBuilder/src/FileManagement/FileManager.java b/dndBuilder/src/FileManagement/FileManager.java index 9b9f07a..f5ce845 100644 --- a/dndBuilder/src/FileManagement/FileManager.java +++ b/dndBuilder/src/FileManagement/FileManager.java @@ -10,16 +10,40 @@ public class FileManager { public FileManager() { + findSavedCharacters(); + } + + public boolean isReturninguser() { + + return savedCharacters.length > 0; } - // TODO: Need to implement. Reads file and returns a re-created CharacterSheet object. public CharacterSheet readCharacter(int index) { - File character = savedCharacters[index]; + CharacterSheet sheet = null; - return new CharacterSheet(); + try { + + FileInputStream fileIn = new FileInputStream("/tmp/" + savedCharacters[index].getPath() + ".dnd"); + ObjectInputStream in = new ObjectInputStream(fileIn); + sheet = (CharacterSheet) in.readObject(); + in.close(); + fileIn.close(); + + } catch (IOException i) { + + i.printStackTrace(); + + } catch (ClassNotFoundException c) { + + System.out.println("Employee class not found"); + c.printStackTrace(); + + } + + return sheet; } @@ -42,17 +66,28 @@ public class FileManager { } - // TODO: Need to implement. public void deleteCharacter(int index) { + File[] tmp = new File[savedCharacters.length - 1]; + for (int i = 0; i < savedCharacters.length; i++) { + + if(i != index) { + + tmp[i] = savedCharacters[i]; + + } + + } + + savedCharacters = tmp; } // TODO: Need to implement. Should create an array of Files corresponding to user-created characters. private void findSavedCharacters() { - + savedCharacters = new File("/bin/").listFiles(); }