protected override void AddedToScene() { base.AddedToScene(); var actualSize = Scene.Window.WindowSizeInPixels; var hexMexCamera = new HexMexCamera(VisibleBoundsWorldspace.Size); Camera = hexMexCamera; var radius = actualSize.Width / 4 * 1f; StartGameButton.Radius = radius; HelpButton.Radius = radius; //OptionsButton.Radius = radius; var d = Math.Sin(Math.PI / 3) * radius * 2; var deltaX = Math.Sin(Math.PI / 6) * d; var deltaY = Math.Cos(Math.PI / 6) * d; StartGameButton.PositionX = (float)(deltaX / 2); StartGameButton.PositionY = 0 + StartGameButton.Radius; HelpButton.PositionX = (float)(StartGameButton.PositionX - deltaX); HelpButton.PositionY = (float)(StartGameButton.PositionY - deltaY); //OptionsButton.PositionX = (float)(StartGameButton.PositionX + deltaX); //OptionsButton.PositionY = (float)(StartGameButton.PositionY - deltaY); AddChild(StartGameButton); AddChild(HelpButton); //AddChild(OptionsButton); hexMexCamera.MoveToPosition(CCPoint.Zero); }
public MenuLayer(World world, HexMexCamera hexMexCamera) { VisualSettings = world.GameSettings.VisualSettings; HexMexCamera = hexMexCamera; Visible = false; AddChild(DrawNode); }
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(); }
public HexagonLayer(World world, HexMexCamera camera) : base(camera) { Corners = HexagonHelper.GenerateWorldCorners(CCPoint.Zero, 1).ToArray(); World = world; World.HexagonManager.HexagonRevealed += (hm, h) => Render(); AddChild(DrawNode); Render(); }
public EdgeLayer(World world, HexMexCamera camera) : base(camera) { World = world; World.StructureManager.StructureAdded += (sm, s) => RedrawRequested = true; World.StructureManager.StructureRemoved += (sm, s) => RedrawRequested = true; AddChild(DrawNode); Schedule(); }
public ResourcePackageLayer(World world, HexMexCamera camera) : base(camera) { World = world; world.ResourceManager.PackageStarted += ResourceManager_PackageStarted; world.ResourceManager.PackageArrived += ResourceManager_PackageArrived; AddChild(DrawNode); Schedule(); }
public ButtonLayer(World world, HexMexCamera hexMexCamera) : base(hexMexCamera) { GameSettings = world.GameSettings; AddChild(DrawNode); ButtonManager = world.ButtonManager; ButtonManager.ButtonAdded += ButtonAdded; ButtonManager.ButtonRemoved += ButtonRemoved; Schedule(); }
public StructureLayer(World world, HexMexCamera camera) : base(camera) { World = world; world.StructureManager.StructureAdded += StructureAdded; world.StructureManager.StructureRemoved += StructureRemoved; world.StructureManager.StructureReplaced += StructureReplaced; Schedule(Update, 0.05f); AddChild(DrawNode); }
public GameScene(CCWindow window, World world) : base(window) { World = world; World.Victory += World_Victory; World.Defeat += World_Defeat; HexMexCamera = new HexMexCamera(BoundingBoxTransformedToWorld.Size); HexMexCamera.MoveToPosition(CCPoint.Zero); Camera = HexMexCamera; AddChild(GameLayer = new GameLayer(World, HexMexCamera, CCColor4B.Black)); AddChild(WinDefeatLayer = new WinDefeatLayer()); HexMexCamera.SetZoomFactor(0.5f); }