megaphone.c 862 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. class Megaphone extends ItemMegaphone
  2. {
  3. override bool IsTransmitter()
  4. {
  5. return true;
  6. }
  7. //--- POWER EVENTS
  8. override void OnSwitchOn()
  9. {
  10. if ( !GetCompEM().CanWork() )
  11. {
  12. GetCompEM().SwitchOff();
  13. }
  14. }
  15. override void OnWorkStart()
  16. {
  17. //turn device on
  18. SwitchOn ( true ); // Note: This is not Energy Manager function. This is engine function.
  19. }
  20. override void OnWorkStop()
  21. {
  22. //auto switch off (EM)
  23. GetCompEM().SwitchOff();
  24. //turn off device
  25. SwitchOn ( false ); // Note: This is not Energy Manager function. This is engine function.
  26. }
  27. //TODO add turn on/off actions
  28. //proto native bool CanSpeak();
  29. //proto native void SetCanSpeak(bool onOff);
  30. override void SetActions()
  31. {
  32. super.SetActions();
  33. AddAction(ActionTurnOnTransmitter);
  34. AddAction(ActionTurnOffTransmitter);
  35. AddAction(ActionRaiseMegaphone);
  36. }
  37. }