Files
2025-09-20 12:22:00 +08:00

45 lines
1.2 KiB
TypeScript

import { _decorator, Component, Node, tween, Vec3 } from "cc";
import { SimpleToggle } from "./SimpleToggle";
const { ccclass, property } = _decorator;
@ccclass("SimpleToggleGroup")
export class SimpleToggleGroup extends Component {
toggles: SimpleToggle[];
protected onLoad(): void {
this.toggles = this.getComponentsInChildren(SimpleToggle);
for (let i = 0; i < this.toggles.length; i++) {
const element = this.toggles[i];
element.toggleGroupCallBack = this.toggleSelected.bind(this);
}
}
protected onEnable(): void {
this.toggleSelectedIndex(0);
}
toggleSelected(selectedNode: Node) {
for (let i = 0; i < this.toggles.length; i++) {
const element = this.toggles[i];
if (element.node === selectedNode) {
element.refresh(true);
} else {
element.refresh(false);
element.btn.interactable = true;
}
}
}
toggleSelectedIndex(selectedIndex: number) {
for (let i = 0; i < this.toggles.length; i++) {
const element = this.toggles[i];
if (i === selectedIndex) {
element.refresh(true);
} else {
element.refresh(false);
element.btn.interactable = true;
}
}
}
}