statecb.c 812 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. class SymptomCB extends HumanCommandActionCallback
  2. {
  3. //int m_SymptomUID;
  4. float m_RunTime;
  5. float m_StartingTime;
  6. PlayerBase m_Player;
  7. override void OnFinish(bool pCanceled)
  8. {
  9. if( m_Player && m_Player.GetSymptomManager())
  10. {
  11. m_Player.GetSymptomManager().OnAnimationFinished();
  12. }
  13. }
  14. void Init(float run_time, PlayerBase player)
  15. {
  16. EnableCancelCondition(true);
  17. m_RunTime = run_time * 1000;
  18. m_StartingTime = GetGame().GetTime();
  19. m_Player = player;
  20. if( m_Player && m_Player.GetSymptomManager())
  21. {
  22. m_Player.GetSymptomManager().OnAnimationStarted();
  23. }
  24. }
  25. bool CancelCondition()
  26. {
  27. if(m_RunTime > 0 && (GetGame().GetTime() > m_StartingTime + m_RunTime))
  28. {
  29. return true;
  30. }
  31. else
  32. {
  33. return false;
  34. }
  35. }
  36. override bool IsSymptomCallback()
  37. {
  38. return true;
  39. }
  40. };