2 Commit-ok 5297358976 ... 2b2833ecf0

Szerző SHA1 Üzenet Dátum
  txq 2b2833ecf0 Merge branch 'master' of http://118.178.135.110:3000/fish/tower_client 6 hónapja
  txq 09116b4bbd 添加角色管理类 6 hónapja

+ 4 - 0
assets/script/game/common/LoginManager.ts

@@ -310,6 +310,10 @@ export class LoginManager {
                     } else {
                         postData.back()
                     }
+                    if (resp.data.role_bag && resp.data.role_bag.roles) {
+                        RoleData.setData(resp.data.role_bag.roles)
+                    }
+
                     if (resp.data.have_pay) {
                         if (!resp.data.pay_notify) {
                             this.sendPost('user', 'get_cash', (data) => {

+ 3 - 2
assets/script/game/data/GameEvent.ts

@@ -14,7 +14,8 @@ let event = {
 	MailUpdate: "MailUpdate",											//邮件操作更新
 
 	SelectServer: "SelectServer",										//服务器选择
-	MaterialChange: "MaterialChange",									//材料變化
-}
+    MaterialChange: "MaterialChange",									//材料变化
+	// boss数据刷新
+	BossUpdate: "BossUpdate",	}
 
 export let GameEvent = event;

+ 24 - 2
assets/script/game/data/RoleData.ts

@@ -1,9 +1,31 @@
 import { UserData } from "./UserData";
 
-
+//服务器端返回的英雄数据
+interface RoleServer {
+    id: string; //英雄id (种族id*10000 +动物形象id)
+    grade: number;  //星级
+    dna_lv: string;   //基因等级
+    dna_attr:{any}   //基因属性
+    equip: [];//读取状态
+    skin: [];//皮肤
+    fight_force: number;//战力
+}
 
 class Data {
-    
+
+    private _roles: { [id: string]: RoleServer } = {};
+    setData(data: RoleServer[]): void {
+        if (data) {
+            data.forEach((v,k) => {
+                this._roles[k] = v;
+            });
+        }
+    }
+
+    getData(id: string): RoleServer {
+        return this._roles[id];
+    }
+
 }
 
 export let RoleData = new Data;

+ 9 - 0
assets/script/game/manager/RoleManager.ts

@@ -0,0 +1,9 @@
+
+
+//角色管理器
+export class RoleManager {
+    //抽一个英雄
+    static getNewRole(){
+        return false;
+    }
+}

+ 9 - 0
assets/script/game/manager/RoleManager.ts.meta

@@ -0,0 +1,9 @@
+{
+  "ver": "4.0.24",
+  "importer": "typescript",
+  "imported": true,
+  "uuid": "b61b0288-cfab-44bd-88e2-234e5880eeb5",
+  "files": [],
+  "subMetas": {},
+  "userData": {}
+}

+ 37 - 11
assets/script/game/ui/tower/TowerUI.ts

@@ -12,13 +12,15 @@ import { BattleNodeBase } from './node/BattleNodeBase';
 import { BattleControl } from './control/BattleControl';
 import { BattleUtil } from './data/BattleUtil';
 import { BattleEventManager } from './base/BattleEventManager';
-import { BattleEventData_EnemyBorn, BattleEventData_EnemyBuff, BattleEventData_EnemyDie, BattleEventData_EnemyHurt, BattleEventData_EnemyMove, BattleEventData_HeroAction, BattleEventData_HeroAttack, BattleEventData_Over, BattleEventTarget, BattleEventType } from './base/BattleEventUtil';
+import { BattleEventData_EnemyBorn, BattleEventData_EnemyBuff, BattleEventData_EnemyDie, BattleEventData_EnemyHurt, BattleEventData_EnemyMove, BattleEventData_HeroAction, BattleEventData_HeroAttack, BattleEventData_Over, BattleEventTarget, BattleEventType, EnemyActionType, TowerUUID } from './base/BattleEventUtil';
 import { MapConf } from './conf/MapConf';
 import { isValid } from 'cc';
 import { HeroDataPool } from './data/HeroData';
 import { StringUtil } from '../../../framework/util/StringUtil';
 import { MaterialUtil } from '../../../framework/util/MaterialUtil';
 import { BattlesConf } from './conf/BattlesConf';
+import { GameEvent } from '../../data/GameEvent';
+import { LoginManager, LoginMgr } from '../../common/LoginManager';
 
 
 //地图比例尺 1:70
@@ -102,6 +104,8 @@ export class TowerUI extends BaseView {
 
 	@property({ type:[Node], tooltip: "统计节点" })
 	countList: Node[] = [];
+	@property({ type:[Node], tooltip: "boss节点" })
+	bossList: Node[] = [];
 	@property({ type: Label, tooltip: "精力统计" })
 	powerLabel: Label = null;
 
@@ -127,6 +131,7 @@ export class TowerUI extends BaseView {
 	private damageCountData:Map<number,number> = new Map();
 	private damageUpdateTime = 0;
 
+	private bossIndexMap:Map<number,number> = new Map();
 
 	battleControl: BattleControl = null;
 	//当前动画下标
@@ -148,7 +153,9 @@ export class TowerUI extends BaseView {
 		
 		
 		this.battleControl = BattleControl.GetInstance()
-		BattleEventManager.instance.addEvent(BattleEventTarget.Update, this.updateDataEvent.bind(this), -1);
+		BattleEventManager.instance.addEvent(BattleEventTarget.Update, this.updateDataEvent.bind(this), TowerUUID);
+
+		Framework.event.addEvent(GameEvent.BossUpdate, this.bossUpdate.bind(this),this)
 		
 		this.initPool()
 	}
@@ -162,7 +169,7 @@ export class TowerUI extends BaseView {
 	}
 
 	protected onDestroy() {
-
+		BattleEventManager.instance.removeEvent(TowerUUID)
 	}
 
 	protected update(dt: number): void {
@@ -996,20 +1003,39 @@ export class TowerUI extends BaseView {
 		this.damageCountData.set(typeID,value+valueOld)
 	}
 
+
+
 	private onTouchButton(event: Event, customStr) {
 		let target: any = event.target;
-		if (target.name == 'addHero-001') {
-			
+		if (target.name == 'mask') {
+			Framework.layer.close(this);
 
-		}else if (target.name == 'addHero-002') {
-			
+		} else if (target.name == 'hanghui_btn') {
+			LoginMgr.sendPost('tavern', 'get', (data) => {
+				console.log(data);
+			}, {})
+		}
 
-		}else if (target.name == 'addHero-003') {
-			
+	}
 
-		}else if (target.name == 'addHero-004') {
-			
 
+
+	//{typeID:number,value:number}
+	private bossUpdate(data:EnemyActionType){
+		switch(data){
+			case EnemyActionType.Born:
+				
+				break;
+			case EnemyActionType.Die:
+				
+				break;
+			case EnemyActionType.Hurt:
+				
+				break;
+			case EnemyActionType.Move:
+				
+				break;
 		}
 	}
+
 }

+ 20 - 0
assets/script/game/ui/tower/base/BattleEventUtil.ts

@@ -1,5 +1,6 @@
 import { BattleUtil } from "../data/BattleUtil";
 
+export const TowerUUID = -1;
 //战斗消息工具类
 export enum BattleEventTarget{
     Update = "update",
@@ -63,6 +64,18 @@ export enum HeroActionType{
     //技能2
     Skill2,
 }
+export enum EnemyActionType{
+    //出生
+    Born,
+    //受击
+    Hurt,
+    //移动
+    Move,
+    //技能
+    Skill,
+    //死亡
+    Die,
+}
 
 export interface BattleEventData{
     eventType:BattleEventType;
@@ -159,3 +172,10 @@ export interface BattleEventHeroAction{
     posIndex:number;
 }
 
+
+export interface BossDataUpdate{
+    ID:number;
+    action:EnemyActionType;
+    value:number;
+}
+