mirror of
https://github.com/cyberarm/i-mic-fps.git
synced 2025-12-15 15:42:35 +00:00
Unfreeze SoundManager caches
This commit is contained in:
@@ -4,9 +4,9 @@ class IMICFPS
|
|||||||
module SoundManager
|
module SoundManager
|
||||||
extend CyberarmEngine::Common
|
extend CyberarmEngine::Common
|
||||||
|
|
||||||
MASTERS = {}.freeze
|
@masters = {}
|
||||||
EFFECTS = [].freeze
|
@effects = []
|
||||||
PLAYLISTS = {}.freeze
|
@playlists = {}
|
||||||
|
|
||||||
def self.master_volume
|
def self.master_volume
|
||||||
1.0
|
1.0
|
||||||
@@ -21,10 +21,10 @@ class IMICFPS
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.load_master(package)
|
def self.load_master(package)
|
||||||
return if MASTERS[package]
|
return if @masters[package]
|
||||||
|
|
||||||
yaml = YAML.load_file("#{IMICFPS.assets_path}/#{package}/shared/sound/master.yaml")
|
yaml = YAML.load_file("#{IMICFPS.assets_path}/#{package}/shared/sound/master.yaml")
|
||||||
MASTERS[package] = yaml
|
@masters[package] = yaml
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.sound(package, name)
|
def self.sound(package, name)
|
||||||
@@ -37,7 +37,7 @@ class IMICFPS
|
|||||||
|
|
||||||
def self.sound_data(package, name)
|
def self.sound_data(package, name)
|
||||||
load_master(package)
|
load_master(package)
|
||||||
if master = MASTERS[package]
|
if master = @masters[package]
|
||||||
return master["sounds"].find { |s| s["name"] == name }
|
return master["sounds"].find { |s| s["name"] == name }
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -45,11 +45,11 @@ class IMICFPS
|
|||||||
end
|
end
|
||||||
|
|
||||||
def self.sound_effect(klass, options)
|
def self.sound_effect(klass, options)
|
||||||
EFFECTS << klass.new(options)
|
@effects << klass.new(options)
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.update
|
def self.update
|
||||||
EFFECTS.each { |e| e.update; EFFECTS.delete(e) if e.done? }
|
@effects.each { |e| e.update; @effects.delete(e) if e.done? }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user