Exemplo n.º 1
0
        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);
             */
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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;
        }