Esempio n. 1
0
        private void initSceneChangeTrigger()
        {
            var objectLayer = tiledMap.getObjectGroup("Object");

            var maze1Object = objectLayer.objectWithName("maze1");
            var maze5Object = objectLayer.objectWithName("maze5");

            var maze1 = createSceneTrigger(maze1Object);

            maze1.getComponent <SceneChangeTriggerComponent>().onAdded += () =>
            {
                maze1.getComponent <SceneChangeTriggerComponent>().GetFixture().onCollision += (fixtureA, fixtureB, contact) =>
                {
                    var area       = new Maze01();
                    var transition = new FadeTransition(() =>
                    {
                        player.detachFromScene();
                        player.attachToScene(area);
                        player.setPosition(295, 145);
                        return(area);
                    });
                    transition.onTransitionCompleted += () =>
                    {
                        GameSetting.isGamePause = false;
                    };
                    Core.startSceneTransition(transition);

                    GameSetting.isGamePause = true;
                    return(true);
                };
            };

            var maze5 = createSceneTrigger(maze5Object);

            maze5.getComponent <SceneChangeTriggerComponent>().onAdded += () =>
            {
                maze5.getComponent <SceneChangeTriggerComponent>().GetFixture().onCollision += (fixtureA, fixtureB, contact) =>
                {
                    var area       = new  Maze05();
                    var transition = new FadeTransition(() =>
                    {
                        player.detachFromScene();
                        player.attachToScene(area);
                        player.setPosition(23, 170);
                        return(area);
                    });
                    transition.onTransitionCompleted += () =>
                    {
                        GameSetting.isGamePause = false;
                    };
                    Core.startSceneTransition(transition);

                    GameSetting.isGamePause = true;
                    return(true);
                };
            };
        }
Esempio n. 2
0
        private void initSceneChangeTrigger()
        {
            var objectLayer      = tiledMap.getObjectGroup("Object");
            var outTriggerObject = objectLayer.objectWithName("outTrigger");
            var mazeTirgger      = objectLayer.objectWithName("maze1Trigger");


            var outEntity = createSceneTrigger(outTriggerObject);

            outEntity.getComponent <SceneChangeTriggerComponent>().onAdded += () =>
            {
                outEntity.getComponent <SceneChangeTriggerComponent>().GetFixture().onCollision += (fixtureA, fixtureB, contact) =>
                {
                    var area       = new DongZhuangMazeArea();
                    var transition = new FadeTransition(() =>
                    {
                        player.detachFromScene();
                        player.attachToScene(area);
                        player.setPosition(105, 145);
                        return(area);
                    });
                    transition.onTransitionCompleted += () =>
                    {
                        GameSetting.isGamePause = false;
                    };
                    Core.startSceneTransition(transition);

                    GameSetting.isGamePause = true;
                    return(true);
                };
            };

            var mazeEntity = createSceneTrigger(mazeTirgger);

            mazeEntity.getComponent <SceneChangeTriggerComponent>().onAdded += () =>
            {
                mazeEntity.getComponent <SceneChangeTriggerComponent>().GetFixture().onCollision += (fixtureA, fixtureB, contact) =>
                {
                    var area       = new Maze01();
                    var transition = new FadeTransition(() =>
                    {
                        player.detachFromScene();
                        player.attachToScene(area);
                        player.setPosition(150, 280);
                        return(area);
                    });
                    transition.onTransitionCompleted += () =>
                    {
                        GameSetting.isGamePause = false;
                    };
                    Core.startSceneTransition(transition);

                    GameSetting.isGamePause = true;
                    return(true);
                };
            };
            //var outEntity = createEntity("outEntity").setPosition(outTriggerObject.position+new Vector2(outTriggerObject.width/2f,outTriggerObject.height/2f));
            //outEntity.addComponent<FSRigidBody>()
            //    .setBodyType(BodyType.Dynamic);

            //var outTrigger = outEntity.addComponent<SceneChangeTriggerComponent>();
            //outTrigger.setSize(outTriggerObject.width, outTriggerObject.height);
            //outTrigger.setIsSensor(true);
            //outTrigger.setCollisionCategories(CollisionSetting.tiledObjectCategory);
            //outTrigger.setCollidesWith(CollisionSetting.playerCategory);

            //outTrigger.onAdded += ()=>{

            //};
        }