예제 #1
0
        public SoundInstance CreateSoundInstance()
        {
            var instance = new SoundInstance(this);
            Add(instance);

            return instance;
        }
예제 #2
0
 internal void RaiseStopEvent(SoundInstance instance)
 {
     if (OnStop != null)
         OnStop(instance);
 }
예제 #3
0
 internal void RaisePlayEvent(SoundInstance instance)
 {
     if (OnPlay != null)
         OnPlay(instance);
 }
예제 #4
0
        internal void Add(SoundInstance instanceToAdd)
        {
            if (createInternalInstance)
                internalInstances.Add(instanceToAdd);
            else
                externalInstances.Add(instanceToAdd);

            createInternalInstance = false;
            CreateChannel(instanceToAdd);
        }
예제 #5
0
 public abstract void StopInstance(SoundInstance instanceToStop);
예제 #6
0
		public override void StopInstance(SoundInstance instanceToStop)
		{
			playingInstances.Remove(instanceToStop);
		}
예제 #7
0
 public abstract bool IsPlaying(SoundInstance instance);
예제 #8
0
 protected abstract void RemoveChannel(SoundInstance instanceToRemove);
예제 #9
0
 protected abstract void RemoveChannel(SoundInstance instanceToRemove);
예제 #10
0
 protected abstract void CreateChannel(SoundInstance instanceToFill);
예제 #11
0
 public abstract void StopInstance(SoundInstance instanceToStop);
예제 #12
0
 public abstract void PlayInstance(SoundInstance instanceToPlay);
예제 #13
0
		public override bool IsPlaying(SoundInstance instance)
		{
			return playingInstances.Contains(instance);
		}
예제 #14
0
		protected override void RemoveChannel(SoundInstance instanceToRemove) { }
예제 #15
0
		protected override void CreateChannel(SoundInstance instanceToFill) { }
예제 #16
0
 internal void Remove(SoundInstance instanceToRemove)
 {
     internalInstances.Remove(instanceToRemove);
     externalInstances.Remove(instanceToRemove);
     RemoveChannel(instanceToRemove);
 }
예제 #17
0
 protected abstract void CreateChannel(SoundInstance instanceToFill);
예제 #18
0
 public abstract bool IsPlaying(SoundInstance instance);
예제 #19
0
 internal void Remove(SoundInstance instanceToRemove)
 {
     internalInstances.Remove(instanceToRemove);
     externalInstances.Remove(instanceToRemove);
     RemoveChannel(instanceToRemove);
 }
예제 #20
0
		public SoundInstance CreateSoundInstance()
		{
			var instance = new SoundInstance(this) { Volume = Settings.Current.SoundVolume };
			Add(instance);
			return instance;
		}
예제 #21
0
 public abstract void PlayInstance(SoundInstance instanceToPlay);
예제 #22
0
		public override void PlayInstance(SoundInstance instanceToPlay)
		{
			playingInstances.Add(instanceToPlay);
		}