| | |
| | | |
| | | public int round = 0; |
| | | |
| | | public string guid = string.Empty; |
| | | public string guid = string.Empty;//等于string.Empty的时候代表是StoryBattleField 是主线副本 |
| | | |
| | | public int MapID = 0; |
| | | |
| | |
| | | battleRootNodeGO.name = this.GetType().Name; |
| | | |
| | | battleObjMgr = new BattleObjMgr(); |
| | | if (blueTeamList == null) |
| | | { |
| | | battleObjMgr.Init(this, redTeamList[redTeamIndex], null); |
| | | battleObjMgr.HaveRest(BattleCamp.Red); |
| | | } |
| | | else |
| | | { |
| | | battleObjMgr.Init(this, redTeamList[redTeamIndex], blueTeamList[blueTeamIndex]); |
| | | } |
| | | |
| | | battleEffectMgr = new BattleEffectMgr(); |
| | | battleEffectMgr.Init(this); |
| | | battleTweenMgr = new BattleTweenMgr(); |
| | |
| | | |
| | | public virtual void OnTurnFightState(int turnNum, int State, int FuncLineID, JsonData extendData) |
| | | { |
| | | // 切换回合 |
| | | // 是每个战斗开始/每个回合的第一个战斗包 |
| | | // MapID = MapID |
| | | |
| | | // MapID; // 自定义地图ID,可用于绑定战斗地图场景功能(如主线关卡、主线boss、爬塔、竞技场等) |
| | | // FuncLineID; // MapID对应的扩展值,如具体某个关卡等 章节*10000+关卡编号*100+第x波,如第一章,第10关卡的boss值 = 11001 |
| | | // State; // 0-起始状态标记;1-准备完毕;2-战斗中;3-战斗结束;4-结算奖励;5-结束状态标记 |
| | | // TurnNum; // 当前轮次 |
| | | // Len; |
| | | // Msg; //size = Len + |
| | | |
| | | // 做表现 |
| | | if (turnNum == 1) |
| | | { |
| | | if (State == 2) |
| | | { |
| | | Debug.Log("战斗开始"); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | Debug.Log("战斗回合 : " + turnNum + ",状态 " + State); |
| | | } |
| | | |
| | | |
| | | |
| | | // 做一个Action 通知UI翻下牌子 然后结束Action |
| | | // TurnFightStateAction turnFightStateAction = new TurnFightStateAction(this, turnNum, State, FuncLineID, extendData); |
| | | // recordPlayer.PlayRecord(turnFightStateAction); |
| | | } |
| | | |
| | | |
| | | public void ObjInfoRefresh(H0418_tagObjInfoRefresh _refreshInfo) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | public RectTransform GetTeamNode(BattleCamp battleCamp, int index) |
| | | { |
| | | if (battleCamp == BattleCamp.Red) |
| | | { |
| | | return battleRootNode.redTeamNodeList[index].transform as RectTransform; |
| | | } |
| | | else |
| | | { |
| | | return battleRootNode.blueTeamNodeList[index].transform as RectTransform; |
| | | } |
| | | } |
| | | |
| | | public bool IsRoundReachLimit() |
| | | { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void StartBattle(Action onMoveComplete) |
| | | { |
| | | List<BattleObject> redTeam = battleObjMgr.GetBattleObjList(BattleCamp.Red); |
| | | |
| | | Tween tween = null; |
| | | |
| | | foreach (var obj in redTeam) |
| | | { |
| | | obj.motionBase.PlayAnimation(MotionName.run, true); |
| | | RectTransform trans = obj.heroGo.transform as RectTransform; |
| | | tween = trans.DOMove(obj.GetAliasTeamNode().position, 0.5f).SetEase(Ease.Linear); |
| | | battleTweenMgr.OnPlayTween(tween); |
| | | } |
| | | |
| | | tween.onComplete = () => |
| | | { |
| | | foreach (var obj in redTeam) |
| | | { |
| | | obj.motionBase.PlayAnimation(MotionName.idle, true); |
| | | } |
| | | |
| | | // 播放战斗开始的特效 |
| | | var efplayer = battleEffectMgr.PlayEffect(0, BattleConst.BattleStartEffectID, battleRootNode.transform); |
| | | efplayer.onDestroy += a => onMoveComplete(); |
| | | }; |
| | | } |
| | | } |