public Unit CreateUnit(int configId, int campId, UnitType type, TSVector bornPosition, TSVector bornForward) { Unit unit = null; switch (type) { case UnitType.AirShip: unit = BehaviourPool <UnitAirShip> .Instance.GetObject(m_cUnitRoot.transform); break; } if (unit != null) { uint unitId = GameInTool.GenerateUnitId(); unit.name = "unit_" + type + "_" + unitId; unit.Init(unitId, configId, campId, type, bornPosition, bornForward); m_cUnitContainer.Add(unit); } return(unit); }