欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

实现一个ToogleGroup的代码教程

程序员文章站 2022-05-12 13:02:19
需要两个类 一个是用来控制切换ToogleGroup 另一个是用来存储要切换的gameObject的物体 using System.Collections; using Sys...

需要两个类 一个是用来控制切换ToogleGroup 另一个是用来存储要切换的gameObject的物体

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

//实现一个 ToogleGroup

//用来控制切换ToogleGroup

public class ToogleGroupController : MonoBehaviour

{

//TabToggle里面存放的是Toogle要控制的显示的物体 该脚本需要挂到button上用来交互

public List TabToggleList = new List();

void Start () {

foreach (TabToggle tabToggle in TabToggleList)

{

AddButtonListener(tabToggle);//给所有的button添加事件

}

if (TabToggleList.Count > 0)

{

SelectTab(TabToggleList[0]);//显示TabToggleList中第一个toolgle里的gameobject

}

}

private void AddButtonListener(TabToggle tabToggle)

{

tabToggle.button.onClick.AddListener(

() => SelectTab(tabToggle));

}

//添加的方法 真正去执行切换 toogleGroup 的方法

private void SelectTab(TabToggle tabToggle)

{

foreach (TabToggle tab in TabToggleList)

{

bool isSelected = tab == tabToggle;//如果点击的 等于列表里的

tab.button.interactable = !isSelected;//设置当前点击的button交互 当前的被选中后不能再交互

tab.panel.SetActive(isSelected);//显示当前的选中的toolglegroup里的gameobject

}

if (RoleChangeClothManager.instance)

{

RoleChangeClothManager.instance.RefreshRoleInfor();

}

}

}

//用来存储要切换的gameObject的物体 挂在button上的

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

public class TabToggle : MonoBehaviour {

public GameObject panel = null;

public Button button = null;

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

}

}