Exemplo n.º 1
0
        public GameLayer(World world, HexMexCamera camera, CCColor4B color) : base(color)
        {
            HexMexCamera = camera;
            TouchHandler = new GameTouchHandler(this, HexMexCamera);
            World        = world;
            var hexagonLayer         = new HexagonLayer(World, HexMexCamera);
            var edgeLayer            = new EdgeLayer(World, HexMexCamera);
            var resourcePackageLayer = new ResourcePackageLayer(World, HexMexCamera);
            var structureLayer       = new StructureLayer(World, HexMexCamera);
            var controlLayer         = new ButtonLayer(World, HexMexCamera);
            var statisticLayer       = new StatisticLayer(World);
            var researchButtonLayer  = new ReseachLayer(World);
            var menuLayer            = new MenuLayer(World, HexMexCamera);

            controlLayer.ConstructionRequested        += (buttonLayer, buildButton) => ConstructionMenuRequested(buildButton, menuLayer);
            controlLayer.DisplayStructureRequested    += (buttonLayer, structureButton) => DisplayStructureMenu(structureButton, menuLayer);
            researchButtonLayer.ResearchButtonTouched += rbl => DisplayResearchMenu(menuLayer);

            var layers = new CCLayer[] { hexagonLayer, edgeLayer, resourcePackageLayer, structureLayer, controlLayer, statisticLayer, researchButtonLayer, menuLayer };

            foreach (var layer in layers)
            {
                AddChild(layer);
            }

            TouchLayers = new ReadOnlyCollection <TouchLayer>(layers.OfType <TouchLayer>().Reverse().ToList());

            BuildMenu = new BuildMenu(World.UnlockManager, World.GameSettings.VisualSettings, World.GameSettings.LanguageSettings, world.GameSettings.BuildingDescriptionDatabase);
            BuildMenu.ConstructionRequested += ConstructBuilding;
            StructureMenu = new StructureMenu(World.GameSettings.VisualSettings, World);
            ResearchMenu  = new ResearchMenu(World.GameSettings.BuildingDescriptionDatabase, World.UnlockManager, World.GameSettings.VisualSettings, World.GameSettings.LanguageSettings);

            Schedule();
        }
Exemplo n.º 2
0
 private void DisplayStructureMenu(StructureButton structureButton, MenuLayer menuLayer)
 {
     BuildMenu.TargetNode    = structureButton.Structure.Position;
     StructureMenu.Structure = structureButton.Structure;
     menuLayer.DisplayMenu(StructureMenu);
 }
Exemplo n.º 3
0
 private void DisplayResearchMenu(MenuLayer menuLayer)
 {
     menuLayer.DisplayMenu(ResearchMenu);
 }
Exemplo n.º 4
0
 private void ConstructionMenuRequested(BuildButton buildButton, MenuLayer menuLayer)
 {
     BuildMenu.TargetNode = buildButton.HexagonNode;
     menuLayer.DisplayMenu(BuildMenu);
 }