Bläddra i källkod

*** empty log message ***

Mike Goslin 25 år sedan
förälder
incheckning
f8365c88f0
2 ändrade filer med 55 tillägg och 12 borttagningar
  1. 43 8
      direct/src/fsm/StateData.py
  2. 12 4
      direct/src/gui/ForceAcknowledge.py

+ 43 - 8
direct/src/fsm/StateData.py

@@ -12,22 +12,57 @@ class StateData(DirectObject):
         """
 	self.doneEvent = doneEvent
 	self.isLoaded = 0
+	self.isEntered = 0
+	return None
+
+    def __del__(self):
+	"""__del__(self)
+	Only define this if you construct any classes in your __init__()
+	so you can del them explicitly
+	"""
+	self.unload()
+	return None
 
     def enter(self):
-        """enter(self)"""
-	print "Called abstract enter function"
+        """enter(self)
+	"""
+	# Use isEntered to avoid redundant entry work
+	if self.isEntered == 1:
+	    return None
+	self.isEntered = 1
+	# Use isLoaded to avoid redundant loading
+	if self.isLoaded == 0:
+	    self.load()
+	print "Called StateData enter function"
+	return None
 
     def exit(self):
-	"""exit(self)"""
-	print "Called abstract exit function"
+	"""exit(self)
+	"""
+	if self.isEntered == 0:
+	    return None
+	self.isEntered = 0
+	print "Called StateData exit function"
+	return None
 
     def load(self):
-	"""load(self)"""
-	print "Called abstract load function"
+	"""load(self)
+	"""
+	if self.isLoaded == 1:
+	    return None
+	self.isLoaded = 1
+	print "Called StateData load function"
+	return None
 	
     def unload(self):
-	"""unload(self)"""
-	print "Called abstract unload function"
+	"""unload(self)
+	"""
+	if self.isLoaded == 0:
+	    return None
+	self.isLoaded = 0
+	self.exit()
+	print "Called StateData unload function"
+	return None
 
 
             

+ 12 - 4
direct/src/gui/ForceAcknowledge.py

@@ -13,9 +13,11 @@ class ForceAcknowledge(StateData.StateData):
 	StateData.StateData.__init__(self, doneEvent)
 	self.soundRollover = None
 	self.soundOk = None
+	return None
 
     def enter(self, message):
-	"""enter(self, string)"""
+	"""enter(self, string)
+	"""
 	if self.isLoaded == 0:
 	    self.load()
 
@@ -31,7 +33,8 @@ class ForceAcknowledge(StateData.StateData):
 	return None
 
     def exit(self):
-	"""exit(self)"""
+	"""exit(self)
+	"""
 	if self.isLoaded == 0:
 	    return None
 
@@ -40,9 +43,11 @@ class ForceAcknowledge(StateData.StateData):
 
 	self.text.reparentTo(hidden)
 	self.okButton.unmanage()
+	return None
 	
     def load(self):
-	"""load(self)"""
+	"""load(self)
+	"""
 	if self.isLoaded == 1:
 	    return None
 
@@ -62,9 +67,11 @@ class ForceAcknowledge(StateData.StateData):
 	self.okButton.button.setPriority(GuiItem.PHigh)
 
 	self.isLoaded = 1
+	return None
 	
     def unload(self):
-	"""unload(self)"""
+	"""unload(self)
+	"""
 	if self.isLoaded == 0:
 	    return None
 	
@@ -74,6 +81,7 @@ class ForceAcknowledge(StateData.StateData):
 	self.text.removeNode()
 	del(self.okButton)
 	self.isLoaded = 0
+	return None
 
     def __handleRollover(self):
 	return None