Пример #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();
        }
Пример #2
0
    void Start()
    {
        gameTouch  = GameObject.Find("GameTouch").GetComponent <GameTouchHandler> ();
        towerCombo = GameObject.Find("TowerCombo").GetComponent <TowerCombo>();

        // pass the build cost to TowerSelectionPanel.cs
        costs = new int[towers.Length];
        for (int i = 0; i < towers.Length; i++)
        {
            towers [i].GetComponent <TowerData> ().init();
            costs [i] = towers [i].GetComponent <TowerData> ().cost;
        }
    }
Пример #3
0
    void Start()
    {
        gameTouch    = GameObject.Find("GameTouch").GetComponent <GameTouchHandler>();
        tbController = GameObject.Find("TowerBuild").GetComponent <TowerBuildController> ();
        myHit        = gameTouch.hit;
        // Get all selection buttons.
        towerSelectionImageTrans = new Transform[5];
        originColor = new Color[5];
        towerSelectionImageTrans[0] = transform.Find("TSCanvas/EarthTower");
        towerSelectionImageTrans[1] = transform.Find("TSCanvas/WoodTower");
        towerSelectionImageTrans[2] = transform.Find("TSCanvas/MetalTower");
        towerSelectionImageTrans[3] = transform.Find("TSCanvas/FireTower");
        towerSelectionImageTrans[4] = transform.Find("TSCanvas/WaterTower");
        for (int i = 0; i < towerSelectionImageTrans.Length; i++)
        {
            originColor[i] = towerSelectionImageTrans[i].GetComponent <Image>().color;
        }
        setColor();
        // Get all cost txt
        towerCostTxtTrans     = new Transform[5];
        towerCostTxtTrans [0] = transform.Find("TSCanvas/EarthTower/EarthTowerCostTxt");
        towerCostTxtTrans [1] = transform.Find("TSCanvas/WoodTower/WoodTowerCostTxt");
        towerCostTxtTrans [2] = transform.Find("TSCanvas/MetalTower/MetalTowerCostTxt");
        towerCostTxtTrans [3] = transform.Find("TSCanvas/FireTower/FireTowerCostTxt");
        towerCostTxtTrans [4] = transform.Find("TSCanvas/WaterTower/WaterTowerCostTxt");

        //Set initial position for these buttons.
        for (int i = 0; i < 5; i++)
        {
            towerSelectionImageTrans[i].GetComponent <RectTransform>().anchoredPosition = new Vector2(
                Camera.main.WorldToScreenPoint(myHit.transform.position).x,
                Camera.main.WorldToScreenPoint(myHit.transform.position).y
                );
        }

        for (int i = 0; i < 5; i++)
        {
            towerCostTxtTrans [i].GetComponent <Text> ().text = tbController.costs [i].ToString();
        }
    }
Пример #4
0
 private void SetupMouseControls(float xOffset)
 {
     touchHandler = gameObject.AddComponent <GameTouchHandler>();
     touchHandler.Initialize(height, xOffset);
     cursor1.AttachTouchHandler(touchHandler);
 }
Пример #5
0
 // Use this for initialization
 void Start()
 {
     gameTouch = GameObject.Find("GameTouch").GetComponent <GameTouchHandler>();
 }
Пример #6
0
 void Start()
 {
     gameTouch    = GameObject.Find("GameTouch").GetComponent <GameTouchHandler> ();
     tBController = GameObject.Find("TowerBuild").GetComponent <TowerBuildController> ();
     towerCombo   = GameObject.Find("TowerCombo").GetComponent <TowerCombo>();
 }
Пример #7
0
 public void AttachTouchHandler(GameTouchHandler gth)
 {
     touchHandler = gth;
 }