AssetAudioPlayButton.cs 638 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. function AssetAudioPlayButton::onClick(%this)
  2. {
  3. if(alxIsPlaying(%this.sound))
  4. {
  5. %this.resetSound();
  6. }
  7. else
  8. {
  9. %this.sound = alxPlay(%this.assetID);
  10. %this.setText("Stop");
  11. if(!%this.asset.Looping)
  12. {
  13. %this.soundSchedule = %this.schedule(100, "testSound");
  14. }
  15. }
  16. }
  17. function AssetAudioPlayButton::testSound(%this)
  18. {
  19. if(alxIsPlaying(%this.sound))
  20. {
  21. %this.soundSchedule = %this.schedule(100, "testSound");
  22. }
  23. else
  24. {
  25. %this.setText("Play");
  26. }
  27. }
  28. function AssetAudioPlayButton::resetSound(%this)
  29. {
  30. if(alxIsPlaying(%this.sound))
  31. {
  32. alxStop(%this.sound);
  33. %this.setText("Play");
  34. cancel(%this.soundSchedule);
  35. }
  36. }