home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 56 / CDPowerplay56Disc2.iso / demos / blade / data1.cab / Program_Executable_Files / Lib / PhantonFX.py < prev    next >
Encoding:
Text File  |  2000-10-27  |  2.3 KB  |  100 lines

  1. import Bladex
  2.  
  3. Bladex.CreateTimer("AlphaTimer",0.05)
  4.  
  5. Delta  = 0.025
  6. SecAgo = 0.0
  7.  
  8. OnAppears    = {}
  9. OnDisappears = {}
  10.  
  11. ###  TimerFunc  
  12. #################
  13. def Appears(e_name, time):
  14.  
  15.    esq          = Bladex.GetEntity(e_name)
  16.    if esq.InvRight:
  17.      Der          = Bladex.GetEntity(esq.InvRight)
  18.    else:
  19.      Der          = None
  20.  
  21.    if esq.InvLeft:
  22.      Izq          = Bladex.GetEntity(esq.InvLeft)
  23.    else:
  24.      Izq          = None
  25.  
  26.    val    = esq.Alpha + OnAppears[e_name][1]   
  27.    if val >= 1.0 :
  28.      esq.TimerFunc  = ""     
  29.      esq.RemoveFromList("AlphaTimer")
  30.      val            = 1.0
  31.      if OnAppears[e_name][0] <>"":
  32.        OnAppears[e_name][0](e_name)
  33.        del OnAppears[e_name]
  34.  
  35.  
  36.    esq.Alpha      = val
  37.    if Der:
  38.      Der.Alpha      = val
  39.    if Izq:
  40.      Izq.Alpha      = val
  41.  
  42.  
  43.  
  44. ###  TimerFunc  
  45. #################
  46. def Disappears(e_name, time):
  47.    
  48.    esq          =  Bladex.GetEntity(e_name)
  49.    if esq.InvRight:
  50.      Der          = Bladex.GetEntity(esq.InvRight)
  51.    else:
  52.      Der          = None
  53.  
  54.    if esq.InvLeft:
  55.      Izq          = Bladex.GetEntity(esq.InvLeft)
  56.    else:
  57.      Izq          = None
  58.  
  59.    val    = esq.Alpha - OnDisappears[e_name][1]   
  60.    if val <= 0.0 :
  61.      esq.TimerFunc  = ""
  62.      esq.RemoveFromList("AlphaTimer")
  63.      esq.Life       = 0     
  64.      Bladex.AddScheduledFunc(Bladex.GetTime()+OnDisappears[e_name][2], esq.SubscribeToList,("Pin",))
  65.      val            = 0.0
  66.      if OnDisappears[e_name][0] <>"":
  67.        OnDisappears[e_name][0](e_name)
  68.        del OnDisappears[e_name]
  69.  
  70.    esq.Alpha        = val
  71.    if Der:
  72.      Der.Alpha      = val
  73.    if Izq:
  74.      Izq.Alpha      = val
  75.  
  76.  
  77. #
  78. #  If the object appears....
  79. #------------------------------------
  80. def AppearsChar(charnam,func=""):
  81.         global Delta
  82.         global SecAgo
  83.         
  84.         esq            = Bladex.GetEntity(charnam)
  85.         esq.TimerFunc  = Appears
  86.         esq.SubscribeToList("AlphaTimer")        
  87.         OnAppears[charnam] = (func,Delta,SecAgo)
  88.  
  89. #
  90. #  If the object Disappears....
  91. #------------------------------------
  92. def DisappearsChar(charnam,func=""):
  93.         global Delta
  94.         global SecAgo
  95.         
  96.         esq            = Bladex.GetEntity(charnam)
  97.         esq.TimerFunc  = Disappears
  98.         esq.SubscribeToList("AlphaTimer")
  99.         OnDisappears[charnam] = (func,Delta,SecAgo)
  100.