| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import { _decorator, Component, Node } from "cc";
- import { DataSystem } from "../../core/data/DataSystem";
- import { ResourceLoader } from "../../core/resourceManager/ResourceLoader";
- import List from "../../core/ui/virtualList/List";
- import { ConfigData } from "../../data/ConfigData";
- import { BaguaItem } from "./BaguaItem";
- import { Formation } from "./Formation";
- import { FormationData } from "./FormationData";
- const { ccclass, property, requireComponent } = _decorator;
- /**
- * 八卦信息
- * @author 袁浩
- */
- @ccclass('BaguaInfo')
- @requireComponent(ResourceLoader)
- export class BaguaInfo extends Component {
- @property({ tooltip: "羁绊列表", type: List })
- public list: List;
- private fetterList: any[] = [];
- start() {
- this.initUI();
- }
- private async initUI() {
- let formationData = DataSystem.getData(FormationData);
- let fetter = formationData.getFetter();
- let fetterConfig = DataSystem.getData(ConfigData).get("fetter");
- let activeIndex = -1;
- for (let key in fetterConfig) {
- fetterConfig[key].isActive = fetter.fetterID == fetterConfig[key].id;
- this.fetterList.push(fetterConfig[key]);
- if (fetterConfig[key].isActive) {
- activeIndex = this.fetterList.length - 1;
- }
- }
- this.list.numItems = this.fetterList.length;
- this.list.scrollTo(activeIndex);
- }
- /**
- * 当列表项渲染
- * @param item 项节点
- * @param index 项索引
- */
- public onListRender(item: Node, index: number) {
- item.getComponent(BaguaItem).onDataChange(this.fetterList[index]);
- }
- }
|