Guest User

Untitled

a guest
Aug 23rd, 2019
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.68 KB | None | 0 0
  1. ###################################################################################################
  2. # Network
  3.  
  4. import app
  5. import chr
  6. import dbg
  7. import net
  8. import snd
  9.  
  10. import chr
  11. import chrmgr
  12. import background
  13. import player
  14. import playerSettingModule
  15.  
  16. import ui
  17. import uiPhaseCurtain
  18.  
  19. import localeInfo
  20.  
  21. class PopupDialog(ui.ScriptWindow):
  22.  
  23. def __init__(self):
  24. print "NEW POPUP DIALOG ----------------------------------------------------------------------------"
  25. ui.ScriptWindow.__init__(self)
  26. self.CloseEvent = 0
  27.  
  28. def __del__(self):
  29. print "---------------------------------------------------------------------------- DELETE POPUP DIALOG "
  30. ui.ScriptWindow.__del__(self)
  31.  
  32. def LoadDialog(self):
  33. PythonScriptLoader = ui.PythonScriptLoader()
  34. PythonScriptLoader.LoadScriptFile(self, "UIScript/PopupDialog.py")
  35.  
  36. def Open(self, Message, event = 0, ButtonName = localeInfo.UI_CANCEL):
  37.  
  38. if True == self.IsShow():
  39. self.Close()
  40.  
  41. self.Lock()
  42. self.SetTop()
  43. self.CloseEvent = event
  44.  
  45. AcceptButton = self.GetChild("accept")
  46. AcceptButton.SetText(ButtonName)
  47. AcceptButton.SetEvent(ui.__mem_func__(self.Close))
  48.  
  49. self.GetChild("message").SetText(Message)
  50. self.Show()
  51.  
  52. def Close(self):
  53.  
  54. if False == self.IsShow():
  55. self.CloseEvent = 0
  56. return
  57.  
  58. self.Unlock()
  59. self.Hide()
  60.  
  61. if 0 != self.CloseEvent:
  62. self.CloseEvent()
  63. self.CloseEvent = 0
  64.  
  65. def Destroy(self):
  66. self.Close()
  67. self.ClearDictionary()
  68.  
  69. def OnPressEscapeKey(self):
  70. self.Close()
  71. return True
  72.  
  73. def OnIMEReturn(self):
  74. self.Close()
  75. return True
  76.  
  77. ##
  78. ## Main Stream
  79. ##
  80. class MainStream(object):
  81. isChrData=0
  82.  
  83. def __init__(self):
  84. print "NEWMAIN STREAM ----------------------------------------------------------------------------"
  85. net.SetHandler(self)
  86. net.SetTCPRecvBufferSize(128*1024)
  87. net.SetTCPSendBufferSize(4096)
  88. net.SetUDPRecvBufferSize(4096)
  89.  
  90. self.id=""
  91. self.pwd=""
  92. self.addr=""
  93. self.port=0
  94. self.account_addr=0
  95. self.account_port=0
  96. self.slot=0
  97. self.isAutoSelect=0
  98. self.isAutoLogin=0
  99.  
  100. self.curtain = 0
  101. self.curPhaseWindow = 0
  102. self.newPhaseWindow = 0
  103.  
  104. def __del__(self):
  105. print "---------------------------------------------------------------------------- DELETE MAIN STREAM "
  106.  
  107. def Destroy(self):
  108. if self.curPhaseWindow:
  109. self.curPhaseWindow.Close()
  110. self.curPhaseWindow = 0
  111.  
  112. if self.newPhaseWindow:
  113. self.newPhaseWindow.Close()
  114. self.newPhaseWindow = 0
  115.  
  116. self.popupWindow.Destroy()
  117. self.popupWindow = 0
  118.  
  119. self.curtain = 0
  120.  
  121. def Create(self):
  122. self.CreatePopupDialog()
  123.  
  124. self.curtain = uiPhaseCurtain.PhaseCurtain()
  125.  
  126. def SetPhaseWindow(self, newPhaseWindow):
  127. if self.newPhaseWindow:
  128. #print "이미 새로운 윈도우로 바꾼상태에서 또 바꿈", newPhaseWindow
  129. self.__ChangePhaseWindow()
  130.  
  131. self.newPhaseWindow=newPhaseWindow
  132.  
  133. if self.curPhaseWindow:
  134. #print "페이드 아웃되면 바꿈"
  135. self.curtain.FadeOut(self.__ChangePhaseWindow)
  136. else:
  137. #print "현재 윈도우가 없는 상태라 바로 바꿈"
  138. self.__ChangePhaseWindow()
  139.  
  140. def __ChangePhaseWindow(self):
  141. oldPhaseWindow=self.curPhaseWindow
  142. newPhaseWindow=self.newPhaseWindow
  143. self.curPhaseWindow=0
  144. self.newPhaseWindow=0
  145.  
  146. if oldPhaseWindow:
  147. oldPhaseWindow.Close()
  148.  
  149. if newPhaseWindow:
  150. newPhaseWindow.Open()
  151.  
  152. self.curPhaseWindow=newPhaseWindow
  153.  
  154. if self.curPhaseWindow:
  155. self.curtain.FadeIn()
  156. else:
  157. app.Exit()
  158.  
  159. def CreatePopupDialog(self):
  160. self.popupWindow = PopupDialog()
  161. self.popupWindow.LoadDialog()
  162. self.popupWindow.SetCenterPosition()
  163. self.popupWindow.Hide()
  164.  
  165.  
  166. ## SelectPhase
  167. ##########################################################################################
  168. def SetLogoPhase(self):
  169. net.Disconnect()
  170.  
  171. import introLogo
  172. self.SetPhaseWindow(introLogo.LogoWindow(self))
  173.  
  174. def SetLoginPhase(self):
  175. net.Disconnect()
  176.  
  177. import introLogin
  178. self.SetPhaseWindow(introLogin.LoginWindow(self))
  179.  
  180. def SameLogin_SetLoginPhase(self):
  181. net.Disconnect()
  182.  
  183. import introLogin
  184. introInst = introLogin.LoginWindow(self)
  185. self.SetPhaseWindow(introInst)
  186. introInst.SameLogin_OpenUI()
  187.  
  188. def SetSelectEmpirePhase(self):
  189. try:
  190. import introEmpire
  191. self.SetPhaseWindow(introEmpire.SelectEmpireWindow(self))
  192. except:
  193. import exception
  194. exception.Abort("networkModule.SetSelectEmpirePhase")
  195.  
  196.  
  197. def SetReselectEmpirePhase(self):
  198. try:
  199. import introEmpire
  200. self.SetPhaseWindow(introEmpire.ReselectEmpireWindow(self))
  201. except:
  202. import exception
  203. exception.Abort("networkModule.SetReselectEmpirePhase")
  204.  
  205. def SetSelectCharacterPhase(self):
  206. try:
  207. localeInfo.LoadLocaleData()
  208. import introSelect
  209. self.popupWindow.Close()
  210. self.SetPhaseWindow(introSelect.SelectCharacterWindow(self))
  211. except:
  212. import exception
  213. exception.Abort("networkModule.SetSelectCharacterPhase")
  214.  
  215. def SetCreateCharacterPhase(self):
  216. try:
  217. import introCreate
  218. self.SetPhaseWindow(introCreate.CreateCharacterWindow(self))
  219. except:
  220. import exception
  221. exception.Abort("networkModule.SetCreateCharacterPhase")
  222.  
  223. def SetTestGamePhase(self, x, y):
  224. try:
  225. import introLoading
  226. loadingPhaseWindow=introLoading.LoadingWindow(self)
  227. loadingPhaseWindow.LoadData(x, y)
  228. self.SetPhaseWindow(loadingPhaseWindow)
  229. except:
  230. import exception
  231. exception.Abort("networkModule.SetLoadingPhase")
  232.  
  233.  
  234.  
  235. def SetLoadingPhase(self):
  236. try:
  237. import introLoading
  238. self.SetPhaseWindow(introLoading.LoadingWindow(self))
  239. except:
  240. import exception
  241. exception.Abort("networkModule.SetLoadingPhase")
  242.  
  243. def SetGamePhase(self):
  244. try:
  245. import game
  246. self.popupWindow.Close()
  247. self.SetPhaseWindow(game.GameWindow(self))
  248. except:
  249. raise
  250. import exception
  251. exception.Abort("networkModule.SetGamePhase")
  252.  
  253. ################################
  254. # Functions used in python
  255.  
  256. ## Login
  257. def Connect(self):
  258. import constInfo
  259. if constInfo.KEEP_ACCOUNT_CONNETION_ENABLE:
  260. net.ConnectToAccountServer(self.addr, self.port, self.account_addr, self.account_port)
  261. else:
  262. net.ConnectTCP(self.addr, self.port)
  263.  
  264. #net.ConnectUDP(IP, Port)
  265.  
  266. def SetConnectInfo(self, addr, port, account_addr=0, account_port=0):
  267. self.addr = addr
  268. self.port = port
  269. self.account_addr = account_addr
  270. self.account_port = account_port
  271.  
  272. def GetConnectAddr(self):
  273. return self.addr
  274.  
  275. def SetLoginInfo(self, id, pwd):
  276. self.id = id
  277. self.pwd = pwd
  278. net.SetLoginInfo(id, pwd)
  279.  
  280. def CancelEnterGame(self):
  281. pass
  282.  
  283. ## Select
  284. def SetCharacterSlot(self, slot):
  285. self.slot=slot
  286.  
  287. def GetCharacterSlot(self):
  288. return self.slot
  289.  
  290. ## Empty
  291. def EmptyFunction(self):
  292. pass
Add Comment
Please, Sign In to add comment