| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- const { ccclass, property } = cc._decorator;
- @ccclass
- export default class FriendsIconGroup extends cc.Component {
- @property({ type: cc.Node, displayName: '位置组件' })
- private sign_icon_pos: cc.Node[] = [];
- @property({ type: cc.Prefab })
- private pre_icon: cc.Prefab = null;
- /** icon节点容器 */
- private arr_icon: Array<cc.Node> = [];
- /**
- * list_data
- * @param list_data 数据列表
- */
- public async setItemData(list_data) {
- this.initItem(list_data);
- }
- /**
- * 数据分发
- * @param list_data 数据列表
- */
- private initItem(list_data) {
- const n_count = this.sign_icon_pos.length;
- for (let i = 0; i < n_count; i++) {
- if(i < list_data.length)
- {
- let item_data = list_data[i];
- let icon_item = this.arr_icon[i];
- if (!icon_item) {
- icon_item = cc.instantiate(this.pre_icon)
- icon_item.parent = this.node;
- icon_item.setPosition(this.sign_icon_pos[i].getPosition());
- this.arr_icon[i] = icon_item;
- }
-
- let comp_info = icon_item.getComponent('FriendsIcon');
- comp_info.setItemData(item_data);
- }else{
- let icon_item = this.arr_icon[i];
- if(icon_item)
- {
- icon_item.x = 2000;
- }
- }
- }
- }
- }
|