first commit
This commit is contained in:
130
assets/scripts/map/ui/WarReportItemLogic.ts
Normal file
130
assets/scripts/map/ui/WarReportItemLogic.ts
Normal file
@@ -0,0 +1,130 @@
|
||||
import { _decorator, Component, Node, Label } from 'cc';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
import LoginCommand from "../../login/LoginCommand";
|
||||
import { Role } from "../../login/LoginProxy";
|
||||
import DateUtil from "../../utils/DateUtil";
|
||||
import MapUICommand from "./MapUICommand";
|
||||
import { WarReport } from "./MapUIProxy";
|
||||
import { EventMgr } from '../../utils/EventMgr';
|
||||
import GeneralItemLogic from './GeneralItemLogic';
|
||||
|
||||
@ccclass('WarReportItemLogic')
|
||||
export default class WarReportItemLogic extends Component {
|
||||
|
||||
|
||||
private _curData:WarReport = null;
|
||||
|
||||
@property(Node)
|
||||
readBg:Node = null;
|
||||
|
||||
@property([Node])
|
||||
ackNode:Node[] = [];
|
||||
|
||||
|
||||
@property([Node])
|
||||
defNode:Node[] = [];
|
||||
|
||||
|
||||
@property(Node)
|
||||
winNode:Node = null;
|
||||
|
||||
|
||||
@property(Node)
|
||||
loseNode:Node = null;
|
||||
|
||||
|
||||
@property(Label)
|
||||
timeLabel: Label = null;
|
||||
|
||||
|
||||
@property(Label)
|
||||
leftLabel: Label = null;
|
||||
|
||||
|
||||
@property(Label)
|
||||
rightLabel: Label = null;
|
||||
|
||||
protected onLoad():void{
|
||||
this.winNode.active = this.loseNode.active = false;
|
||||
}
|
||||
|
||||
|
||||
protected updateItem(data:any):void{
|
||||
this._curData = data;
|
||||
|
||||
var isRead = MapUICommand.getInstance().proxy.isRead(this._curData.id);
|
||||
this.readBg.active = isRead;
|
||||
|
||||
|
||||
this.setTeams(this.ackNode,this._curData.beg_attack_general);
|
||||
this.setTeams(this.defNode,this._curData.beg_defense_general);
|
||||
|
||||
var roleData:Role = LoginCommand.getInstance().proxy.getRoleData();
|
||||
this.isMeWin(this._curData.attack_rid)
|
||||
|
||||
this.leftLabel.string = roleData.rid == this._curData.attack_rid?"我":"敌";
|
||||
this.rightLabel.string = roleData.rid == this._curData.defense_rid?"我":"敌"
|
||||
|
||||
this.timeLabel.string = DateUtil.converTimeStr(this._curData.ctime);
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected isMeWin(rid:number = 0):void{
|
||||
var roleData:Role = LoginCommand.getInstance().proxy.getRoleData();
|
||||
this.winNode.active = this.loseNode.active = false;
|
||||
|
||||
if(roleData.rid == rid){
|
||||
if(this._curData.result == 0){
|
||||
this.loseNode.active = true;
|
||||
}else if(this._curData.result == 1){
|
||||
|
||||
}else{
|
||||
this.winNode.active = true;
|
||||
}
|
||||
}else{
|
||||
if(this._curData.result == 0){
|
||||
this.winNode.active = true;
|
||||
}else if(this._curData.result == 1){
|
||||
|
||||
}else{
|
||||
this.loseNode.active = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
protected setTeams(node:Node[],generals:any[]){
|
||||
for(var i = 0; i < node.length ;i++){
|
||||
let item:Node = node[i];
|
||||
let com = item.getComponent(GeneralItemLogic);
|
||||
var general = generals[i];
|
||||
if(general){
|
||||
item.active = true;
|
||||
if(com){
|
||||
com.setWarReportData(general);
|
||||
}
|
||||
|
||||
}else{
|
||||
item.active = false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
protected onClickItem():void{
|
||||
var isRead = MapUICommand.getInstance().proxy.isRead(this._curData.id);
|
||||
if(!isRead){
|
||||
MapUICommand.getInstance().warRead(this._curData.id);
|
||||
}
|
||||
|
||||
console.log("click_war_report:", this._curData);
|
||||
EventMgr.emit("click_war_report", this._curData);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user