Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Hockey <Blitzkev@gmail.com>2010-08-05 18:45:44 (GMT)
committer Kevin Hockey <Blitzkev@gmail.com>2010-08-05 18:45:44 (GMT)
commitac0447963b446323b25e0a96576a9d98124d4531 (patch)
treedf8d5f65bfc8a74fa89dbc471b59e7e905c0cb5c
parent725c625e6f129e7972177483b59295e9e3d8b0a9 (diff)
Fortune Hunter now incorporates the auto-removal of registered drawable objects
-rw-r--r--MAFH2/BattleEngine.py10
-rw-r--r--MAFH2/BattleMenu.py11
-rw-r--r--MAFH2/Dungeon.py5
-rw-r--r--MAFH2/MafhGameMenu.py3
-rw-r--r--MAFH2/MagicMenu.py14
-rw-r--r--MAFH2/Map.py2
-rw-r--r--MAFH2/Profile.py11
-rw-r--r--MAFH2/TermBox.py4
-rw-r--r--MAFH2/fortuneengine/GameEngineElement.py8
9 files changed, 27 insertions, 41 deletions
diff --git a/MAFH2/BattleEngine.py b/MAFH2/BattleEngine.py
index 195dc42..eb27f30 100644
--- a/MAFH2/BattleEngine.py
+++ b/MAFH2/BattleEngine.py
@@ -45,20 +45,20 @@ class BattleEngine(GameEngineElement):
if e_index != '0':
curE = get_enemy( e_index )
self.enemy_list.append( curE )
- self.game_engine.get_scene().addObject(curE.get_sprite())
+ self.add_to_scene([curE.get_sprite()])
# Preload images
self.__drawableObjects = {}
for i in ['arrow_select']:
self.__drawableObjects[i] = DrawableObject([pygame.image.load( HUD_PATH + i + ".gif" )], '')
- self.game_engine.get_scene().addObject(self.__drawableObjects[i])
+ self.add_to_scene([self.__drawableObjects[i]])
self.__drawableObjects['hp'] = DrawableObject(Spritesheet( HUD_PATH + "hp.gif" ).img_extract(11,1,100,100,[255,0,255]), '')
self.__drawableObjects['bt'] = DrawableObject(Spritesheet( HUD_PATH + "bt.gif" ).img_extract(1,11,100,25, [255,0,255]), '', True)
self.__drawableObjects['hp'].setColorKey((255,0,255))
self.__drawableObjects['bt'].setColorKey((255,0,255))
- self.game_engine.get_scene().addObject(self.__drawableObjects['hp'])
- self.game_engine.get_scene().addObject(self.__drawableObjects['bt'])
+ self.add_to_scene([self.__drawableObjects['hp']])
+ self.add_to_scene([self.__drawableObjects['bt']])
self.add_to_engine()
self.game_engine.add_object('battlemenu', BattleMenuHolder( self.menu_callback ) )
@@ -370,8 +370,6 @@ class BattleEngine(GameEngineElement):
#self terminate
#print 'end battle called'
self.remove_from_engine()
- for key in self.__drawableObjects:
- self.game_engine.get_scene().removeObject(self.__drawableObjects[key])
self.game_engine.get_object('battlemenu').remove_from_engine()
self.game_engine.remove_object('battle')
diff --git a/MAFH2/BattleMenu.py b/MAFH2/BattleMenu.py
index 2846f56..2cf1aec 100644
--- a/MAFH2/BattleMenu.py
+++ b/MAFH2/BattleMenu.py
@@ -18,9 +18,9 @@ class BattleMenuHolder( GameEngineElement ):
self.font = pygame.font.SysFont("cmr10",18,False,False)
self.disp = DrawableFontObject("", self.font)
self.sec_disp = DrawableFontObject("", self.font)
- self.game_engine.get_scene().addObject(self.background)
- self.game_engine.get_scene().addObject(self.disp)
- self.game_engine.get_scene().addObject(self.sec_disp)
+ self.add_to_scene([self.background])
+ self.add_to_scene([self.disp])
+ self.add_to_scene([self.sec_disp])
def set_disp(self, msg):
self.disp.changeText(msg, (0,0,0))
@@ -30,9 +30,6 @@ class BattleMenuHolder( GameEngineElement ):
def remove_from_engine(self):
super( BattleMenuHolder, self ).remove_from_engine()
- self.game_engine.get_scene().removeObject(self.background)
- self.game_engine.get_scene().removeObject(self.disp)
- self.game_engine.get_scene().removeObject(self.sec_disp)
self.clear_menu()
def draw(self):
@@ -177,7 +174,7 @@ class Menu(object):
self.scene.addObjects(self.font_list)
def draw(self):
- self.scene.drawEntireScene(surface)
+ #self.scene.drawEntireScene(surface)
"""Draw the menu to the surface."""
i=0 # Row Spacing
h=0 # Selection Spacing
diff --git a/MAFH2/Dungeon.py b/MAFH2/Dungeon.py
index e945fea..732c96a 100644
--- a/MAFH2/Dungeon.py
+++ b/MAFH2/Dungeon.py
@@ -17,7 +17,6 @@ from constants import (
from JournalIntegration import do_load, load_dungeon_by_id
from fortuneengine.DrawableObject import DrawableObject
from fortuneengine.DynamicDrawableObject import DynamicDrawableObject
-from fortuneengine.Scene import Scene
SEARCH_TIME = 2
COLOR_DELTA = 255/SEARCH_TIME
@@ -48,7 +47,7 @@ class Dungeon(GameEngineElement):
#for door in self.doorsList: door.makeTransparent(True)
- self.game_engine.get_scene().addObjects(self.doorsList)
+ self.add_to_scene(self.doorsList)
self.itemsList = []
@@ -62,7 +61,7 @@ class Dungeon(GameEngineElement):
self.itemsList[1].setPosition(self.game_engine.art_scale(100, 1200, True),self.game_engine.art_scale(600, 900, False))
self.itemsList[2].setPosition(self.game_engine.art_scale(1100, 1200, True),self.game_engine.art_scale(600, 900, False))
self.itemsList[3].setPosition(self.game_engine.art_scale(900, 1200, True),self.game_engine.art_scale(330, 900, False))
- self.game_engine.get_scene().addObjects(self.itemsList)
+ self.add_to_scene(self.itemsList)
self.add_to_engine()
def add_to_engine(self):
diff --git a/MAFH2/MafhGameMenu.py b/MAFH2/MafhGameMenu.py
index 6ed0d46..0705b6d 100644
--- a/MAFH2/MafhGameMenu.py
+++ b/MAFH2/MafhGameMenu.py
@@ -9,12 +9,11 @@ class GameMenuHolder( GameEngineElement ):
self.callback = callback
self.background = DrawableObject([pygame.image.load(background).convert()], '')
self.background.scale(width, height)
- self.game_engine.get_scene().addObject(self.background)
+ self.add_to_scene([self.background])
self.width = width
self.height = height
def remove_from_engine(self):
- self.game_engine.get_scene().removeObject(self.background)
super( GameMenuHolder, self ).remove_from_engine()
self.clear_menu()
diff --git a/MAFH2/MagicMenu.py b/MAFH2/MagicMenu.py
index 8e4ea56..4f30787 100644
--- a/MAFH2/MagicMenu.py
+++ b/MAFH2/MagicMenu.py
@@ -16,14 +16,14 @@ class MagicMenuHolder( GameEngineElement ):
self.callback = callback
self.background = DrawableObject([pygame.image.load( MENU_PATH + "battleMenubackground.gif")], '')
self.background.setPosition(0,286)
- self.game_engine.get_scene().addObject(self.background)
+ self.add_to_scene([self.background])
def remove_from_engine(self):
- self.game_engine.get_scene().removeObject(self.background)
+ #self.game_engine.get_scene().removeObject(self.background)
super( MagicMenuHolder, self ).remove_from_engine()
self.clear_menu()
- def draw(self,screen,time_delta):
+ def draw(self):
pass
def menu_called(self, id):
@@ -102,8 +102,8 @@ class MagicMenu(GameEngineElement):
def event_handler(self, event):
return self.menu.update(event)
- def draw(self,screen,time_delta):
- self.menu.draw( screen )
+ def draw(self):
+ self.menu.draw()
def clear(self):
self.menu.clear()
@@ -223,7 +223,7 @@ class Menu(object):
self.height = (len(self.options)*self.buttons[1].getYSize()) / self.cols
- def draw(self, surface):
+ def draw(self):
"""Draw the menu to the surface."""
i=0 # Row Spacing
h=0 # Selection Spacing
@@ -240,7 +240,6 @@ class Menu(object):
if h==self.option:
self.selectRect.setPosition(newX, newY)
self.buttons[index].setPosition(newX, newY)
- #surface.blit(self.buttons[index], (newX, newY) )
j+=1
h+=1
@@ -252,7 +251,6 @@ class Menu(object):
# Draw reference glyphs
for i in range(4):
if i in self.magic_list:
- #surface.blit(self.glyphs[i], (800+((i%2) * 150), 350+(i/2 * 150)))
self.reference[i].makeTransparent(False)
self.reference[i].setPosition(800+((i%2) * 150), 350+(i/2 * 150))
diff --git a/MAFH2/Map.py b/MAFH2/Map.py
index 2cecf66..d722efd 100644
--- a/MAFH2/Map.py
+++ b/MAFH2/Map.py
@@ -51,7 +51,7 @@ class Map(GameEngineElement):
self.add_to_engine() #Adds itself and all callbacks to the engine
self.myDrawableObject = DrawableObject([pygame.Surface((0,0))], '')
- self.game_engine.get_scene().addObject(self.myDrawableObject)
+ self.add_to_scene([self.myDrawableObject])
def event_handler(self, event):
if event.type == pygame.KEYDOWN:
diff --git a/MAFH2/Profile.py b/MAFH2/Profile.py
index 6e02a77..2494695 100644
--- a/MAFH2/Profile.py
+++ b/MAFH2/Profile.py
@@ -36,7 +36,7 @@ class Profile(GameEngineElement):
bg = pygame.image.load(MENU_PATH+"mafh_splash.gif").convert()
self.background = DrawableObject([bg], '')
self.background.scale(self.game_engine.width, self.game_engine.height)
- self.game_engine.get_scene().addObject(self.background)
+ self.add_to_scene([self.background])
#create background rect
draw_width = self.game_engine.width/4
@@ -44,14 +44,14 @@ class Profile(GameEngineElement):
surf = pygame.Surface((draw_width+60,draw_height+60))
surf.fill((150,150,255))
self.blueRect = DrawableObject([surf],"")
- self.game_engine.get_scene().addObject(self.blueRect)
+ self.add_to_scene([self.blueRect])
font = pygame.font.Font(None, 16)
self.text_list = []
self.text_list.append(DrawableFontObject("1", font))
self.text_list.append(DrawableFontObject("2", font))
self.text_list.append(DrawableFontObject("name",font))
- self.game_engine.get_scene().addObjects(self.text_list)
+ self.add_to_scene(self.text_list)
if recall_string:
@@ -114,11 +114,6 @@ class Profile(GameEngineElement):
def remove_from_engine(self):
super( Profile, self).remove_from_engine()
- self.game_engine.get_scene().removeObject(self.background)
- self.game_engine.get_scene().removeObject(self.blueRect)
-
- for dfo in self.text_list:
- self.game_engine.get_scene().removeObject(dfo)
def event_handler(self, event):
"""
diff --git a/MAFH2/TermBox.py b/MAFH2/TermBox.py
index cb5c4f1..c0b6b9c 100644
--- a/MAFH2/TermBox.py
+++ b/MAFH2/TermBox.py
@@ -17,8 +17,8 @@ class TermBox(GameEngineElement):
self.__lines = []
for i in range(lines):
self.__lines.append(DrawableFontObject('', self.font))
- self.game_engine.get_scene().addObject(self.box)
- self.game_engine.get_scene().addObjects(self.__lines)
+ self.add_to_scene([self.box])
+ self.add_to_scene(self.__lines)
self.add_to_engine()
def add_line(self, line):
diff --git a/MAFH2/fortuneengine/GameEngineElement.py b/MAFH2/fortuneengine/GameEngineElement.py
index bdceae9..3f51f2f 100644
--- a/MAFH2/fortuneengine/GameEngineElement.py
+++ b/MAFH2/fortuneengine/GameEngineElement.py
@@ -14,9 +14,9 @@
# Author: Justin Lewis <jlew.blackout@gmail.com>
from fortuneengine.GameEngine import GameEngine
-from fortuneengine.DrawableFontObject import DrawableFontObject
-from fortuneengine.DrawableObject import DrawableObject
-from fortuneengine.DynamicDrawableObject import DynamicDrawableObject
+#from fortuneengine.DrawableFontObject import DrawableFontObject
+#from fortuneengine.DrawableObject import DrawableObject
+#from fortuneengine.DynamicDrawableObject import DynamicDrawableObject
class GameEngineElement(object):
@@ -86,7 +86,7 @@ class GameEngineElement(object):
if not (self.__ddo_list == []):
for object in self.__ddo_list:
- self.game_engine.removeObject(object)
+ self.game_engine.get_scene().removeObject(object)
def event_handler(self, event):