first commit
This commit is contained in:
42
assets/scripts/map/ui/ArmySelectNodeLogic.ts
Normal file
42
assets/scripts/map/ui/ArmySelectNodeLogic.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { _decorator, Component, Node, Prefab, instantiate } from 'cc';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
import ArmyCommand from "../../general/ArmyCommand";
|
||||
import { ArmyData } from "../../general/ArmyProxy";
|
||||
import { MapCityData } from "../MapCityProxy";
|
||||
import MapCommand from "../MapCommand";
|
||||
import ArmySelectItemLogic from "./ArmySelectItemLogic";
|
||||
import { EventMgr } from '../../utils/EventMgr';
|
||||
|
||||
@ccclass('ArmySelectNodeLogic')
|
||||
export default class ArmySelectNodeLogic extends Component {
|
||||
@property(Node)
|
||||
armyContainer: Node = null;
|
||||
@property(Prefab)
|
||||
itemPrefab: Prefab = null;
|
||||
|
||||
protected onLoad(): void {
|
||||
EventMgr.on("close_army_select_ui", this.onClickBack, this);
|
||||
}
|
||||
|
||||
protected onDestroy(): void {
|
||||
EventMgr.targetOff(this);
|
||||
}
|
||||
|
||||
protected onClickBack(): void {
|
||||
this.node.active = false;
|
||||
}
|
||||
|
||||
public setData(cmd: number, x: number, y: number): void {
|
||||
this.armyContainer.removeAllChildren();
|
||||
let myCity: MapCityData = MapCommand.getInstance().cityProxy.getMyMainCity();
|
||||
let armyList: ArmyData[] = ArmyCommand.getInstance().proxy.getArmyList(myCity.cityId);
|
||||
for (let i: number = 0; i < armyList.length; i++) {
|
||||
if (armyList[i] && armyList[i].generals[0] > 0) {
|
||||
let item: Node = instantiate(this.itemPrefab);
|
||||
item.parent = this.armyContainer;
|
||||
item.getComponent(ArmySelectItemLogic).setArmyData(armyList[i], cmd, x, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user