using System; using Aurora.Backend.Server.Party; using Aurora.Backend.Client.Party; namespace Aurora.Backend.Executors { public abstract class BasePartyExecutor : BaseExecutor { public BasePartyExecutor() { } public static BasePartyExecutor Create(ExecutorType type) { BasePartyExecutor executor = null; switch (type) { case ExecutorType.Client: { executor = new ClientPartyExecutor(); break; } case ExecutorType.Server: { executor = new HostPartyExecutor(); break; } } return executor; } public abstract void Initialize(); public abstract void Run(); public abstract void Close(); public abstract void GetMembers(); public abstract void GetQueue(); public abstract void AddToQueue(); public abstract void RemoveFromQueue(); public abstract void Play(); public abstract void Pause(); public abstract void Stop(); public abstract void Next(); public abstract void Previous(); } }