public void loadEnemy()
    {
        AutoDestroy.destroyChildren(selectedRegionPanel);
        infoTower.gameObject.SetActive(false);
        infoEnemy.gameObject.SetActive(true);

        guideType = UIGuideButton.ENEMY;

        target = null;

        //set grid
        UIGrid grid = selectedRegionPanel.GetComponent <UIGrid>();

        grid.maxPerLine    = PlayConfig.GridGuideEnemy.MaxPerLine;
        grid.cellWidth     = PlayConfig.GridGuideEnemy.CellWidth;
        grid.cellHeight    = PlayConfig.GridGuideEnemy.CellHeight;
        grid.enabled       = true;
        grid.repositionNow = true;

        EnemyController enemyController = Resources.Load <GameObject>("Prefab/Enemy/Enemy").GetComponent <EnemyController>();

        int length = enemies.Length;

        foreach (System.Collections.Generic.KeyValuePair <string, EnemyData> iterator in ReadDatabase.Instance.EnemyInfo)
        {
            GameSupportor.transferEnemyData(enemyController, iterator.Value);

            GameObject enemyGuide = Instantiate(PlayManager.Instance.modelPlay.EnemyGuide) as GameObject;
            enemyGuide.transform.parent = selectedRegionPanel.transform;
            enemyGuide.name             = enemyController.name;

            enemyGuide.GetComponent <UIStretch>().container = selectedRegionPanel;

            EnemyGuideController controller = enemyGuide.GetComponent <EnemyGuideController>();
            controller.ID      = enemyController.ID;
            controller.visible = PlayerInfo.Instance.listEnemy[enemyController.ID];

            //set icon
            if (controller.visible)
            {
                controller.Icon.mainTexture = Resources.Load <Texture>("Image/Enemy/00 Guide Icon/" + enemyController.ID.ToLower());
            }

            if (target == null && controller.visible)
            {
                target = enemyGuide;
            }
        }
        if (target != null)
        {
            target.GetComponent <EnemyGuideController>().setColor(true);
        }

        loadEnemyInfo();
    }
    public void loadTower()
    {
        AutoDestroy.destroyChildren(selectedRegionPanel);

        infoTower.gameObject.SetActive(true);
        infoEnemy.gameObject.SetActive(false);

        target    = null;
        guideType = UIGuideButton.TOWER;

        //set grid
        UIGrid grid = selectedRegionPanel.GetComponent <UIGrid>();

        grid.maxPerLine    = PlayConfig.GridGuideTower.MaxPerLine;
        grid.cellWidth     = PlayConfig.GridGuideTower.CellWidth;
        grid.cellHeight    = PlayConfig.GridGuideTower.CellHeight;
        grid.enabled       = true;
        grid.repositionNow = true;

        int length = ObjectManager.Instance.Towers.Length;

        for (int i = 0; i < length; i++)
        {
            TowerController towerController = ObjectManager.Instance.Towers[i].GetComponent <TowerController>();

            GameObject towerGuide = Instantiate(PlayManager.Instance.modelPlay.TowerGuide) as GameObject;
            towerGuide.transform.parent = selectedRegionPanel.transform;

            towerGuide.GetComponent <UIStretch>().container = selectedRegionPanel;
            towerGuide.GetComponentInChildren <TowerGuideController>().ID = towerController.ID;

            //Set icon
            towerGuide.GetComponent <UISprite>().spriteName = "tower-info-" + towerController.ID.Type.ToString().ToLower();
            towerGuide.name = towerController.ID.Type.ToString();

            //Set name

            string name = towerController.ID.Type.ToString();

            UILabel label = towerGuide.GetComponentInChildren <UILabel>();
            label.text = name[0] + name.Substring(1, name.Length - 1).ToLower();

            //Set color
            Color[] colors = PlayConfig.getColorTowerName(towerController.ID);
            label.color       = colors[0];
            label.effectColor = colors[1];

            if (target == null)
            {
                target = towerGuide;
            }
        }
        if (target != null)
        {
            target.GetComponentInChildren <TowerGuideController>().setColor(true);
        }

        loadTowerInfo();



        length = ObjectManager.Instance.TowersPassive.Length;
        for (int i = 0; i < length; i++)
        {
            TowerPassiveController towerController = ObjectManager.Instance.TowersPassive[i].GetComponent <TowerPassiveController>();

            GameObject towerGuide = Instantiate(PlayManager.Instance.modelPlay.TowerGuide) as GameObject;
            towerGuide.transform.parent = selectedRegionPanel.transform;

            towerGuide.GetComponent <UIStretch>().container = selectedRegionPanel;
            towerGuide.GetComponentInChildren <TowerGuideController>().ID = towerController.ID;


            //Set icon
            towerGuide.GetComponent <UISprite>().spriteName = "tower-info-" + towerController.ID.Type.ToString().ToLower();
            towerGuide.name = towerController.ID.Type.ToString();

            //Set name

            string name = towerController.ID.Type.ToString();

            UILabel label = towerGuide.GetComponentInChildren <UILabel>();
            label.text = name[0] + name.Substring(1, name.Length - 1).ToLower();

            //Set color
            Color[] colors = PlayConfig.getColorTowerName(towerController.ID);
            label.color       = colors[0];
            label.effectColor = colors[1];

            if (target == null)
            {
                target = towerGuide;
            }
        }
        if (target != null)
        {
            target.GetComponentInChildren <TowerGuideController>().setColor(true);
        }

        loadTowerPassiveInfo();
    }