cacontinuousloadmagazine.c 982 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. class CAContinuousLoadMagazine : CAContinuousRepeat
  2. {
  3. protected float m_TargetUnits;
  4. protected float m_SpentQuantity;
  5. protected float m_ItemQuantity;
  6. protected float m_ItemMaxQuantity;
  7. protected float m_SourceQuantity;
  8. protected float m_QuantityFilledPerSecond;
  9. //protected ref Param1<float> m_SpentUnits;
  10. void CAContinuousLoadMagazine( float time_to_complete_action )
  11. {
  12. m_DefaultTimeToComplete = time_to_complete_action;
  13. }
  14. override void Setup( ActionData action_data )
  15. {
  16. super.Setup(action_data);
  17. m_SpentQuantity = 0;
  18. if ( !m_SpentUnits )
  19. {
  20. m_SpentUnits = new Param1<float>(0);
  21. }
  22. else
  23. {
  24. m_SpentUnits.param1 = 0;
  25. }
  26. Magazine itm;
  27. Class.CastTo(itm, action_data.m_MainItem);
  28. m_ItemQuantity = itm.GetAmmoCount();
  29. m_ItemMaxQuantity = itm.GetAmmoMax();
  30. Magazine trg;
  31. Class.CastTo(trg, action_data.m_Target.GetObject() );
  32. m_SourceQuantity = trg.GetAmmoCount();
  33. m_TargetUnits = itm.GetAmmoMax();
  34. }
  35. };