| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- cc.Class({
- extends: cc.Component,
- properties: {
- ManageAI: cc.Node,
- GoldLabel: cc.Node,
- DiamondLabel: cc.Node,
- LV: cc.Node,
- MaxWorkLV: cc.Node,
- WorkerNum: cc.Node,
- WorkerCapacity: cc.Node,
- PhysicalStrength: cc.Node,
- Labor: cc.Node,
- Wages: cc.Node,
- RecruitCost: cc.Node,
- UpGradeCost: cc.Node,
- // //工人容量值
- // workerCapacity: { default: 32, type: cc.Integer, tooltip: '可招聘工人最大值' },
- //“管理”界面的招聘进度条 Recruit
- ManagementProgressBar_Recruit: {
- default: null,
- type: cc.Node,
- },
- //“管理”界面的培训进度条
- ManagementProgressBar_Train: {
- default: null,
- type: cc.Node,
- },
- AlertUIView: cc.Node,
- },
- start() {
- // this.InitWorkerAI();
- },
- InitWorkerAI: function () {
- //体力 劳动力 薪资 培训费用
- this.WorkerLVPropertyJSON = [
- {
- PhysicalStrength: '50',
- Labor: '5',
- Wages: '50',
- UpgradeCost: '20',
- MoveSpeed: '100',
- },
- {
- PhysicalStrength: '55',
- Labor: '7',
- Wages: '100',
- UpgradeCost: '50',
- MoveSpeed: '120',
- },
- {
- PhysicalStrength: '60',
- Labor: '9',
- Wages: '200',
- UpgradeCost: '100',
- MoveSpeed: '140',
- },
- {
- PhysicalStrength: '65',
- Labor: '11',
- Wages: '300',
- UpgradeCost: '500',
- MoveSpeed: '160',
- },
- {
- PhysicalStrength: '70',
- Labor: '13',
- Wages: '400',
- UpgradeCost: '1000',
- MoveSpeed: '180',
- },
- {
- PhysicalStrength: '75',
- Labor: '15',
- Wages: '500',
- UpgradeCost: '1500',
- MoveSpeed: '200',
- },
- {
- PhysicalStrength: '80',
- Labor: '17',
- Wages: '600',
- UpgradeCost: '2000',
- MoveSpeed: '220',
- },
- {
- PhysicalStrength: '85',
- Labor: '18',
- Wages: '700',
- UpgradeCost: '2500',
- MoveSpeed: '240',
- },
- {
- PhysicalStrength: '90',
- Labor: '19',
- Wages: '800',
- UpgradeCost: '3000',
- MoveSpeed: '260',
- },
- {
- PhysicalStrength: '100',
- Labor: '20',
- Wages: '900',
- UpgradeCost: '0',
- MoveSpeed: '280',
- },
- ]
- this.WorkerNum.getComponent(cc.Label).string =
- GlobalD.GameData.GetWorkerNum()
- //容量是定死的值,不用存储,也不用读取
- this.WorkerCapacity.getComponent(cc.Label).string =
- GlobalD.GameData.GetWorkerCapacity()
- this.SetBar_RecruitLength(
- GlobalD.GameData.GetWorkerNum() / GlobalD.GameData.GetWorkerCapacity()
- )
- this.LV.getComponent(cc.Label).string = GlobalD.GameData.GetWorkerLV() + 1
- this.MaxWorkLV.getComponent(cc.Label).string =
- this.WorkerLVPropertyJSON.length
- this.SetBar_TrainLength(
- (GlobalD.GameData.GetWorkerLV() + 1) / this.WorkerLVPropertyJSON.length
- )
- let CurrentGradeJson =
- this.WorkerLVPropertyJSON[GlobalD.GameData.GetWorkerLV()]
- this.PhysicalStrength.getComponent(cc.Label).string =
- CurrentGradeJson.PhysicalStrength
- this.Labor.getComponent(cc.Label).string = CurrentGradeJson.Labor
- this.Wages.getComponent(cc.Label).string = CurrentGradeJson.Wages
- this.RecruitCost.getComponent(cc.Label).string = CurrentGradeJson.Wages
- this.UpGradeCost.getComponent(cc.Label).string =
- CurrentGradeJson.UpgradeCost
- this._ManageAI = this.ManageAI.getComponent('ManageAI')
- this._ManageAI.InitCurrentGradeJson = CurrentGradeJson
- //生成存储的工人数据
- this._ManageAI.onSpawnWorkerAIFromStoredData()
- // cc.log('工人');
- },
- //招聘
- onRecruit: function () {
- if (task.TaskIconCountClick == 1) {
- //现在关掉招聘的 页面 弹出对话框 提示 要点击建造
- task.managerUi.onButtonEvent_Personnel_Close()
- task.showManagerhide()
- var Canvas = cc.find('Canvas/UICamera')
- //移动camera 对应位置
- cc.find('GameNode/ManageTask')
- .getComponent('ManageTask')
- .onMoveToTiledTile(16, 16)
- //招聘了人马上设置对应的数
- task.TaskIconCountClick = -1
- dialogmanager.init(
- Canvas,
- function () {
- dialogmanager.pickUp(dialogmanager.dialogue[30])
- }.bind(this)
- )
- dialogmanager.setOnCloseDialog(
- function () {
- task.removeTaskNode(task.taskCursorName[3])
- // task._setTaskIconCountClick(12);
- // task._setTaskIconCountClick(13);
- // setTimeout(() => {
- // task.taskCallBack();
- // }, 500);
- //建房子
- GlobalD.ManageTask.onInitGameStartTask()
- }.bind(this)
- )
- }
- if (
- GlobalD.GameData.GetWorkerNum() + 1 >
- GlobalD.GameData.GetWorkerCapacity()
- ) {
- cc.loader.loadRes(
- 'resUI/ShowNotEnoughMoney',
- function (err, texture) {
- var prefab = cc.instantiate(texture)
- prefab.getComponent('ShowNotEnoughMoney').Text('超员了!!')
- this.AlertUIView.addChild(prefab)
- }.bind(this)
- )
- return
- }
- if (
- GlobalD.GameData.GetGolden() <
- parseInt(this.WorkerLVPropertyJSON[GlobalD.GameData.GetWorkerLV()].Wages)
- ) {
- cc.loader.loadRes(
- 'resUI/ShowNotEnoughMoney',
- function (err, texture) {
- var prefab = cc.instantiate(texture)
- prefab.getComponent('ShowNotEnoughMoney').Text('金币不足!!')
- this.AlertUIView.addChild(prefab)
- }.bind(this)
- )
- return
- }
- GlobalD.GameData.PlusGolden(
- -parseInt(this.WorkerLVPropertyJSON[GlobalD.GameData.GetWorkerLV()].Wages)
- )
- GlobalD.GameData.PlusWorkerNum(1)
- this.WorkerNum.getComponent(cc.Label).string =
- GlobalD.GameData.GetWorkerNum()
- this._ManageAI.onSpawnWorkerAI()
- this.SetBar_RecruitLength(
- GlobalD.GameData.GetWorkerNum() / GlobalD.GameData.GetWorkerCapacity()
- )
- },
- Building_t: function () {
- var Canvas = cc.find('Canvas/UICamera')
- var Building = cc.find('Canvas/UICamera/BelowTheMask/Building')
- task.addTaskTips(
- Canvas,
- task.taskPrefab[6],
- 0,
- 0,
- task.taskCursorName[1],
- function (nodePrefabs1) {
- UtilsPrefabs.setOn(
- nodePrefabs1.getChildByName('SureBtn'),
- function () {
- task.removeTaskNode(task.taskCursorName[1])
- task.addTaskTips(
- Building,
- task.taskPrefab[1],
- -50,
- -50,
- task.taskCursorName[0],
- function (nodePrefabs) {}.bind(this)
- )
- }.bind(this)
- )
- }.bind(this)
- )
- },
- //解雇
- onFire: function () {
- if (GlobalD.GameData.GetWorkerNum() - 1 < 0) return
- if (this._ManageAI.onRemoveWorkerAI()) {
- //如果成功删除AI
- GlobalD.GameData.PlusWorkerNum(-1)
- this.WorkerNum.getComponent(cc.Label).string =
- GlobalD.GameData.GetWorkerNum()
- }
- },
- onFireNum() {
- this.FirePerson(5)
- },
- FirePerson: function (num) {
- if (GlobalD.GameData.GetWorkerNum() - num < 0) {
- num = GlobalD.GameData.GetWorkerNum()
- }
- //不需要解雇
- if (num <= 0) return
- if (this.AutoFireWorker) this.unschedule(this.AutoFireWorker)
- //自动存储数据
- this.AutoFireWorker = function () {
- if (num <= 0) return
- for (let i = 0; i < num; i++) {
- //只能解雇可以解雇状态下的工人
- if (this._ManageAI.onRemoveWorkerAI()) {
- //如果成功删除AI
- GlobalD.GameData.PlusWorkerNum(-1)
- this.WorkerNum.getComponent(cc.Label).string =
- GlobalD.GameData.GetWorkerNum()
- num--
- }
- }
- }
- this.schedule(this.AutoFireWorker, 0.5)
- },
- //培训
- onUpgrade: function () {
- if (this.WorkerLVPropertyJSON.length - 2 < GlobalD.GameData.GetWorkerLV())
- return
- let CurrentGradeJson =
- this.WorkerLVPropertyJSON[GlobalD.GameData.GetWorkerLV()]
- let UpgradeCost = CurrentGradeJson.UpgradeCost
- if (GlobalD.GameData.GetDiamond() < UpgradeCost) {
- cc.loader.loadRes(
- 'resUI/ShowNotEnoughMoney',
- function (err, texture) {
- var prefab = cc.instantiate(texture)
- prefab.getComponent('ShowNotEnoughMoney').Text('钻石不足!!')
- this.AlertUIView.addChild(prefab)
- }.bind(this)
- )
- return
- }
- GlobalD.GameData.PlusDiamond(-UpgradeCost)
- // this.GoldLabel.getComponent(cc.Label).string = GlobalD.GameData.GetDiamond();
- // this.DiamondNowlabel.string = result + '/30000'
- this.DiamondLabel.getComponent(cc.Label).string =
- GlobalD.GameData.GetDiamond()
- GlobalD.GameData.PlusWorkerLV(1)
- this.LV.getComponent(cc.Label).string = GlobalD.GameData.GetWorkerLV() + 1
- CurrentGradeJson = this.WorkerLVPropertyJSON[GlobalD.GameData.GetWorkerLV()]
- this.PhysicalStrength.getComponent(cc.Label).string =
- CurrentGradeJson.PhysicalStrength
- this.Labor.getComponent(cc.Label).string = CurrentGradeJson.Labor
- this.Wages.getComponent(cc.Label).string = CurrentGradeJson.Wages
- GlobalD.GameData.SetWorkerCapacity(CurrentGradeJson.Labor)
- this.WorkerCapacity.getComponent(cc.Label).string = CurrentGradeJson.Labor
- //修改全体人物属性
- this._ManageAI.InitCurrentGradeJson = CurrentGradeJson
- this._ManageAI.onUpgradeAllWorker()
- this.SetBar_TrainLength(
- (GlobalD.GameData.GetWorkerLV() + 1) / this.WorkerLVPropertyJSON.length
- )
- this.SetBar_RecruitLength(
- GlobalD.GameData.GetWorkerNum() / GlobalD.GameData.GetWorkerCapacity()
- )
- this.RecruitCost.getComponent(cc.Label).string = CurrentGradeJson.Wages
- this.UpGradeCost.getComponent(cc.Label).string =
- CurrentGradeJson.UpgradeCost
- },
- onDegrade: function () {
- if (GlobalD.GameData.GetWorkerLV() - 1 < 0) return
- GlobalD.GameData.PlusWorkerLV(-1)
- this.LV.getComponent(cc.Label).string = GlobalD.GameData.GetWorkerLV() + 1
- let CurrentGradeJson =
- this.WorkerLVPropertyJSON[GlobalD.GameData.GetWorkerLV()]
- CurrentGradeJson = this.WorkerLVPropertyJSON[GlobalD.GameData.GetWorkerLV()]
- this.PhysicalStrength.getComponent(cc.Label).string =
- CurrentGradeJson.PhysicalStrength
- this.Labor.getComponent(cc.Label).string = CurrentGradeJson.Labor
- this.Wages.getComponent(cc.Label).string = CurrentGradeJson.Wages
- GlobalD.GameData.SetWorkerCapacity(CurrentGradeJson.Labor)
- this.WorkerCapacity.getComponent(cc.Label).string = CurrentGradeJson.Labor
- //修改全体人物属性
- this._ManageAI.InitCurrentGradeJson = CurrentGradeJson
- this._ManageAI.onUpgradeAllWorker()
- this.SetBar_TrainLength(
- (GlobalD.GameData.GetWorkerLV() + 1) / this.WorkerLVPropertyJSON.length
- )
- this.SetBar_RecruitLength(
- GlobalD.GameData.GetWorkerNum() / GlobalD.GameData.GetWorkerCapacity()
- )
- },
- //招聘进度条
- SetBar_RecruitLength: function (BarLength) {
- //BarLength(0~1,float)
- this.ManagementProgressBar_Recruit.getComponent(cc.ProgressBar).progress =
- BarLength
- },
- //培训进度条
- SetBar_TrainLength: function (BarLength) {
- //BarLength(0~1,float)
- this.ManagementProgressBar_Train.getComponent(cc.ProgressBar).progress =
- BarLength
- },
- })
|