源战役客户端
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

113 wiersze
3.0 KiB

1 miesiąc temu
  1. SoundModel = SoundModel or BaseClass(BaseModel)
  2. --npc 相同声音播放间隔
  3. SoundModel.NPC_SOUND_INTERVAL = 10
  4. function SoundModel:__init()
  5. SoundModel.Instance = self
  6. --NPC播放声音的时间
  7. self.last_play_time = 0
  8. --npc最后一次播放的声音
  9. self.last_play_sound = ""
  10. end
  11. function SoundModel:getInstance()
  12. if SoundModel.Instance == nil then
  13. SoundModel.New();
  14. end
  15. return SoundModel.Instance;
  16. end
  17. function SoundModel:IsInLimitTime()
  18. local insterval = Status.NowTime - self.last_play_time
  19. if insterval > SoundModel.NPC_SOUND_INTERVAL then
  20. return false
  21. end
  22. return true
  23. end
  24. function SoundModel:PlayNpcSound(npc_id)
  25. local cfg = Config.ConfigNpcSound.Sound[npc_id]
  26. if cfg then
  27. local sound = Trim(cfg.sound)
  28. if sound ~= "" then
  29. if sound == self.last_play_sound and self:IsInLimitTime() then
  30. return
  31. else
  32. if lua_soundM then
  33. --播放之前看看有咩有存在之前的音乐
  34. if self.sound_id then
  35. lua_soundM:StopEffect(self,LuaSoundManager.SOUND_TYPE.NPC,self.sound_id)
  36. end
  37. self.last_play_time = Status.NowTime
  38. self.last_play_sound = Trim(cfg.sound)
  39. self.sound_id = lua_soundM:PlayEffect(self, Trim(cfg.sound),false,LuaSoundManager.SOUND_TYPE.NPC)
  40. end
  41. end
  42. end
  43. end
  44. end
  45. function SoundModel:PlayTaskSound(task_id)
  46. -- local cfg = Config.ConfigNpcSound.Task[task_id]
  47. -- if cfg then
  48. -- local sound = Trim(cfg.sound)
  49. -- if sound ~= "" then
  50. -- if lua_soundM then
  51. -- --播放之前看看有咩有存在之前的音乐
  52. -- if self.sound_id then
  53. -- lua_soundM:StopEffect(self,LuaSoundManager.SOUND_TYPE.NPC,self.sound_id)
  54. -- end
  55. -- self.last_play_time = Status.NowTime
  56. -- self.last_play_sound = Trim(cfg.sound)
  57. -- self.sound_id = lua_soundM:PlayEffect(self, Trim(cfg.sound),false,LuaSoundManager.SOUND_TYPE.NPC)
  58. -- end
  59. -- end
  60. -- end
  61. lua_soundM:PlayUIEffectSound(LuaSoundManager.SOUND_UI.UPGRADE)
  62. end
  63. function SoundModel:PlayTaskCompleteSound(task_id)
  64. local cfg = Config.ConfigNpcSound.Task[task_id]
  65. if cfg then
  66. local sound = Trim(cfg.sound)
  67. if sound ~= "" then
  68. if lua_soundM then
  69. --播放之前看看有咩有存在之前的音乐
  70. if self.sound_id then
  71. lua_soundM:StopEffect(self,LuaSoundManager.SOUND_TYPE.NPC,self.sound_id)
  72. end
  73. self.last_play_time = Status.NowTime
  74. self.last_play_sound = Trim(cfg.sound)
  75. self.sound_id = lua_soundM:PlayEffect(self, Trim(cfg.sound),false,LuaSoundManager.SOUND_TYPE.NPC)
  76. end
  77. end
  78. end
  79. end
  80. function SoundModel:PlayTaskAcceptSound(task_id)
  81. local cfg = Config.ConfigNpcSound.AcceptTask[task_id]
  82. if cfg then
  83. local sound = Trim(cfg.sound)
  84. if sound ~= "" then
  85. if lua_soundM then
  86. --播放之前看看有咩有存在之前的音乐
  87. if self.sound_id then
  88. lua_soundM:StopEffect(self,LuaSoundManager.SOUND_TYPE.NPC,self.sound_id)
  89. end
  90. self.last_play_time = Status.NowTime
  91. self.last_play_sound = Trim(cfg.sound)
  92. self.sound_id = lua_soundM:PlayEffect(self, Trim(cfg.sound),false,LuaSoundManager.SOUND_TYPE.NPC)
  93. end
  94. end
  95. end
  96. end