using UnityEngine; using System.Collections; using CommonAIClient.Unity.Utils; using System; using CommonAI.ZoneClient; using CommonAIClient.Client; namespace CommonAIClient.Unity.Battle { public abstract class BattleFactroy { private static BattleFactroy gInstance; public static BattleFactroy Instance { get { return gInstance; } } protected BattleFactroy() { gInstance = this; } public abstract BattleScene CreateBattleScene(AbstractBattle battle); public abstract GameObjectAdapter GameObjectAdapter { get; } public abstract TerrainAdapter TerrainAdapter { get; } public abstract SoundAdapter SoundAdapter { get; } public abstract int StageNavLay { get; } public abstract DisplayCell CreateDisplayCell(GameObject root, string name = "DisplayCell"); public abstract ComAICell CreateComAICell(BattleScene battleScene, CommonAI.ZoneClient.ZoneObject obj); public abstract void OnError(string msg); public abstract void MakeDamplingJoint(GameObject body, GameObject form, GameObject to); } }