summaryrefslogtreecommitdiff
path: root/apple-town-fair/save-state.scm
diff options
context:
space:
mode:
Diffstat (limited to 'apple-town-fair/save-state.scm')
-rw-r--r--apple-town-fair/save-state.scm34
1 files changed, 34 insertions, 0 deletions
diff --git a/apple-town-fair/save-state.scm b/apple-town-fair/save-state.scm
new file mode 100644
index 0000000..2ff27a7
--- /dev/null
+++ b/apple-town-fair/save-state.scm
@@ -0,0 +1,34 @@
+;;; Copyright © 2022 David Thompson <davet@gnu.org>
+;;;
+;;; This program is free software: you can redistribute it and/or
+;;; modify it under the terms of the GNU General Public License as
+;;; published by the Free Software Foundation, either version 3 of the
+;;; License, or (at your option) any later version.
+;;;
+;;; This program is distributed in the hope that it will be useful,
+;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;;; General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with this program. If not, see
+;;; <http://www.gnu.org/licenses/>.
+(define-module (apple-town-fair save-state)
+ #:use-module (catbird config)
+ #:use-module (oop goops)
+ #:export (<save-state>
+ place
+ story-points
+ inventory
+ money
+ flags))
+
+(define-root-class <save-state> ()
+ (place #:accessor place #:init-keyword #:place #:init-value 'home)
+ (story-points #:accessor story-points #:init-keyword #:story-points
+ #:init-value 0)
+ (day #:accessor day #:init-keyword #:day #:init-value 0)
+ (time #:accessor time #:init-keyword #:time #:init-value 0)
+ (inventory #:accessor inventory #:init-keyword #:inventory #:init-value '())
+ (money #:accessor money #:init-keyword #:money #:init-value 20.0)
+ (flags #:accessor flags #:init-keyword #:flags #:init-value '()))