public override bool Init (int index, SGScrollPanel mySkyScrollPanel)
    {
        base.Init (index, mySkyScrollPanel);
        ElementButtonConfig config = ((ElementButtonConfig)(MySkyScrollPanel.Config));
        gameObject.name = "ElementButton" + index;
        b = gameObject.transform.parent.Find (gameObject.name).GetComponent<Button> ();
        mytext = gameObject.transform.Find ("Text").GetComponent<Text> ();
        if (((ElementButtonConfig)(MySkyScrollPanel.Config)).ConfigInfs [index].sprite == null)
            mytext.text = config.ConfigInfs [index].desc;
        else
            b.image.sprite = config.ConfigInfs [index].sprite;

		b.onClick.AddListener (() => {
			GameController.GetInstance ().GetPlayGameInstance ().OnRoleSeleted(index%2);
			GameController.GetInstance ().GetMainPanel ().Play();
		});

		return true;
      
    }
    public override bool Init(int index, SGScrollPanel mySkyScrollPanel)
    {
        base.Init(index, mySkyScrollPanel);
        ElementButtonConfig config = ((ElementButtonConfig)(MySkyScrollPanel.Config));

        gameObject.name = "ElementButton" + index;
        b      = gameObject.transform.parent.Find(gameObject.name).GetComponent <Button> ();
        mytext = gameObject.transform.Find("Text").GetComponent <Text> ();
        if (((ElementButtonConfig)(MySkyScrollPanel.Config)).ConfigInfs [index].sprite == null)
        {
            mytext.text = config.ConfigInfs [index].desc;
        }
        else
        {
            b.image.sprite = config.ConfigInfs [index].sprite;
        }

        b.onClick.AddListener(() => {
            GameController.GetInstance().GetPlayGameInstance().OnRoleSeleted(index % 2);
            GameController.GetInstance().GetMainPanel().Play();
        });

        return(true);
    }