added save manager
This commit is contained in:
parent
8136595730
commit
673c75afe1
26
main.py
26
main.py
|
@ -709,10 +709,12 @@ def testing():
|
||||||
def APIGEN():
|
def APIGEN():
|
||||||
global APIPLUG
|
global APIPLUG
|
||||||
global maingame
|
global maingame
|
||||||
|
global savpreviewe
|
||||||
API = {"print": log, "HASHBASE": hashengine}
|
API = {"print": log, "HASHBASE": hashengine}
|
||||||
API["HASHGAME"] = maingame
|
API["HASHGAME"] = maingame
|
||||||
API["SOUND"] = lambda data: gsound(data, maingame)
|
API["SOUND"] = lambda data: gsound(data, maingame)
|
||||||
API["PATHFIND"] = hashengine.pathfinding(maingame._size, list(maingame._objects.values()), maingame)
|
API["PATHFIND"] = hashengine.pathfinding(maingame._size, list(maingame._objects.values()), maingame)
|
||||||
|
API["SAVMANG"] = savemanager(savpreviewe)
|
||||||
for i in APIPLUG:
|
for i in APIPLUG:
|
||||||
exec(i, globals())
|
exec(i, globals())
|
||||||
temp = globals()["PLUGINAPIFUNC"]()
|
temp = globals()["PLUGINAPIFUNC"]()
|
||||||
|
@ -846,7 +848,7 @@ file = open("game.HEGF", 'r')
|
||||||
file = file.read()
|
file = file.read()
|
||||||
temp = loadplugins(False)
|
temp = loadplugins(False)
|
||||||
replacelh()
|
replacelh()
|
||||||
execgame(file, False, fAPIPLUG=temp[0], fRUNPLUG=temp[1])
|
execgame(file, False, fAPIPLUG=temp[0], fRUNPLUG=temp[1], False)
|
||||||
""")
|
""")
|
||||||
print("done.")
|
print("done.")
|
||||||
print("building finished!")
|
print("building finished!")
|
||||||
|
@ -1246,13 +1248,15 @@ def aposy(old):
|
||||||
if str(tempvar).split(".")[1] == "0": return int(tempvar)
|
if str(tempvar).split(".")[1] == "0": return int(tempvar)
|
||||||
return tempvar
|
return tempvar
|
||||||
|
|
||||||
def execgame(gametree, shouldlog=True, fAPIPLUG=[], fRUNPLUG=[]):
|
def execgame(gametree, shouldlog=True, fAPIPLUG=[], fRUNPLUG=[], savpreview=True):
|
||||||
global GUIe
|
global GUIe
|
||||||
global preview
|
global preview
|
||||||
global clog
|
global clog
|
||||||
global models
|
global models
|
||||||
global APIPLUG
|
global APIPLUG
|
||||||
global RUNPLUG
|
global RUNPLUG
|
||||||
|
global savpreviewe
|
||||||
|
savpreviewe = savpreview
|
||||||
APIPLUG = fAPIPLUG
|
APIPLUG = fAPIPLUG
|
||||||
RUNPLUG = fRUNPLUG
|
RUNPLUG = fRUNPLUG
|
||||||
preview = hashengine.game(renderer=nullrend, sounddir="/")
|
preview = hashengine.game(renderer=nullrend, sounddir="/")
|
||||||
|
@ -1295,6 +1299,24 @@ class sound():
|
||||||
self.spath = os.path.basename(new).split(".")[0]
|
self.spath = os.path.basename(new).split(".")[0]
|
||||||
self.sdata = hashengine.loadsound(new)
|
self.sdata = hashengine.loadsound(new)
|
||||||
|
|
||||||
|
class savemanager:
|
||||||
|
def __init__(self, preview=False):
|
||||||
|
self.preview = preview
|
||||||
|
self.savefile = "HESF"
|
||||||
|
self.temp = {}
|
||||||
|
|
||||||
|
def get(self):
|
||||||
|
if self.preview == True: return self.temp
|
||||||
|
return ast.literal_eval(open(self.savefile, 'r').read())
|
||||||
|
|
||||||
|
def save(self, new):
|
||||||
|
if self.preview == True:
|
||||||
|
self.temp = new
|
||||||
|
return
|
||||||
|
file = open(self.savefile, 'w')
|
||||||
|
file.write(str(new))
|
||||||
|
file.close()
|
||||||
|
|
||||||
global types
|
global types
|
||||||
global ignoreat
|
global ignoreat
|
||||||
global valtypes
|
global valtypes
|
||||||
|
|
|
@ -77,3 +77,8 @@ to stop the sound use \<sound>.stop() and to yield until the sound is done playi
|
||||||
Hashengine has an built pathfinding system (A*). to use it, use PATHFIND.find_path(\<start vector2>, \<end vector2>).
|
Hashengine has an built pathfinding system (A*). to use it, use PATHFIND.find_path(\<start vector2>, \<end vector2>).
|
||||||
it returns an list of vector2's representing every single waypoint.
|
it returns an list of vector2's representing every single waypoint.
|
||||||
|
|
||||||
|
## SAVMANG
|
||||||
|
|
||||||
|
### the save manager also called in the API **SAVMANG** is used for save data
|
||||||
|
|
||||||
|
**SAVMANG** is used for saving user save data. use SAVMANG.get() to get the current save data and SAVEMANG.set(\<new save data (dict)>) to override the save data. when using it within a script in test mode, it will save in a temporary dictionary which is NOT shared amongst scripts.
|
||||||
|
|
Loading…
Reference in a new issue