private void initSceneChangeTrigger() { var objectLayer = tiledMap.getObjectGroup("Object"); var maze5Object = objectLayer.objectWithName("maze5"); var mazeArea = objectLayer.objectWithName("mazeArea"); 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(168, 285); return(area); }); transition.onTransitionCompleted += () => { GameSetting.isGamePause = false; }; Core.startSceneTransition(transition); GameSetting.isGamePause = true; return(true); }; }; var maze = createSceneTrigger(mazeArea); maze.getComponent <SceneChangeTriggerComponent>().onAdded += () => { maze.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); }; }; }
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 += ()=>{ //}; }