private void InitFlyingVehicle(TransformData transformData) { m_flyingVehicle = EntityFactory.InstanceEntity <FlyingVehicle>(); m_flyingVehicle.Create(m_data, m_container.transform); m_flyingVehicle.onTriggerEvent += (string tag) => { if (string.IsNullOrEmpty(tag)) { return; } switch (tag) { case GameTagDefine.OBSTACLE: m_gameState = PlayerGameState.Death; break; case GameTagDefine.END: m_gameState = PlayerGameState.ArrivedAtTheEnd; break; } }; // 初始化飞行载具的transform信息 m_flyingVehicle.InitTransform(transformData); /* * TranslateData tarnslateData = (Transform body) => transformData.position; * m_flyingVehicle.SaveTransData(tarnslateData); * * RotationData rotationData = (Transform body) => transformData.rotation; * m_flyingVehicle.SaveTransData(rotationData); */ }
public static void Main() { //get everything var cessna = new Cessna(); var hovercraft = new HoverCraft(); var jetski = new JetSki(); var boat = new Boat(); var motorcycle = new Motorcycle(); var car = new Car(); // Build a collection of all vehicles that fly var FlyingVehicles = new List <IFly> { cessna }; FlyingVehicles.Add(cessna); FlyingVehicles.Add(hovercraft); foreach (var FlyingVehicle in FlyingVehicles) { FlyingVehicle.Fly(); } // Build a collection of all vehicles that operate on roads var RoadVehicles = new List <ILand> { motorcycle }; RoadVehicles.Add(motorcycle); RoadVehicles.Add(car); // With a single `foreach`, have each road vehicle Drive() foreach (var RoadVehicle in RoadVehicles) { RoadVehicle.Drive(); } // Build a collection of all vehicles that operate on water var WaterVehicles = new List <IWater> { jetski, boat }; WaterVehicles.Add(jetski); WaterVehicles.Add(boat); // With a single `foreach`, have each water vehicle Drive() foreach (var WaterVehicle in WaterVehicles) { WaterVehicle.Drive(); } Console.Read(); }
public void Release() { ReleaseCompoent(); EntityFactory.ReleaseEntity(m_flyingVehicle); m_flyingVehicle = null; if (m_container != null) { GameObject.Destroy(m_container); m_container = null; } m_context = null; m_data = null; }