Advertisement
AlisaCodeDragon

AITimerWnd.uc

Jun 24th, 2023
1,504
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
UnrealScript 7.86 KB | Source Code | 0 0
  1. class AITimerWnd extends UIScript;
  2. const TIMER_ID_COUNTDOWN = 2025;
  3. const TIMER_ID_COUNTUP = 2026;
  4. const TIMER_DELAY = 1000;
  5.  
  6. var WindowHandle Me;
  7. var WindowHandle MEBtn;
  8. var TextBoxHandle txtAITimerObject;
  9. var TextBoxHandle MinTxt;
  10. var TextBoxHandle SecTxt;
  11. var TextBoxHandle DividerTxt;
  12. var int UserID;
  13. var int EventID;
  14. var int ASK;
  15. var int Reply;
  16. var int Min;
  17. var int Sec;
  18. var int CurMin;
  19. var int CurSec;
  20. var int TargetMin;
  21. var int TargetSec;
  22. var int TempMin;
  23. var int TempSec;
  24. var string Param1;
  25. var string Param2;
  26. var string param3;
  27. var string param4;
  28. var string param5;
  29. var string param6;
  30. var string MinStr;
  31. var string SecStr;
  32. var bool m_InGameBool;
  33.  
  34. function OnLoad()
  35. {
  36.     if(1 == 0)
  37.     {
  38.         OnRegisterEvent();
  39.     }  
  40.     if(1 == 0)
  41.     {
  42.         Me = GetHandle("AITimerWnd");
  43.         MinTxt = TextBoxHandle(GetHandle("AITimerWnd.MinTxt"));
  44.         SecTxt = TextBoxHandle(GetHandle("AITimerWnd.SecTxt"));
  45.         DividerTxt = TextBoxHandle(GetHandle("AITimerWnd.DividerTxt"));
  46.         txtAITimerObject = TextBoxHandle(GetHandle("AITimerWnd.txtAITimerObject"));        
  47.     }
  48.     else
  49.     {
  50.         Me = GetWindowHandle("AITimerWnd");
  51.         MinTxt = GetTextBoxHandle("AITimerWnd.MinTxt");
  52.         SecTxt = GetTextBoxHandle("AITimerWnd.SecTxt");
  53.         DividerTxt = GetTextBoxHandle("AITimerWnd.DividerTxt");
  54.         txtAITimerObject = GetTextBoxHandle("AITimerWnd.txtAITimerObject");
  55.     }
  56.     return;
  57. }
  58.  
  59. function OnRegisterEvent()
  60. {
  61.     RegisterEvent(3550);
  62.     return;
  63. }
  64.  
  65. function OnEvent(int Event_ID, string param)
  66. {
  67.     switch(Event_ID)
  68.     {        
  69.         case 3550:
  70.             HandleAIController(param);          
  71.             break;        
  72.         default:
  73.             break;
  74.     }
  75.     return;
  76. }
  77.  
  78. function HandleAIController(string param)
  79. {
  80.     local string Param1, Param2, param3, param4;
  81.     local int EventID;
  82.  
  83.     ParseString(param, "Param1", Param1);
  84.     ParseString(param, "Param2", Param2);
  85.     ParseString(param, "Param3", param3);
  86.     ParseString(param, "Param4", param4);
  87.     ParseString(param, "Param5", param5);
  88.     ParseString(param, "Param6", param6);
  89.     ParseInt(param, "EventID", EventID);
  90.     Min = 0;
  91.     Sec = 0;
  92.     CurMin = 0;
  93.     CurSec = 0;
  94.     TargetMin = 0;
  95.     TargetSec = 0;  
  96.     if(EventID == 0)
  97.     {
  98.         switch(Param1)
  99.         {          
  100.             case "0":
  101.                 Me.KillTimer(2025);
  102.                 StartCountDown(int(Param2), int(param3), param4, int(param5), int(param6));            
  103.                 break;            
  104.             case "1":
  105.                 Me.KillTimer(2026);
  106.                 StartCountUp(int(Param2), int(param3), param4, int(param5), int(param6));                
  107.                 break;            
  108.             default:
  109.                 break;
  110.         }        
  111.     }
  112.     else
  113.     {        
  114.         if(EventID == 1)
  115.         {
  116.             switch(Param1)
  117.             {                
  118.                 case "0":
  119.                     MinTxt.HideWindow();
  120.                     SecTxt.HideWindow();
  121.                     DividerTxt.HideWindow();
  122.                     txtAITimerObject.HideWindow();
  123.                     Me.KillTimer(2025);                    
  124.                     break;              
  125.                 case "1":
  126.                     MinTxt.HideWindow();
  127.                     SecTxt.HideWindow();
  128.                     DividerTxt.HideWindow();
  129.                     txtAITimerObject.HideWindow();
  130.                     Me.KillTimer(2026);                  
  131.                     break;              
  132.                 default:
  133.                     break;
  134.             }
  135.         }
  136.         else
  137.         {
  138.         }
  139.         return;
  140.     }
  141. }
  142.  
  143. function OnTimer(int TimerID)
  144. {    
  145.     if(TimerID == 2025)
  146.     {        
  147.         if((Min == TargetMin) && Sec < 10)
  148.         {
  149.             MinTxt.HideWindow();
  150.             SecTxt.HideWindow();
  151.             DividerTxt.HideWindow();
  152.             txtAITimerObject.HideWindow();
  153.             Me.KillTimer(2025);            
  154.         }
  155.         else
  156.         {
  157.             txtAITimerObject.ShowWindow();
  158.             MinTxt.ShowWindow();
  159.             SecTxt.ShowWindow();
  160.             DividerTxt.ShowWindow();
  161.             UpdateTimerCountDown();
  162.         }        
  163.     }
  164.     else
  165.     {        
  166.         if(TimerID == 2026)
  167.         {            
  168.             if(TargetSec < 11)
  169.             {
  170.                 Debug((((("TargetMin" @ string(TargetMin)) @ "Min") @ string(Min)) @ "Sec") @ string(Sec));              
  171.                 if((Min == (TargetMin - 1)) && ((TargetSec + 60) - Sec) < 10)
  172.                 {
  173.                     MinTxt.HideWindow();
  174.                     SecTxt.HideWindow();
  175.                     DividerTxt.HideWindow();
  176.                     txtAITimerObject.HideWindow();
  177.                     Me.KillTimer(2026);                    
  178.                 }
  179.                 else
  180.                 {
  181.                     txtAITimerObject.ShowWindow();
  182.                     MinTxt.ShowWindow();
  183.                     SecTxt.ShowWindow();
  184.                     DividerTxt.ShowWindow();
  185.                     UpdateTimerCountUp();
  186.                 }                
  187.             }
  188.             else
  189.             {                
  190.                 if((Min == TargetMin) && (TargetSec - Sec) < 10)
  191.                 {
  192.                     MinTxt.HideWindow();
  193.                     SecTxt.HideWindow();
  194.                     DividerTxt.HideWindow();
  195.                     txtAITimerObject.HideWindow();
  196.                     Me.KillTimer(2026);                    
  197.                 }
  198.                 else
  199.                 {
  200.                     txtAITimerObject.ShowWindow();
  201.                     MinTxt.ShowWindow();
  202.                     SecTxt.ShowWindow();
  203.                     DividerTxt.ShowWindow();
  204.                     UpdateTimerCountUp();
  205.                 }
  206.             }
  207.         }
  208.     }
  209.     return;
  210. }
  211.  
  212. function UpdateTimerCountDown()
  213. {
  214.     MinStr = string(Min);
  215.     SecStr = string(Sec);    
  216.     if(Min < 10)
  217.     {
  218.         MinStr = "0" $ MinStr;
  219.     }  
  220.     if(Sec < 10)
  221.     {
  222.         SecStr = "0" $ SecStr;
  223.     }
  224.     MinTxt.SetText(MinStr);
  225.     SecTxt.SetText(SecStr);    
  226.     if(Sec == 0)
  227.     {
  228.         Sec = 59;
  229.         Min = Min - 1;        
  230.     }
  231.     else
  232.     {
  233.         Sec = Sec - 1;
  234.     }
  235.     return;
  236. }
  237.  
  238. function UpdateTimerCountUp()
  239. {
  240.     MinStr = string(Min);
  241.     SecStr = string(Sec);    
  242.     if(Min < 10)
  243.     {
  244.         MinStr = "0" $ MinStr;
  245.     }    
  246.     if(Sec < 10)
  247.     {
  248.         SecStr = "0" $ SecStr;
  249.     }
  250.     MinTxt.SetText(MinStr);
  251.     SecTxt.SetText(SecStr);    
  252.     if(Sec == 59)
  253.     {
  254.         Sec = 0;
  255.         Min = Min + 1;        
  256.     }
  257.     else
  258.     {
  259.         Sec = Sec + 1;
  260.     }
  261.     return;
  262. }
  263.  
  264. function TimerReset(int CurMin, int CurSec)
  265. {
  266.     Min = CurMin;
  267.     Sec = CurSec;
  268.     MinStr = string(Min);
  269.     SecStr = string(Sec);    
  270.     if(Min < 10)
  271.     {
  272.         MinStr = "0" $ MinStr;
  273.     }    
  274.     if(Sec < 10)
  275.     {
  276.         SecStr = "0" $ SecStr;
  277.     }
  278.     MinTxt.SetText(MinStr);
  279.     SecTxt.SetText(SecStr);
  280.     m_InGameBool = true;
  281.     return;
  282. }
  283.  
  284. function StartCountDown(int CurMin, int CurSec, string strDisplayTxt, int TMin, int TSec)
  285. {
  286.     CurMin = CurMin;
  287.     CurSec = CurSec;
  288.     TargetMin = TMin;
  289.     TargetSec = TSec;
  290.     TimerReset(CurMin, CurSec);
  291.     txtAITimerObject.SetText(strDisplayTxt);
  292.     Me.ShowWindow();
  293.     Me.SetTimer(2025, 1000);
  294.     return;
  295. }
  296.  
  297. function StartCountUp(int CurMin, int CurSec, string strDisplayTxt, int TMin, int TSec)
  298. {
  299.     CurMin = CurMin;
  300.     CurSec = CurSec;
  301.     TargetMin = TMin;
  302.     TargetSec = TSec;
  303.     Debug("TargetMin" @ string(TargetMin));
  304.     TimerReset(CurMin, CurSec);
  305.     txtAITimerObject.SetText(strDisplayTxt);
  306.     Me.ShowWindow();
  307.     Me.SetTimer(2026, 1000);
  308.     return;
  309. }
  310.  
  311. function OnHide()
  312. {
  313.     Me.KillTimer(2026);
  314.     Me.KillTimer(2025);
  315.     return;
  316. }
  317.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement