1380 lines
46 KiB
TypeScript
1380 lines
46 KiB
TypeScript
|
import { EAttrTypeL1, LongPressSpeedAttr } from "../core/EEnum";
|
||
|
import GameModel from "../core/GameModel";
|
||
|
import GameUtil from "../core/GameUtil";
|
||
|
import ItemUtil from "../core/ItemUtil";
|
||
|
import MsgAlert from "../game/msg/MsgAlert";
|
||
|
import FGAlert from "../gear_2.3.4/fgui/FGAlert";
|
||
|
import FGUtil from "../gear_2.3.4/fgui/FGUtil";
|
||
|
import SKDataUtil from "../gear_2.3.4/util/SKDataUtil";
|
||
|
import SKUIUtil from "../gear_2.3.4/util/SKUIUtil";
|
||
|
import PracticeMgr = require("../../game/RolePracticeMgr");
|
||
|
import FactionTalent from "../FactionTalent";
|
||
|
const { ccclass, property } = cc._decorator;
|
||
|
|
||
|
export default class Gang extends cc.Component {
|
||
|
/**
|
||
|
* 幫派單例實例
|
||
|
*/
|
||
|
public static Instance : Gang = null;
|
||
|
|
||
|
/**
|
||
|
* 幫派面板
|
||
|
*/
|
||
|
gangPanel : fgui.GComponent = null;
|
||
|
/**
|
||
|
* 幫派數據
|
||
|
*/
|
||
|
gangInfoData : any = null;
|
||
|
/**
|
||
|
* 幫派信息界面
|
||
|
*/
|
||
|
gangInfoView : fgui.GComponent = null;
|
||
|
/**
|
||
|
* 幫派人員數據
|
||
|
*/
|
||
|
gangRoleListData : any = [];
|
||
|
isMaster : boolean = false
|
||
|
/**
|
||
|
* 選擇的幫派人員下標
|
||
|
*/
|
||
|
selectRoleIdx : number = -1;
|
||
|
/**
|
||
|
* 幫派內政界面
|
||
|
*/
|
||
|
gangManageView : fgui.GComponent = null;
|
||
|
/**
|
||
|
* 入幫申請數據
|
||
|
*/
|
||
|
requireListData : any = [];
|
||
|
/**
|
||
|
* 幫派列表面板
|
||
|
*/
|
||
|
gangListPanel : fgui.GComponent = null;
|
||
|
|
||
|
/**
|
||
|
* 幫派列表數據
|
||
|
*/
|
||
|
gangListData : any = [];
|
||
|
/**
|
||
|
* 選擇的幫派項目下標
|
||
|
*/
|
||
|
selectListIdx : number = -1;
|
||
|
searching : boolean = false
|
||
|
|
||
|
/**
|
||
|
* 人物修煉面板
|
||
|
*/
|
||
|
practicePanel : fgui.GComponent = null;
|
||
|
practiceData : any = {};
|
||
|
/**
|
||
|
* 人物修煉提升等級面板
|
||
|
*/
|
||
|
practiceUpGradePanel : fgui.GComponent = null;
|
||
|
/**
|
||
|
* 創建幫派面板
|
||
|
*/
|
||
|
creatGangPanel : fgui.GComponent = null;
|
||
|
/**
|
||
|
* 發布通知面板
|
||
|
*/
|
||
|
noticePanel : fgui.GComponent = null;
|
||
|
/**
|
||
|
* 職位
|
||
|
*/
|
||
|
job : number = 7;
|
||
|
/**
|
||
|
* 需要加载的预制体
|
||
|
*/
|
||
|
prefabObject : any = {};
|
||
|
|
||
|
onLoad() {
|
||
|
if (Gang.Instance === null) {
|
||
|
Gang.Instance = this;
|
||
|
this.loadPrefab();
|
||
|
} else {
|
||
|
this.destroy();
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 加載預製體
|
||
|
*/
|
||
|
loadPrefab() {
|
||
|
// 加載所需的預製體
|
||
|
var prefabList = [
|
||
|
{ url: "Prefabs/UIRole", name: "UIRole" },
|
||
|
]
|
||
|
this.prefabObject = {}
|
||
|
for (let item of prefabList) {
|
||
|
cc.loader.loadRes(item.url, cc.Prefab, (err, prefab) => {
|
||
|
if (err)
|
||
|
console.warn(err);
|
||
|
else {
|
||
|
this.prefabObject[item.name] = prefab;
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 打開幫派列表面板
|
||
|
*/
|
||
|
openGangListPanel(hasGang : boolean = false) {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangListPanel)) {
|
||
|
this.gangListPanel = FGUtil.create("main_ui", "gang_list_panel");
|
||
|
FGUtil.root().addChild(this.gangListPanel);
|
||
|
this.gangListPanel.makeFullScreen();
|
||
|
}
|
||
|
var mask = FGUtil.getComponent(this.gangListPanel, "mask");
|
||
|
var close = FGUtil.getButton(this.gangListPanel, "alert/closeBtn");
|
||
|
this.pushCloseEvent(mask, this.gangListPanel, () => { this.gangListData = null; this.selectListIdx = -1 });
|
||
|
this.pushCloseEvent(close, this.gangListPanel, () => { this.gangListData = null; this.selectListIdx = -1 });
|
||
|
|
||
|
//初始化按鈕
|
||
|
var joinBtn = FGUtil.getButton(this.gangListPanel, "alert/join_gang");
|
||
|
var onKeyJoinBtn = FGUtil.getButton(this.gangListPanel, "alert/onekeyapply");
|
||
|
var createBtn = FGUtil.getButton(this.gangListPanel, "alert/creat");
|
||
|
var searchBtn = FGUtil.getButton(this.gangListPanel, "alert/search");
|
||
|
var clearBtn = FGUtil.getButton(this.gangListPanel, "alert/clear");
|
||
|
var backBtn = FGUtil.getComponent(this.gangListPanel, "alert/back");
|
||
|
joinBtn.onClick(this.joinGang, this);
|
||
|
onKeyJoinBtn.onClick(this.onKeyJoin, this);
|
||
|
createBtn.onClick(this.openCreateGangPanel, this);
|
||
|
searchBtn.onClick(this.searchGang, this);
|
||
|
clearBtn.onClick(this.clearSearch, this);
|
||
|
backBtn.onClick(this.backSearch, this);
|
||
|
|
||
|
if (!hasGang) {
|
||
|
//滑動頁面按鈕組件
|
||
|
var infoPageBtn = FGUtil.getComponent(this.gangListPanel, "alert/swtich_info/n1");
|
||
|
infoPageBtn.onClick(this.changeInfoPage, this);
|
||
|
|
||
|
var pageCom = FGUtil.getComponent(this.gangListPanel, "alert/gang_info");
|
||
|
pageCom.on(fgui.Event.SCROLL, this.onScroll, this)
|
||
|
pageCom.on(fgui.Event.SCROLL_END, this.onScrollEnd, this)
|
||
|
} else {
|
||
|
FGUtil.getControl(this.gangListPanel, "alert/hasGangId").selectedIndex = 1;
|
||
|
}
|
||
|
|
||
|
var list = FGUtil.getList(this.gangListPanel, "alert/bang_list");
|
||
|
// 設置初始化方法
|
||
|
list.itemRenderer = this.initGangListItem.bind(this);
|
||
|
// 虛擬列表
|
||
|
list.setVirtual();
|
||
|
GameModel.send("c2s_getbanglist", {
|
||
|
roleid: GameModel.player.roleid
|
||
|
})
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 幫派列表初始化方法
|
||
|
*/
|
||
|
initGangListItem(idx, obj : fairygui.GObject) {
|
||
|
var item = obj.asCom;
|
||
|
FGUtil.getTextField(item, "n1").text = (idx + 1).toString();
|
||
|
FGUtil.getTextField(item, "n2").text = this.gangListData[idx].name;
|
||
|
FGUtil.getTextField(item, "n3").text = "1";
|
||
|
FGUtil.getTextField(item, "n4").text = this.gangListData[idx].rolenum.toString();
|
||
|
FGUtil.getTextField(item, "n5").text = "0";
|
||
|
FGUtil.getTextField(item, "n6").text = this.gangListData[idx].mastername;
|
||
|
FGUtil.getControl(item, "bg").selectedIndex = idx % 2 == 1 ? 0 : 1;
|
||
|
FGUtil.getControl(item, "selected").selectedIndex = this.selectListIdx == idx ? 1 : 0;
|
||
|
item.node["idx"] = idx;
|
||
|
item.onClick(this.selectedGangItem, this);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 選擇幫派列表子項目
|
||
|
*/
|
||
|
selectedGangItem(e : Event, id : number = 0) {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangListPanel)) return;
|
||
|
var idx;
|
||
|
if (e.target && SKDataUtil.hasProperty(e.target, "idx"))
|
||
|
idx = e.target["idx"];
|
||
|
else
|
||
|
idx = id;
|
||
|
this.selectListIdx = idx;
|
||
|
|
||
|
var hasGang = FGUtil.getControl(this.gangListPanel, "alert/hasGangId").selectedIndex;
|
||
|
var aim = FGUtil.getRichTextField(this.gangListPanel, `alert${hasGang == 0 ? '/gang_info' : ''}/zongzhi/info/info`);
|
||
|
var battleInfo = FGUtil.getRichTextField(this.gangListPanel, `alert${hasGang == 0 ? '/gang_info' : ''}/zhanbao/info/info`);
|
||
|
aim.text = this.gangListData[idx].aim == "" ? "無" : this.gangListData[idx].aim;
|
||
|
battleInfo.text = "無";
|
||
|
var list = FGUtil.getList(this.gangListPanel, "alert/bang_list");
|
||
|
list.refreshVirtualList();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 刷新幫派列表
|
||
|
*/
|
||
|
refreshGangListPanel(data : any = []) {
|
||
|
this.gangListData = data;
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangListPanel)) return;
|
||
|
if (data.length == 0) {
|
||
|
var noGang;
|
||
|
noGang = FGUtil.getComponent(this.gangListPanel, "alert/noGang");
|
||
|
if (!noGang)
|
||
|
noGang = FGUtil.create("main_ui", "no_tip");
|
||
|
noGang.name = "noGang";
|
||
|
FGUtil.getComponent(this.gangListPanel, "alert").addChild(noGang);
|
||
|
if (this.searching) {
|
||
|
noGang.setPosition(145, 73);
|
||
|
FGUtil.getControl(noGang, "type").selectedIndex = 0;
|
||
|
this.searching = false;
|
||
|
} else {
|
||
|
noGang.setPosition(200, 115);
|
||
|
FGUtil.getControl(this.gangListPanel, "alert/no_gang").selectedIndex = 1;
|
||
|
FGUtil.getControl(noGang, "type").selectedIndex = 1;
|
||
|
}
|
||
|
FGUtil.getButton(noGang, "n5").onClick(this.openCreateGangPanel, this);
|
||
|
}
|
||
|
var list = FGUtil.getList(this.gangListPanel, "alert/bang_list");
|
||
|
list.numItems = data.length;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 打開創建幫派面板
|
||
|
*/
|
||
|
openCreateGangPanel() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.creatGangPanel)) {
|
||
|
this.creatGangPanel = FGUtil.create("main_ui", "gang_create_panel");
|
||
|
FGUtil.root().addChild(this.creatGangPanel);
|
||
|
this.creatGangPanel.makeFullScreen();
|
||
|
}
|
||
|
var mask = FGUtil.getComponent(this.creatGangPanel, "mask");
|
||
|
var close = FGUtil.getButton(this.creatGangPanel, "alert/close");
|
||
|
this.pushCloseEvent(mask, this.creatGangPanel);
|
||
|
this.pushCloseEvent(close, this.creatGangPanel);
|
||
|
|
||
|
var autoBtn = FGUtil.getButton(this.creatGangPanel, "alert/auto");
|
||
|
autoBtn.onClick(this.switchAutoBtn, this);
|
||
|
var createBtn = FGUtil.getButton(this.creatGangPanel, "alert/do");
|
||
|
createBtn.onClick(this.createGang, this);
|
||
|
|
||
|
|
||
|
autoBtn.visible = false
|
||
|
FGUtil.getObject(this.creatGangPanel, "alert/n38").visible = false
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 自動招募切換
|
||
|
*/
|
||
|
switchAutoBtn() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.creatGangPanel)) {
|
||
|
console.warn("未找到面板");
|
||
|
return;
|
||
|
}
|
||
|
var type = FGUtil.getControl(this.creatGangPanel, "alert/auto/selected").selectedIndex
|
||
|
FGUtil.getControl(this.creatGangPanel, "alert/auto/selected").selectedIndex = type == 0 ? 1 : 0;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 創建幫派
|
||
|
*/
|
||
|
createGang() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.creatGangPanel)) {
|
||
|
console.warn("未找到面板");
|
||
|
return;
|
||
|
}
|
||
|
var name = FGUtil.getTextInput(this.creatGangPanel, "alert/name");
|
||
|
var zongzhi = FGUtil.getTextInput(this.creatGangPanel, "alert/zongzhi");
|
||
|
if (name.text == '') {
|
||
|
MsgAlert.addMsg(`請輸入幫會名稱!`);
|
||
|
return;
|
||
|
}
|
||
|
if (GameModel.player.level < 50) {
|
||
|
MsgAlert.addMsg(`創建幫派需要50級!`);
|
||
|
return;
|
||
|
}
|
||
|
GameModel.send('c2s_createbang', {
|
||
|
name: name.text,
|
||
|
aim: zongzhi.text,
|
||
|
masterid: GameModel.player.roleid,
|
||
|
mastername: GameModel.player.name
|
||
|
});
|
||
|
|
||
|
FGUtil.dispose(this.creatGangPanel);
|
||
|
this.creatGangPanel = null;
|
||
|
FGUtil.dispose(this.gangListPanel);
|
||
|
this.gangListPanel = null;
|
||
|
this.gangListData = null;
|
||
|
|
||
|
this.openGangPanel();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 加入幫派
|
||
|
*/
|
||
|
joinGang() {
|
||
|
if (this.selectListIdx < 0 || this.selectListIdx > this.gangListData.length - 1) {
|
||
|
MsgAlert.addMsg("請先選擇幫派");
|
||
|
return;
|
||
|
}
|
||
|
var gangId = this.gangListData[this.selectListIdx].bangid;
|
||
|
GameModel.send("c2s_requestbang", {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
bangid: gangId
|
||
|
})
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 一鍵加入幫派
|
||
|
*/
|
||
|
onKeyJoin() {
|
||
|
MsgAlert.addMsg("暫時無法一鍵申請");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 搜索幫派
|
||
|
*/
|
||
|
searchGang() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangListPanel)) {
|
||
|
console.warn("未找到面板");
|
||
|
return;
|
||
|
}
|
||
|
var edit = FGUtil.getTextInput(this.gangListPanel, "alert/search_bang_edit");
|
||
|
if (edit.text == "") {
|
||
|
MsgAlert.addMsg("請輸入幫派名稱");
|
||
|
return;
|
||
|
}
|
||
|
this.searching = true;
|
||
|
FGUtil.getComponent(this.gangListPanel, "alert/back").visible = true;
|
||
|
GameModel.send('c2s_searchbang', {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
data: edit.text
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 返回搜索結果
|
||
|
*/
|
||
|
backSearch() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangListPanel)) return;
|
||
|
var noGang = FGUtil.getComponent(this.gangListPanel, "alert/noGang");
|
||
|
if (noGang)
|
||
|
FGUtil.dispose(noGang);
|
||
|
FGUtil.getComponent(this.gangListPanel, "alert/back").visible = false;
|
||
|
this.selectListIdx = -1;
|
||
|
GameModel.send("c2s_getbanglist", {
|
||
|
roleid: GameModel.player.roleid
|
||
|
})
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 清空搜索內容
|
||
|
*/
|
||
|
clearSearch() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangListPanel)) {
|
||
|
console.warn("未找到面板");
|
||
|
return;
|
||
|
}
|
||
|
var edit = FGUtil.getTextInput(this.gangListPanel, "alert/search_bang_edit");
|
||
|
edit.text = "";
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 切換信息頁面和滑動監聽
|
||
|
*/
|
||
|
changeInfoPage(e : Event = null, page : number = -1) {
|
||
|
if (SKUIUtil.isFGUIValid(this.gangInfoView)) {
|
||
|
var type = FGUtil.getControl(this.gangInfoView, "swtich_info/type").selectedIndex;
|
||
|
if (page == -1)
|
||
|
page = type == 0 ? 1 : 0;
|
||
|
FGUtil.getControl(this.gangInfoView, "swtich_info/type").selectedIndex = page;
|
||
|
var pageCom = FGUtil.getComponent(this.gangInfoView, "aim_notice");
|
||
|
var scroll = pageCom.scrollPane;
|
||
|
scroll.setCurrentPageX(page);
|
||
|
return;
|
||
|
} else
|
||
|
if (SKUIUtil.isFGUIValid(this.gangListPanel)) {
|
||
|
var type = FGUtil.getControl(this.gangListPanel, "alert/swtich_info/type").selectedIndex;
|
||
|
if (page == -1)
|
||
|
page = type == 0 ? 1 : 0;
|
||
|
FGUtil.getControl(this.gangListPanel, "alert/swtich_info/type").selectedIndex = page;
|
||
|
var pageCom = FGUtil.getComponent(this.gangListPanel, "alert/gang_info");
|
||
|
var scroll = pageCom.scrollPane;
|
||
|
scroll.setCurrentPageX(page);
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
onScroll() {
|
||
|
if (SKUIUtil.isFGUIValid(this.gangInfoView)) {
|
||
|
var pageCom = FGUtil.getComponent(this.gangInfoView, "aim_notice");
|
||
|
var scroll = pageCom.scrollPane;
|
||
|
FGUtil.getControl(this.gangInfoView, "swtich_info/type").selectedIndex = scroll.currentPageX;
|
||
|
return;
|
||
|
} else
|
||
|
if (SKUIUtil.isFGUIValid(this.gangListPanel)) {
|
||
|
var pageCom = FGUtil.getComponent(this.gangListPanel, "alert/gang_info");
|
||
|
var scroll = pageCom.scrollPane;
|
||
|
FGUtil.getControl(this.gangListPanel, "alert/swtich_info/type").selectedIndex = scroll.currentPageX;
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
onScrollEnd() {
|
||
|
if (SKUIUtil.isFGUIValid(this.gangInfoView)) {
|
||
|
var pageCom = FGUtil.getComponent(this.gangInfoView, "aim_notice");
|
||
|
var scroll = pageCom.scrollPane;
|
||
|
this.changeInfoPage(null, scroll.currentPageX)
|
||
|
return;
|
||
|
} else
|
||
|
if (SKUIUtil.isFGUIValid(this.gangListPanel)) {
|
||
|
var pageCom = FGUtil.getComponent(this.gangListPanel, "alert/gang_info");
|
||
|
var scroll = pageCom.scrollPane;
|
||
|
this.changeInfoPage(null, scroll.currentPageX)
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 打開幫派面板
|
||
|
*/
|
||
|
openGangPanel() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangPanel)) {
|
||
|
this.gangPanel = FGUtil.create("main_ui", "gang_panel");
|
||
|
FGUtil.root().addChild(this.gangPanel);
|
||
|
this.gangPanel.makeFullScreen();
|
||
|
}
|
||
|
var mask = FGUtil.getComponent(this.gangPanel, "mask");
|
||
|
var close = FGUtil.getButton(this.gangPanel, "alert/closeBtn");
|
||
|
this.pushCloseEvent(mask, this.gangPanel, () => { this.closeAllView() });
|
||
|
this.pushCloseEvent(close, this.gangPanel, () => { this.closeAllView() });
|
||
|
|
||
|
var infoBtn = FGUtil.getButton(this.gangPanel, "alert/gang_btn");
|
||
|
infoBtn.onClick(this.openGangInfoView, this);
|
||
|
|
||
|
var interiorBtn = FGUtil.getButton(this.gangPanel, "alert/interior_btn");
|
||
|
interiorBtn.onClick(this.openGangManageView, this);
|
||
|
|
||
|
FGUtil.getButton(this.gangPanel, "alert/build_btn").onClick(this.tipno, this)
|
||
|
FGUtil.getButton(this.gangPanel, "alert/report_btn").onClick(this.tipno, this)
|
||
|
this.openGangInfoView();
|
||
|
}
|
||
|
tipno() {
|
||
|
MsgAlert.addMsg("暫未開放232323")
|
||
|
FGUtil.getControl(this.gangPanel, "alert/build_btn/button").selectedIndex = 0
|
||
|
FGUtil.getControl(this.gangPanel, "alert/report_btn/button").selectedIndex = 0
|
||
|
}
|
||
|
/**
|
||
|
* 打開幫派信息界面
|
||
|
*/
|
||
|
openGangInfoView() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangPanel)) return;
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangInfoView)) {
|
||
|
this.gangInfoView = FGUtil.create("main_ui", "gang_info_alert");
|
||
|
this.gangInfoView.setPosition(20, 20);
|
||
|
FGUtil.getComponent(this.gangPanel, "alert/info").addChild(this.gangInfoView);
|
||
|
|
||
|
var backGangBtn = FGUtil.getButton(this.gangInfoView, "back");
|
||
|
backGangBtn.onClick(this.backGang, this);
|
||
|
var practiceBtn = FGUtil.getButton(this.gangInfoView, "practice");
|
||
|
practiceBtn.onClick(this.openPracticePanel, this);
|
||
|
var tianyanBtn = FGUtil.getButton(this.gangInfoView, "tianyan");
|
||
|
tianyanBtn.onClick(this.tianYanFunc, this);
|
||
|
var gangListBtn = FGUtil.getButton(this.gangInfoView, "gangList");
|
||
|
gangListBtn.onClick(this.showGangList, this);
|
||
|
|
||
|
var list = FGUtil.getList(this.gangInfoView, "n10");
|
||
|
// 設置初始化方法
|
||
|
list.itemRenderer = this.initGangRoleItem.bind(this);
|
||
|
// 虛擬列表
|
||
|
list.setVirtual();
|
||
|
|
||
|
var jobMask = FGUtil.getComponent(this.gangInfoView, "takeOfficeMask");
|
||
|
jobMask.onClick(this.offtakeOffice, this);
|
||
|
|
||
|
// 任命職位按鈕
|
||
|
var fbzBtn = FGUtil.getButton(this.gangInfoView, "takeOffice/fbz");
|
||
|
fbzBtn.node["job"] = 2;
|
||
|
fbzBtn.onClick(this.bangPost, this);
|
||
|
var zhfBtn = FGUtil.getButton(this.gangInfoView, "takeOffice/zhf");
|
||
|
zhfBtn.node["job"] = 3;
|
||
|
zhfBtn.onClick(this.bangPost, this);
|
||
|
var yhfBtn = FGUtil.getButton(this.gangInfoView, "takeOffice/yhf");
|
||
|
yhfBtn.node["job"] = 4;
|
||
|
yhfBtn.onClick(this.bangPost, this);
|
||
|
var zlBtn = FGUtil.getButton(this.gangInfoView, "takeOffice/zl");
|
||
|
zlBtn.node["job"] = 5;
|
||
|
zlBtn.onClick(this.bangPost, this);
|
||
|
var tzBtn = FGUtil.getButton(this.gangInfoView, "takeOffice/tz");
|
||
|
tzBtn.node["job"] = 6;
|
||
|
tzBtn.onClick(this.bangPost, this);
|
||
|
var bzBtn = FGUtil.getButton(this.gangInfoView, "takeOffice/bz");
|
||
|
bzBtn.node["job"] = 7;
|
||
|
bzBtn.onClick(this.bangPost, this);
|
||
|
|
||
|
var infoPageBtn = FGUtil.getComponent(this.gangInfoView, "swtich_info/n1");
|
||
|
infoPageBtn.onClick(this.changeInfoPage, this);
|
||
|
|
||
|
var pageCom = FGUtil.getComponent(this.gangInfoView, "aim_notice");
|
||
|
pageCom.on(fgui.Event.SCROLL, this.onScroll, this);
|
||
|
pageCom.on(fgui.Event.SCROLL_END, this.onScrollEnd, this);
|
||
|
|
||
|
FGUtil.getButton(this.gangInfoView, "aim_notice/n1").onClick(() => {
|
||
|
this.openNoticePanel(1);
|
||
|
})
|
||
|
FGUtil.getButton(this.gangInfoView, "aim_notice/n2").onClick(() => {
|
||
|
this.openNoticePanel(2);
|
||
|
})
|
||
|
}
|
||
|
GameModel.send('c2s_getbanginfo', {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
bangid: GameModel.player.bangid
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 幫派列表初始化方法
|
||
|
*/
|
||
|
initGangRoleItem(idx, obj : fairygui.GObject) {
|
||
|
var item = obj.asCom;
|
||
|
var info = this.gangRoleListData[idx];
|
||
|
var postArr = ["幫主", "副幫主", "左護法", "右護法", "長老", "堂主", "幫眾"]
|
||
|
FGUtil.getTextField(item, "n9").text = info.name;
|
||
|
FGUtil.getTextField(item, "n10").text = GameUtil.getReliveRichText(info.relive, info.level);
|
||
|
FGUtil.getTextField(item, "n11").text = this.getRaceSex(info.race, info.sex);
|
||
|
FGUtil.getTextField(item, "n12").text = postArr[info.bangpost ? info.bangpost - 1 : 6];
|
||
|
FGUtil.getTextField(item, "n13").text = `${info.online == 1 ? '在線' : '離線'}`;
|
||
|
FGUtil.getControl(item, "bg").selectedIndex = idx % 2 == 1 ? 0 : 1;
|
||
|
FGUtil.getControl(item, "selected").selectedIndex = this.selectRoleIdx == idx ? 1 : 0;
|
||
|
item.node["idx"] = idx;
|
||
|
item.onClick(this.selectedRoleItem, this);
|
||
|
}
|
||
|
|
||
|
selectedRoleItem(e : Event, id : number = 0) {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangInfoView)) return;
|
||
|
var idx;
|
||
|
if (e.target && SKDataUtil.hasProperty(e.target, "idx"))
|
||
|
idx = e.target["idx"];
|
||
|
else
|
||
|
idx = id;
|
||
|
this.selectRoleIdx = idx;
|
||
|
var list = FGUtil.getList(this.gangInfoView, "n10");
|
||
|
list.refreshVirtualList();
|
||
|
|
||
|
this.showRoleInfo(this.gangRoleListData[idx]);
|
||
|
}
|
||
|
|
||
|
showRoleInfo(info : any = null) {
|
||
|
if (info == null) return;
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangInfoView)) return;
|
||
|
// 幫主自己不顯示任命和開除按鈕
|
||
|
if (this.isMaster) {
|
||
|
if (info.roleid == this.gangInfoData.info.masterid)
|
||
|
FGUtil.getControl(this.gangInfoView, "master").selectedIndex = 0;
|
||
|
else
|
||
|
FGUtil.getControl(this.gangInfoView, "master").selectedIndex = 1;
|
||
|
}
|
||
|
|
||
|
var menuListName = [
|
||
|
"任 命",
|
||
|
"開 除",
|
||
|
"聊 天",
|
||
|
"組 隊",
|
||
|
"添加好友",
|
||
|
]
|
||
|
|
||
|
var menuList = FGUtil.getList(this.gangInfoView, "menulist");
|
||
|
menuList.removeChildren();
|
||
|
for (let i in menuListName) {
|
||
|
var word = menuListName[i];
|
||
|
if (!this.isMaster && word == "任 命")
|
||
|
continue;
|
||
|
if (!this.isMaster && word == "開 除")
|
||
|
continue;
|
||
|
if (info.roleid == GameModel.player.roleid)
|
||
|
continue;
|
||
|
var item = menuList.addItem().asCom;
|
||
|
FGUtil.getTextField(item, "title").text = word;
|
||
|
FGUtil.getTextField(item, "title").color = new cc.Color(125, 0, 0);
|
||
|
item.node["wordType"] = word;
|
||
|
item.node["info"] = info;
|
||
|
item.onClick(this.clickRoleMenuList, this)
|
||
|
}
|
||
|
|
||
|
FGUtil.getControl(this.gangInfoView, "showRole").selectedIndex = 1;
|
||
|
FGUtil.getTextField(this.gangInfoView, "roleName").text = info.name;
|
||
|
this.addUIRole(info);
|
||
|
}
|
||
|
clickRoleMenuList(e : Event) {
|
||
|
if (!SKDataUtil.hasProperty(e.target, "wordType")) return;
|
||
|
if (!SKDataUtil.hasProperty(e.target, "info")) return;
|
||
|
var word = e.target["wordType"]
|
||
|
var info = e.target["info"]
|
||
|
|
||
|
if (word == "任 命") {
|
||
|
this.takeOffice()
|
||
|
}
|
||
|
else if (word == "開 除") {
|
||
|
this.expelMember();
|
||
|
}
|
||
|
else if (word == "聊 天") {
|
||
|
MsgAlert.addMsg("暫不支持臨時聊天")
|
||
|
}
|
||
|
else if (word == "組 隊") {
|
||
|
if (!GameModel.player.isleader) {
|
||
|
MsgAlert.addMsg("你還不是隊長")
|
||
|
return
|
||
|
}
|
||
|
GameModel.send('c2s_team_invite', {
|
||
|
toroleid: info.roleid,
|
||
|
});
|
||
|
}
|
||
|
else if (word == "添加好友") {
|
||
|
GameModel.send('c2s_add_friend', {
|
||
|
roleid: info.roleid
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
/**
|
||
|
* 添加人物UI
|
||
|
*/
|
||
|
addUIRole(info : any = null) {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangInfoView) || this.prefabObject["UIRole"] == null) return;
|
||
|
var pNode = FGUtil.getComponent(this.gangInfoView, "roleNode").node;
|
||
|
var role = cc.find("UIRole", pNode);
|
||
|
if (!role) {
|
||
|
var roleNode = cc.instantiate(this.prefabObject["UIRole"]);
|
||
|
roleNode.parent = pNode;
|
||
|
roleNode.name = "UIRole"
|
||
|
roleNode.setPosition(0, 20);
|
||
|
roleNode.getComponent("UIRole").setInfo(info)
|
||
|
roleNode.getComponent("UIRole").offTouchRole();
|
||
|
} else {
|
||
|
role.getComponent("UIRole").setInfo(info)
|
||
|
}
|
||
|
}
|
||
|
takeOffice() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangInfoView)) {
|
||
|
console.warn("未找到面板");
|
||
|
return
|
||
|
}
|
||
|
FGUtil.getControl(this.gangInfoView, "takeOffice").selectedIndex = 1;
|
||
|
}
|
||
|
offtakeOffice() {
|
||
|
FGUtil.getControl(this.gangInfoView, "takeOffice").selectedIndex = 0;
|
||
|
}
|
||
|
|
||
|
bangPost(e : Event) {
|
||
|
var idx;
|
||
|
if (e.target && SKDataUtil.hasProperty(e.target, "job"))
|
||
|
idx = e.target["job"];
|
||
|
else {
|
||
|
console.warn("信息錯誤");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
GameModel.send("c2s_set_bangpost", {
|
||
|
masterid: GameModel.player.roleid,
|
||
|
memberid: this.gangRoleListData[this.selectRoleIdx].roleid,
|
||
|
postid: idx
|
||
|
})
|
||
|
this.offtakeOffice();
|
||
|
}
|
||
|
|
||
|
expelMember() {
|
||
|
var name = this.gangRoleListData[this.selectRoleIdx].name;
|
||
|
var roleid = this.gangRoleListData[this.selectRoleIdx].roleid;
|
||
|
if (GameModel.player.roleid == roleid) {
|
||
|
MsgAlert.addMsg("不能開除自己!")
|
||
|
return;
|
||
|
}
|
||
|
FGAlert.show(`確認開除${name}麼?`, () => {
|
||
|
FGAlert.hide();
|
||
|
}, () => {
|
||
|
FGAlert.hide();
|
||
|
GameModel.send('c2s_leavebang', {
|
||
|
roleid: roleid,
|
||
|
bangid: GameModel.player.bangid
|
||
|
});
|
||
|
GameModel.send('c2s_getbanginfo', {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
bangid: GameModel.player.bangid
|
||
|
});
|
||
|
})
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 打开帮派内政界面
|
||
|
*/
|
||
|
openGangManageView() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangPanel)) return;
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangManageView)) {
|
||
|
this.gangManageView = FGUtil.create("main_ui", "gang_manage_alert");
|
||
|
this.gangManageView.setPosition(20, 10);
|
||
|
FGUtil.getComponent(this.gangPanel, "alert/manage").addChild(this.gangManageView);
|
||
|
|
||
|
var leaveGangBtn = FGUtil.getButton(this.gangManageView, "leave");
|
||
|
leaveGangBtn.onClick(this.leaveGang, this);
|
||
|
|
||
|
var clearBtn = FGUtil.getButton(this.gangManageView, "clear");
|
||
|
clearBtn.onClick(this.clearApplyList, this);
|
||
|
|
||
|
var eventBtn = FGUtil.getButton(this.gangManageView, "n61");
|
||
|
eventBtn.onClick(this.showGangEvent, this);
|
||
|
|
||
|
var showRequireBtn = FGUtil.getButton(this.gangManageView, "n62");
|
||
|
showRequireBtn.onClick(this.showRequestList, this);
|
||
|
|
||
|
var requireList = FGUtil.getList(this.gangManageView, "applyList");
|
||
|
// 設置初始化方法
|
||
|
requireList.itemRenderer = this.initRequireItem.bind(this);
|
||
|
// 虛擬列表
|
||
|
requireList.setVirtual();
|
||
|
}
|
||
|
GameModel.send('c2s_getbanginfo', {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
bangid: GameModel.player.bangid
|
||
|
});
|
||
|
}
|
||
|
|
||
|
initRequireItem(idx, obj : fairygui.GObject) {
|
||
|
var item = obj.asCom;
|
||
|
var info = this.requireListData[idx];
|
||
|
FGUtil.getLoader(item, "ava").texture = GameModel.getRoleHead(info.resid);
|
||
|
FGUtil.getLoader(item, "race").url = `ui://main_ui/icon_race${info.race}`;
|
||
|
FGUtil.getTextField(item, "player_name").text = info.name;
|
||
|
FGUtil.getRichTextField(item, "level").text = GameUtil.getReliveRichText(info.relive, info.level);
|
||
|
var agreeBtn = FGUtil.getButton(item, "n8");
|
||
|
var rejectBtn = FGUtil.getButton(item, "n9")
|
||
|
agreeBtn.node["roleid"] = info.roleid;
|
||
|
agreeBtn.node["opera"] = 1;
|
||
|
rejectBtn.node["roleid"] = info.roleid;
|
||
|
rejectBtn.node["opera"] = 0;
|
||
|
agreeBtn.onClick(this.applyJoinGang, this);
|
||
|
rejectBtn.onClick(this.applyJoinGang, this);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 操作入幫申請
|
||
|
*/
|
||
|
applyJoinGang(e : Event) {
|
||
|
var roleid, opera;
|
||
|
if (e.target && SKDataUtil.hasProperty(e.target, "roleid") && SKDataUtil.hasProperty(e.target, "opera")) {
|
||
|
roleid = e.target["roleid"];
|
||
|
opera = e.target["opera"];
|
||
|
} else {
|
||
|
MsgAlert.addMsg("信息錯誤!")
|
||
|
return;
|
||
|
}
|
||
|
if (this.job < 7)
|
||
|
GameModel.send("c2s_operbang", {
|
||
|
operation: opera,
|
||
|
roleid: roleid,
|
||
|
bangid: GameModel.player.bangid
|
||
|
})
|
||
|
else
|
||
|
MsgAlert.addMsg("暫無權限!")
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
* @param race 種族
|
||
|
* @param sex 性別
|
||
|
*/
|
||
|
getRaceSex(race, sex) {
|
||
|
return `${ItemUtil.sexName[sex - 1]}${ItemUtil.raceName[race - 1]}`;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 脫離幫派
|
||
|
*/
|
||
|
leaveGang() {
|
||
|
FGAlert.show("確認脫離幫派麼?", () => {
|
||
|
FGAlert.hide();
|
||
|
}, () => {
|
||
|
FGAlert.hide();
|
||
|
FGUtil.dispose(this.gangPanel);
|
||
|
this.gangPanel = null;
|
||
|
this.closeAllView();
|
||
|
GameModel.send('c2s_leavebang', {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
bangid: GameModel.player.bangid
|
||
|
});
|
||
|
})
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 清空申請入幫列表
|
||
|
*/
|
||
|
clearApplyList() {
|
||
|
this.requireListData = [];
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangManageView)) return;
|
||
|
FGUtil.getControl(this.gangManageView, "apply").selectedIndex = 0;
|
||
|
var requireList = FGUtil.getList(this.gangManageView, "applyList");
|
||
|
requireList.numItems = 0;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 關閉幫派所有子界面以及清空數據
|
||
|
*/
|
||
|
closeAllView() {
|
||
|
this.gangInfoData = null;
|
||
|
if (this.gangInfoView) {
|
||
|
FGUtil.dispose(this.gangInfoView);
|
||
|
this.gangInfoView = null;
|
||
|
}
|
||
|
if (this.gangManageView) {
|
||
|
FGUtil.dispose(this.gangManageView);
|
||
|
this.gangManageView = null;
|
||
|
}
|
||
|
this.gangRoleListData = [];
|
||
|
this.requireListData = [];
|
||
|
this.gangInfoData = null;
|
||
|
this.selectRoleIdx = -1;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 刷新幫派面板數據
|
||
|
*/
|
||
|
refreshGangPanel(data : any = null) {
|
||
|
this.gangInfoData = data;
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangPanel)) return;
|
||
|
this.isMaster = data.info.masterid == GameModel.player.roleid
|
||
|
FGUtil.getTextField(this.gangPanel, "alert/title/title").text = data.info.name;
|
||
|
FGUtil.getControl(this.gangInfoView, "aim_notice/master").selectedIndex = this.isMaster ? 1 : 0;
|
||
|
var aim = data.info.aim ? data.info.aim : "無"
|
||
|
var notice = data.info.notice ? data.info.notice : "無"
|
||
|
FGUtil.getRichTextField(this.gangInfoView, "aim_notice/zongzhi/info/info").text = aim == "" ? "無" : aim;
|
||
|
FGUtil.getRichTextField(this.gangInfoView, "aim_notice/gonggao/info/info").text = notice == "" ? "無" : notice;
|
||
|
var page = FGUtil.getControl(this.gangPanel, "alert/page").selectedIndex;
|
||
|
if (page == 0) {
|
||
|
// 渲染幫派信息
|
||
|
this.refreshGangInfo(this.gangInfoData.rolelist);
|
||
|
}
|
||
|
if (page == 1) {
|
||
|
// 查找自己的加入時間和職位 !統計人數
|
||
|
var joinTime;
|
||
|
for (let i in data.rolelist) {
|
||
|
if (data.rolelist[i].roleid == GameModel.player.roleid) {
|
||
|
joinTime = data.rolelist[i].jointime;
|
||
|
this.job = data.rolelist[i].hasOwnProperty("bangpost") ? data.rolelist[i].bangpost : 7
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
if (this.job < 7)
|
||
|
GameModel.send('c2s_getbangrequest', {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
bangid: GameModel.player.bangid
|
||
|
});
|
||
|
this.gangInfoData.info.joinTime = joinTime;
|
||
|
// 渲染幫派內政
|
||
|
this.refreshGangManage(this.gangInfoData.info);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 刷新幫派信息界面
|
||
|
*/
|
||
|
refreshGangInfo(info : any = []) {
|
||
|
this.gangRoleListData = info;
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangInfoView)) return;
|
||
|
var list = FGUtil.getList(this.gangInfoView, "n10");
|
||
|
list.numItems = info.length;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 回到幫派
|
||
|
*/
|
||
|
backGang() {
|
||
|
if (GameModel.player.bangid == 0) {
|
||
|
MsgAlert.addMsg("你沒有幫派");
|
||
|
return;
|
||
|
}
|
||
|
let comMapLogic = cc.find('Canvas/MapUI').getComponent('GameMapLogic');
|
||
|
comMapLogic.changeMap(3002);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 打開修煉面板
|
||
|
*/
|
||
|
openPracticePanel() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.practicePanel)) {
|
||
|
this.practicePanel = FGUtil.create("main_ui", "gang_practice_panel");
|
||
|
FGUtil.root().addChild(this.practicePanel);
|
||
|
this.practicePanel.makeFullScreen();
|
||
|
}
|
||
|
var mask = FGUtil.getComponent(this.practicePanel, "mask");
|
||
|
var close = FGUtil.getButton(this.practicePanel, "alert/close");
|
||
|
this.pushCloseEvent(mask, this.practicePanel, () => { this.practiceData = {} });
|
||
|
this.pushCloseEvent(close, this.practicePanel, () => { this.practiceData = {} });
|
||
|
|
||
|
var upGradeBtn = FGUtil.getButton(this.practicePanel, "alert/n58");
|
||
|
upGradeBtn.onClick(this.openUpGradePanel, this);
|
||
|
|
||
|
var cleanBtn = FGUtil.getButton(this.practicePanel, "alert/n33");
|
||
|
cleanBtn.onClick(this.porpertyCancel, this);
|
||
|
var submitBtn = FGUtil.getButton(this.practicePanel, "alert/n40");
|
||
|
submitBtn.onClick(this.porpertySure, this);
|
||
|
var resetBtn = FGUtil.getButton(this.practicePanel, "alert/n57");
|
||
|
resetBtn.onClick(this.porpertyReset, this);
|
||
|
|
||
|
this.initPracticeData();
|
||
|
this.registerPracticeBtnEvent();
|
||
|
}
|
||
|
|
||
|
porpertyReset() {
|
||
|
if (GameModel.player.gameData.money < GameUtil.resetXiulian) {
|
||
|
MsgAlert.addMsg(`銀兩不足,重置需要消耗${GameUtil.resetXiulian}銀兩!`);
|
||
|
return;
|
||
|
}
|
||
|
FGAlert.show(`消耗${GameUtil.resetXiulian}銀兩重置修煉點數?`, () => {
|
||
|
FGAlert.hide();
|
||
|
}, () => {
|
||
|
FGAlert.hide();
|
||
|
GameModel.send('c2s_xiulian_point', {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
type: 0,
|
||
|
info: '{}'
|
||
|
});
|
||
|
FGUtil.getControl(this.practicePanel, "alert/type").selectedIndex = 0;
|
||
|
})
|
||
|
}
|
||
|
|
||
|
porpertyCancel() {
|
||
|
var data = this.practiceData
|
||
|
data.dpoint = SKDataUtil.clone(data.dpointBase);
|
||
|
data.dpointT = {};
|
||
|
this.initPracticeData();
|
||
|
FGUtil.getControl(this.practicePanel, "alert/type").selectedIndex = 0;
|
||
|
}
|
||
|
|
||
|
porpertySure() {
|
||
|
var data = this.practiceData;
|
||
|
for (const key in data.dpointT) {
|
||
|
if (SKDataUtil.hasProperty(data.dpointT, key)) {
|
||
|
const num = data.dpointT[key];
|
||
|
if (num < 0) {
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
GameModel.send('c2s_xiulian_point', {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
type: 1,
|
||
|
info: JSON.stringify(data.dpointT)
|
||
|
});
|
||
|
FGUtil.getControl(this.practicePanel, "alert/type").selectedIndex = 0;
|
||
|
}
|
||
|
|
||
|
initPracticeData() {
|
||
|
var data = this.practiceData;
|
||
|
data.dpoint = SKDataUtil.clone(GameModel.player.gameData.addattr1);
|
||
|
data.dpointBase = SKDataUtil.clone(data.dpoint);
|
||
|
data.attr1 = GameModel.player.gameData.attr1;
|
||
|
data.xlevel = GameModel.player.gameData.xiulevel;
|
||
|
data.leftpoint = data.xlevel;
|
||
|
for (const key in data.dpoint) {
|
||
|
if (SKDataUtil.hasProperty(data.dpoint, key)) {
|
||
|
data.leftpoint -= data.dpoint[key];
|
||
|
}
|
||
|
}
|
||
|
if (data.leftpoint < 0) {
|
||
|
data.leftpoint = 0;
|
||
|
}
|
||
|
data.dpointT = {};
|
||
|
data.dshangxian = data.attr1[EAttrTypeL1.K_SEAL_CONFUSION_SLEEP_FORGET_LIMIT];
|
||
|
data.dfengyin = data.attr1[EAttrTypeL1.K_SEAL];
|
||
|
data.dhunlun = data.attr1[EAttrTypeL1.K_CONFUSION];
|
||
|
data.dhunshui = data.attr1[EAttrTypeL1.K_SLEEP];
|
||
|
data.dyiwang = data.attr1[EAttrTypeL1.K_FORGET];
|
||
|
data.dfeng = data.attr1[EAttrTypeL1.K_WIND];
|
||
|
data.dlei = data.attr1[EAttrTypeL1.K_THUNDER];
|
||
|
data.dshui = data.attr1[EAttrTypeL1.K_WATER];
|
||
|
data.dhuo = data.attr1[EAttrTypeL1.K_FIRE];
|
||
|
data.dguihuo = data.attr1[EAttrTypeL1.K_WILDFIRE];
|
||
|
data.dsanshi = data.attr1[EAttrTypeL1.K_BLOODRETURN];
|
||
|
data.ddu = data.attr1[EAttrTypeL1.K_POISON];
|
||
|
data.pxishou = data.attr1[EAttrTypeL1.PHY_GET];
|
||
|
this.refreshPractice();
|
||
|
}
|
||
|
/**
|
||
|
* 刷新修煉顯示
|
||
|
*/
|
||
|
refreshPractice() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.practicePanel)) {
|
||
|
console.warn("未找到面板");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var data = this.practiceData;
|
||
|
FGUtil.getTextField(this.practicePanel, "alert/level").text = data.leftpoint.toString();
|
||
|
FGUtil.getTextField(this.practicePanel, "alert/n55").text = `修煉LV.${data.xlevel}`;
|
||
|
var box = FGUtil.getComponent(this.practicePanel, "alert/addBox");
|
||
|
|
||
|
FGUtil.getTextField(box, "k1/num").text = data.dshangxian.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k1/add/title").text = (data.dpoint[EAttrTypeL1.K_SEAL] == null ? 0 : data.dpoint[EAttrTypeL1.K_SEAL_CONFUSION_SLEEP_FORGET_LIMIT]);
|
||
|
|
||
|
|
||
|
FGUtil.getTextField(box, "k2/num").text = data.dfengyin.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k2/add/title").text = (data.dpoint[EAttrTypeL1.K_SEAL] == null ? 0 : data.dpoint[EAttrTypeL1.K_SEAL]);
|
||
|
|
||
|
FGUtil.getTextField(box, "k3/num").text = data.dhunlun.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k3/add/title").text = (data.dpoint[EAttrTypeL1.K_CONFUSION] == null ? 0 : data.dpoint[EAttrTypeL1.K_CONFUSION]);
|
||
|
|
||
|
FGUtil.getTextField(box, "k4/num").text = data.dhunshui.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k4/add/title").text = (data.dpoint[EAttrTypeL1.K_SLEEP] == null ? 0 : data.dpoint[EAttrTypeL1.K_SLEEP]);
|
||
|
|
||
|
FGUtil.getTextField(box, "k5/num").text = data.dyiwang.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k5/add/title").text = (data.dpoint[EAttrTypeL1.K_FORGET] == null ? 0 : data.dpoint[EAttrTypeL1.K_FORGET]);
|
||
|
|
||
|
|
||
|
FGUtil.getTextField(box, "k6/num").text = data.dfeng.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k6/add/title").text = (data.dpoint[EAttrTypeL1.K_WIND] == null ? 0 : data.dpoint[EAttrTypeL1.K_WIND]);
|
||
|
|
||
|
FGUtil.getTextField(box, "k7/num").text = data.dlei.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k7/add/title").text = (data.dpoint[EAttrTypeL1.K_THUNDER] == null ? 0 : data.dpoint[EAttrTypeL1.K_THUNDER]);
|
||
|
|
||
|
FGUtil.getTextField(box, "k8/num").text = data.dshui.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k8/add/title").text = (data.dpoint[EAttrTypeL1.K_WATER] == null ? 0 : data.dpoint[EAttrTypeL1.K_WATER]);
|
||
|
|
||
|
FGUtil.getTextField(box, "k9/num").text = data.dhuo.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k9/add/title").text = (data.dpoint[EAttrTypeL1.K_FIRE] == null ? 0 : data.dpoint[EAttrTypeL1.K_FIRE]);
|
||
|
|
||
|
|
||
|
FGUtil.getTextField(box, "k10/num").text = data.dguihuo.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k10/add/title").text = (data.dpoint[EAttrTypeL1.K_WILDFIRE] == null ? 0 : data.dpoint[EAttrTypeL1.K_WILDFIRE]);
|
||
|
|
||
|
FGUtil.getTextField(box, "k11/num").text = data.dsanshi.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k11/add/title").text = (data.dpoint[EAttrTypeL1.K_BLOODRETURN] == null ? 0 : data.dpoint[EAttrTypeL1.K_BLOODRETURN]);
|
||
|
|
||
|
FGUtil.getTextField(box, "k12/num").text = data.ddu.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k12/add/title").text = (data.dpoint[EAttrTypeL1.K_POISON] == null ? 0 : data.dpoint[EAttrTypeL1.K_POISON]);
|
||
|
|
||
|
FGUtil.getTextField(box, "k13/num").text = data.pxishou.toFixed(1) + '%';
|
||
|
FGUtil.getTextField(box, "k13/add/title").text = (data.dpoint[EAttrTypeL1.PHY_GET] == null ? 0 : data.dpoint[EAttrTypeL1.PHY_GET]);
|
||
|
}
|
||
|
|
||
|
registerPracticeBtnEvent() {
|
||
|
var box = FGUtil.getComponent(this.practicePanel, "alert/addBox");
|
||
|
this.setPracticeKangBtnFunc('1', EAttrTypeL1.K_SEAL_CONFUSION_SLEEP_FORGET_LIMIT, box);
|
||
|
|
||
|
this.setPracticeKangBtnFunc('2', EAttrTypeL1.K_SEAL, box);
|
||
|
this.setPracticeKangBtnFunc('3', EAttrTypeL1.K_CONFUSION, box);
|
||
|
this.setPracticeKangBtnFunc('4', EAttrTypeL1.K_SLEEP, box);
|
||
|
this.setPracticeKangBtnFunc('5', EAttrTypeL1.K_FORGET, box);
|
||
|
|
||
|
this.setPracticeKangBtnFunc('6', EAttrTypeL1.K_WIND, box);
|
||
|
this.setPracticeKangBtnFunc('7', EAttrTypeL1.K_THUNDER, box);
|
||
|
this.setPracticeKangBtnFunc('8', EAttrTypeL1.K_WATER, box);
|
||
|
this.setPracticeKangBtnFunc('9', EAttrTypeL1.K_FIRE, box);
|
||
|
|
||
|
this.setPracticeKangBtnFunc('10', EAttrTypeL1.K_WILDFIRE, box);
|
||
|
this.setPracticeKangBtnFunc('11', EAttrTypeL1.K_BLOODRETURN, box);
|
||
|
this.setPracticeKangBtnFunc('12', EAttrTypeL1.K_POISON, box);
|
||
|
this.setPracticeKangBtnFunc('13', EAttrTypeL1.PHY_GET, box);
|
||
|
}
|
||
|
|
||
|
setPracticeKangBtnFunc(name : string, type : number, box : fairygui.GComponent) {
|
||
|
var subBtn = FGUtil.getButton(box, `k${name}/add/sub`);
|
||
|
var addBtn = FGUtil.getButton(box, `k${name}/add/add`);
|
||
|
addBtn.node["datainfo"] = type;
|
||
|
addBtn.node["opertype"] = 0;
|
||
|
subBtn.node["datainfo"] = type;
|
||
|
subBtn.node["opertype"] = 1;
|
||
|
addBtn.node.on(cc.Node.EventType.TOUCH_START, this.propertyBtnClick.bind(this));
|
||
|
addBtn.asButton.node.on(cc.Node.EventType.TOUCH_END, this.propertyBtnClick.bind(this));
|
||
|
subBtn.node.on(cc.Node.EventType.TOUCH_START, this.propertyBtnClick.bind(this));
|
||
|
subBtn.asButton.node.on(cc.Node.EventType.TOUCH_END, this.propertyBtnClick.bind(this));
|
||
|
|
||
|
}
|
||
|
|
||
|
propertyBtnClick(e) {
|
||
|
var data = this.practiceData;
|
||
|
data.addOrSubNumber = LongPressSpeedAttr.OPERAINITNUM;
|
||
|
if (e.type == cc.Node.EventType.TOUCH_START) {
|
||
|
data.maxtiemcnt = LongPressSpeedAttr.MAXTIMECNT;
|
||
|
data.timecnt = 0;
|
||
|
data.currentBtn = e.target;
|
||
|
}
|
||
|
else if (e.type == cc.Node.EventType.TOUCH_END || e.type == cc.Node.EventType.TOUCH_CANCEL) {
|
||
|
data.timecnt = data.maxtiemcnt;
|
||
|
this.update();
|
||
|
data.currentBtn = null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
update() {
|
||
|
if (this.practiceData.currentBtn == null) {
|
||
|
return;
|
||
|
}
|
||
|
var data = this.practiceData;
|
||
|
data.timecnt += LongPressSpeedAttr.TIMECNTADD;
|
||
|
if (data.timecnt >= data.maxtiemcnt) {
|
||
|
if (data.maxtiemcnt > LongPressSpeedAttr.MINTIMECNT) {
|
||
|
data.maxtiemcnt -= LongPressSpeedAttr.TIMECNTSUB;
|
||
|
data.maxtiemcnt = Math.max(LongPressSpeedAttr.MINTIMECNT, data.maxtiemcnt)
|
||
|
}
|
||
|
data.timecnt = 0;
|
||
|
if (data.currentBtn.opertype == 0) {
|
||
|
this.propertyAddPoint(data.currentBtn.datainfo);
|
||
|
}
|
||
|
else if (data.currentBtn.opertype == 1) {
|
||
|
this.propertySubPoint(data.currentBtn.datainfo);
|
||
|
}
|
||
|
data.addOrSubNumber += LongPressSpeedAttr.OPERADDNUM;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
propertyAddPoint(num) {
|
||
|
var data = this.practiceData;
|
||
|
if (data.leftpoint <= 0) {
|
||
|
return;
|
||
|
}
|
||
|
if (data.dpointT[num] == null) {
|
||
|
data.dpointT[num] = 0;
|
||
|
}
|
||
|
data.dpointT[num]++;
|
||
|
data.dpoint[num]++;
|
||
|
this.calculateProperty();
|
||
|
}
|
||
|
propertySubPoint(num) {
|
||
|
var data = this.practiceData;
|
||
|
if (data.dpointT[num] == null || data.dpointT[num] <= 0) {
|
||
|
return;
|
||
|
}
|
||
|
data.dpointT[num]--;
|
||
|
data.dpoint[num]--;
|
||
|
this.calculateProperty();
|
||
|
}
|
||
|
|
||
|
calculateProperty() {
|
||
|
FGUtil.getControl(this.practicePanel, "alert/type").selectedIndex = 1;
|
||
|
var data = this.practiceData;
|
||
|
data.leftpoint = data.xlevel;
|
||
|
for (const key in data.dpoint) {
|
||
|
if (SKDataUtil.hasProperty(data.dpoint, key)) {
|
||
|
data.leftpoint -= data.dpoint[key];
|
||
|
}
|
||
|
}
|
||
|
if (data.leftpoint < 0) {
|
||
|
data.leftpoint = 0;
|
||
|
}
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_SEAL_CONFUSION_SLEEP_FORGET_LIMIT)) && (data.dshangxian = data.attr1[EAttrTypeL1.K_SEAL_CONFUSION_SLEEP_FORGET_LIMIT] + data.dpointT[EAttrTypeL1.K_SEAL_CONFUSION_SLEEP_FORGET_LIMIT] * 2.5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_SEAL)) && (data.dfengyin = data.attr1[EAttrTypeL1.K_SEAL] + data.dpointT[EAttrTypeL1.K_SEAL] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_CONFUSION)) && (data.dhunlun = data.attr1[EAttrTypeL1.K_CONFUSION] + data.dpointT[EAttrTypeL1.K_CONFUSION] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_SLEEP)) && (data.dhunshui = data.attr1[EAttrTypeL1.K_SLEEP] + data.dpointT[EAttrTypeL1.K_SLEEP] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_FORGET)) && (data.dyiwang = data.attr1[EAttrTypeL1.K_FORGET] + data.dpointT[EAttrTypeL1.K_FORGET] * 5);
|
||
|
if (data.dfengyin > data.dshangxian) {
|
||
|
data.dfengyin = data.dshangxian;
|
||
|
}
|
||
|
if (data.dhunlun > data.dshangxian) {
|
||
|
data.dhunlun = data.dshangxian;
|
||
|
}
|
||
|
if (data.dhunshui > data.dshangxian) {
|
||
|
data.dhunshui = data.dshangxian;
|
||
|
}
|
||
|
if (data.dyiwang > data.dshangxian) {
|
||
|
data.dyiwang = data.dshangxian;
|
||
|
}
|
||
|
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_WIND)) && (data.dfeng = data.attr1[EAttrTypeL1.K_WIND] + data.dpointT[EAttrTypeL1.K_WIND] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_THUNDER)) && (data.dlei = data.attr1[EAttrTypeL1.K_THUNDER] + data.dpointT[EAttrTypeL1.K_THUNDER] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_WATER)) && (data.dshui = data.attr1[EAttrTypeL1.K_WATER] + data.dpointT[EAttrTypeL1.K_WATER] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_FIRE)) && (data.dhuo = data.attr1[EAttrTypeL1.K_FIRE] + data.dpointT[EAttrTypeL1.K_FIRE] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_WILDFIRE)) && (data.dguihuo = data.attr1[EAttrTypeL1.K_WILDFIRE] + data.dpointT[EAttrTypeL1.K_WILDFIRE] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_BLOODRETURN)) && (data.dsanshi = data.attr1[EAttrTypeL1.K_BLOODRETURN] + data.dpointT[EAttrTypeL1.K_BLOODRETURN] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.K_POISON)) && (data.ddu = data.attr1[EAttrTypeL1.K_POISON] + data.dpointT[EAttrTypeL1.K_POISON] * 5);
|
||
|
(data.dpointT.hasOwnProperty(EAttrTypeL1.PHY_GET)) && (data.pxishou = data.attr1[EAttrTypeL1.PHY_GET] + data.dpointT[EAttrTypeL1.PHY_GET] * 4);
|
||
|
|
||
|
this.refreshPractice();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 天演臨時函數
|
||
|
*/
|
||
|
tianYanFunc() {
|
||
|
FGUtil.dispose(this.gangPanel);
|
||
|
this.gangPanel = null;
|
||
|
this.closeAllView();
|
||
|
FactionTalent.Instance.openFactionTalentPanel();
|
||
|
}
|
||
|
|
||
|
openUpGradePanel() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.practiceUpGradePanel)) {
|
||
|
this.practiceUpGradePanel = FGUtil.create("main_ui", "gang_practice_up_panel");
|
||
|
FGUtil.root().addChild(this.practiceUpGradePanel);
|
||
|
this.practiceUpGradePanel.makeFullScreen();
|
||
|
}
|
||
|
var mask = FGUtil.getComponent(this.practiceUpGradePanel, "mask");
|
||
|
var close = FGUtil.getButton(this.practiceUpGradePanel, "alert/close");
|
||
|
this.pushCloseEvent(mask, this.practiceUpGradePanel);
|
||
|
this.pushCloseEvent(close, this.practiceUpGradePanel);
|
||
|
|
||
|
FGUtil.getButton(this.practiceUpGradePanel, "alert/n40").onClick(this.upgradeBtnClicked, this);
|
||
|
this.refreshUpPracticeGrade();
|
||
|
}
|
||
|
|
||
|
refreshUpPracticeGrade() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.practiceUpGradePanel)) {
|
||
|
console.warn("未找到面板");
|
||
|
return;
|
||
|
}
|
||
|
var levelBar = FGUtil.getProgressBar(this.practiceUpGradePanel, "alert/n58");
|
||
|
levelBar.max = PracticeMgr.GetMaxPriactiveLevel(GameModel.player.relive);
|
||
|
levelBar.value = GameModel.player.gameData.xiulevel;
|
||
|
FGUtil.getTextField(levelBar, "title").fontSize = 20;
|
||
|
FGUtil.getTextField(this.practiceUpGradePanel, "alert/n81").text = PracticeMgr.GetUpdateYinLiang(GameModel.player.gameData.xiulevel);
|
||
|
FGUtil.getTextField(this.practiceUpGradePanel, "alert/n80").text = GameModel.player.gameData.bangscore;
|
||
|
}
|
||
|
|
||
|
upgradeBtnClicked() {
|
||
|
if (GameModel.player.gameData.bangscore <= PracticeMgr.GetUpdateYinLiang(GameModel.player.gameData.xiulevel)) {
|
||
|
MsgAlert.addMsg("幫貢不足");
|
||
|
return;
|
||
|
}
|
||
|
GameModel.send('c2s_xiulian_upgrade', {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
score: PracticeMgr.GetUpdateYinLiang(GameModel.player.gameData.xiulevel)
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 顯示幫派列表
|
||
|
*/
|
||
|
showGangList() {
|
||
|
FGUtil.dispose(this.gangPanel);
|
||
|
this.gangPanel = null;
|
||
|
this.closeAllView();
|
||
|
this.openGangListPanel(true);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 刷新幫派內政界面
|
||
|
*/
|
||
|
refreshGangManage(info : any = null) {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangManageView)) return;
|
||
|
if (info == null) return;
|
||
|
// FGUtil.getControl(this.gangManageView, "type").selectedIndex = info.masterid == GameModel.player.roleid ? 0 : 1
|
||
|
FGUtil.getControl(this.gangManageView, "type").selectedIndex = 0
|
||
|
FGUtil.getTextField(this.gangManageView, "gang_id").text = info.bangid.toString();
|
||
|
FGUtil.getTextField(this.gangManageView, "gang_level").text = `${info.banglevel}級`;
|
||
|
FGUtil.getTextField(this.gangManageView, "gang_master").text = info.mastername;
|
||
|
FGUtil.getTextField(this.gangManageView, "gang_wei").text = `${info.cost}/天`;
|
||
|
FGUtil.getTextField(this.gangManageView, "gang_active").text = info.brisk;
|
||
|
var createTimeStr = new Date(info.createtime);
|
||
|
FGUtil.getTextField(this.gangManageView, "gang_create_time").text = createTimeStr.getFullYear() + '/' + (createTimeStr.getMonth() + 1) + '/' + createTimeStr.getDate();
|
||
|
var t = new Date(info.joinTime);
|
||
|
// 小時
|
||
|
var m = Math.floor((new Date().getTime() - t.getTime()) / 1000 / 60 / 60);
|
||
|
var day = Math.floor(m / 24)
|
||
|
FGUtil.getTextField(this.gangManageView, "gang_join_time").text = `${day <= 0 ? '' : day + '天'}${m % 24}小時`;
|
||
|
FGUtil.getRichTextField(this.gangManageView, "gang_num").text = info.rolenum.toString();
|
||
|
var expBar = FGUtil.getProgressBar(this.gangManageView, "n53");
|
||
|
expBar.max = info.upexp;
|
||
|
expBar.value = info.bangexp;
|
||
|
FGUtil.getTextField(expBar, "title").fontSize = 20;
|
||
|
if (info.bangexp >= info.upexp) {
|
||
|
FGUtil.getControl(this.gangManageView, "upBuild").selectedIndex = 1;
|
||
|
} else {
|
||
|
FGUtil.getControl(this.gangManageView, "upBuild").selectedIndex = 0;
|
||
|
}
|
||
|
FGUtil.getButton(this.gangManageView, "upLevel").onClick(this.upGangLevel, this);
|
||
|
}
|
||
|
|
||
|
refreshGangRequest(info : any = []) {
|
||
|
this.requireListData = info;
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangManageView)) return;
|
||
|
if (this.requireListData.length != 0)
|
||
|
FGUtil.getControl(this.gangManageView, "apply").selectedIndex = 1;
|
||
|
var requireList = FGUtil.getList(this.gangManageView, "applyList");
|
||
|
requireList.numItems = this.requireListData.length;
|
||
|
}
|
||
|
|
||
|
showGangEvent() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangManageView)) return;
|
||
|
FGUtil.getControl(this.gangManageView, "showList").selectedIndex = 0;
|
||
|
FGUtil.getRichTextField(this.gangManageView, "tip").text = "暫無事件";
|
||
|
}
|
||
|
|
||
|
showRequestList() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.gangManageView)) return;
|
||
|
FGUtil.getControl(this.gangManageView, "apply").selectedIndex = 0;
|
||
|
FGUtil.getControl(this.gangManageView, "showList").selectedIndex = 1;
|
||
|
if (this.requireListData.length == 0)
|
||
|
FGUtil.getRichTextField(this.gangManageView, "tip").text = "沒有申請人";
|
||
|
else
|
||
|
FGUtil.getRichTextField(this.gangManageView, "tip").text = "";
|
||
|
}
|
||
|
|
||
|
upGangLevel() {
|
||
|
GameModel.send('c2s_bang_up', {
|
||
|
roleid: GameModel.player.roleid
|
||
|
});
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
* @param type 1是宗旨 2是公告
|
||
|
* @returns
|
||
|
*/
|
||
|
openNoticePanel(type : number = 1) {
|
||
|
if (!this.isMaster) {
|
||
|
MsgAlert.addMsg("只有幫主才能修改!");
|
||
|
return;
|
||
|
}
|
||
|
if (!SKUIUtil.isFGUIValid(this.noticePanel)) {
|
||
|
this.noticePanel = FGUtil.create("main_ui", "gang_notice_panel");
|
||
|
FGUtil.getControl(this.noticePanel, "alert/no").selectedIndex = 1;
|
||
|
if (type == 1) {
|
||
|
FGUtil.getTextField(this.noticePanel, "alert/n32").text = "發送的宗旨所有人都可以看到噢~";
|
||
|
FGUtil.getTextField(this.noticePanel, "alert/tip").text = "宗旨內容";
|
||
|
FGUtil.getTextField(this.noticePanel, "alert/title/title").text = "幫派宗旨";
|
||
|
}
|
||
|
FGUtil.root().addChild(this.noticePanel);
|
||
|
this.noticePanel.makeFullScreen();
|
||
|
}
|
||
|
var mask = FGUtil.getComponent(this.noticePanel, "mask");
|
||
|
var close = FGUtil.getButton(this.noticePanel, "alert/close");
|
||
|
this.pushCloseEvent(mask, this.noticePanel);
|
||
|
this.pushCloseEvent(close, this.noticePanel);
|
||
|
if (type == 1)
|
||
|
FGUtil.getButton(this.noticePanel, "alert/change").onClick(this.changeAim, this);
|
||
|
if (type == 2)
|
||
|
FGUtil.getButton(this.noticePanel, "alert/change").onClick(this.changeNotice, this);
|
||
|
}
|
||
|
changeAim() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.noticePanel)) return;
|
||
|
var content = FGUtil.getTextInput(this.noticePanel, "alert/edit").text
|
||
|
if (content == "") {
|
||
|
MsgAlert.addMsg("請輸入內容");
|
||
|
return;
|
||
|
}
|
||
|
GameModel.send("c2s_issue_affiche", {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
type: 1,
|
||
|
content: content
|
||
|
})
|
||
|
FGUtil.dispose(this.noticePanel);
|
||
|
this.noticePanel = null;
|
||
|
}
|
||
|
changeNotice() {
|
||
|
if (!SKUIUtil.isFGUIValid(this.noticePanel)) return;
|
||
|
var content = FGUtil.getTextInput(this.noticePanel, "alert/edit").text
|
||
|
if (content == "") {
|
||
|
MsgAlert.addMsg("請輸入內容");
|
||
|
return;
|
||
|
}
|
||
|
GameModel.send("c2s_issue_affiche", {
|
||
|
roleid: GameModel.player.roleid,
|
||
|
type: 2,
|
||
|
content: content
|
||
|
})
|
||
|
FGUtil.dispose(this.noticePanel);
|
||
|
this.noticePanel = null;
|
||
|
}
|
||
|
/**
|
||
|
* 添加關閉事件
|
||
|
*/
|
||
|
pushCloseEvent(item : fairygui.GComponent, target : fairygui.GComponent, call : Function = null) {
|
||
|
item.clearClick();
|
||
|
item.onClick(() => {
|
||
|
call && call()
|
||
|
FGUtil.dispose(target);
|
||
|
target = null;
|
||
|
}, this)
|
||
|
}
|
||
|
}
|