123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601 |
- using UnityEngine;
- using System.Collections;
- using System.Collections.Generic;
- using System;
- namespace YLBattle
- {
- /// <summary>
- ///
- /// </summary>
- public class ShowAdapter : IShowAdapter
- {
- #region(战斗)
- /// <summary>
- /// 初始化
- /// </summary>
- /// <param name="op">数据交互接口</param>
- /// <param name="scene">背景图名称</param>
- public void Initialize(IBattleGlobalOper op, string scene, string bg, int mode)
- {
- FightingManager.Instance.SetLevelInfo(op, scene, bg, mode);
- }
- /// <summary>
- /// 战斗准备开始
- /// </summary>
- /// <param name="_status">当前波次</param>
- /// <param name="total">总波次</param>
- /// <param name="dif">关卡难度</param>
- /// <param name="_gateName">关卡名称</param>
- public void SetFightingLevelInfo(int _gateID, int _status, int total, int dif, string _gateName, int _buybuffgold, int _levelmode)
- {
- FightingManager.Instance.SetFightingLevelInfo(_gateID, _status, total, dif, _gateName, _buybuffgold, _levelmode);
- }
- /// <summary>
- /// 设置PVP信息
- /// </summary>
- /// <param name="pvpPlayerID"></param>
- /// <param name="pvpType"></param>
- public void SetPVPLevelInfo(int _gateID, string pvpPlayerID, string pvpType)
- {
- FightingManager.Instance.SetPVPLevelInfo(_gateID, pvpPlayerID, pvpType);
- }
- /// <summary>
- /// 锁定地图状态
- /// </summary>
- /// <param name="_bol"></param>
- public void SetMapLock(bool _bol)
- {
- FightingManager.Instance.SetMapLock(_bol);
- }
- /// <summary>
- /// 设置地图平板的状态
- /// </summary>
- /// <param name="_status">当前波次进度值</param>
- public void SetMapPlatState(int _status, string _aniName = "")
- {
- FightingManager.Instance.SetMapPlatState(_status, _aniName);
- }
- /// <summary>
- /// 转盘是否处于准备状态
- /// </summary>
- /// <returns></returns>
- public bool CheckMapPlatState(EMapState state)
- {
- return FightingManager.Instance.CheckMapState(state);
- }
- /// <summary>
- /// 战斗开始
- /// </summary>
- /// <param name="status">当前关卡进度值,到哪个场景了</param>
- public void BattleStart(int status)
- {
- FightingManager.Instance.FightingStart(status);
- }
- /// <summary>
- /// 战斗计时刷新
- /// </summary>
- /// <param name="leftMil">剩余毫秒数</param>
- public void BattleTime(long _leftMil)
- {
- FightingManager.Instance.BattleTime(_leftMil);
- }
- /// <summary>
- /// 设置是否开启必杀状态
- /// </summary>
- /// <param name="_bol"></param>
- public void SetCriticalState(bool _bol)
- {
- FightingManager.Instance.SetCriticalState(_bol);
- }
- /// <summary>
- /// 暂停本场战斗
- /// </summary>
- public void BattlePause()
- {
- }
- /// <summary>
- /// 暂停后,继续本场战斗
- /// </summary>
- public void BattleContinue()
- {
- }
- /// <summary>
- /// 战斗完成,显示确认离场,开始下一个场景
- /// </summary>
- public void BattleLeave()
- {
- FightingManager.Instance.BattleLeave();
- }
- /// <summary>
- /// BOSS警示
- /// </summary>
- /// <param name="who"></param>
- public void BattleBossWarning(string who)
- {
- FightingManager.Instance.BattleBossWarning(who);
- }
- /// <summary>
- /// 必杀警示
- /// </summary>
- /// <param name="who"></param>
- public void BattleCriticalWarning()
- {
- FightingManager.Instance.BattleCriticalWarning();
- }
- /// <summary>
- /// 技能警示
- /// </summary>
- /// <param name="who"></param>
- public void BattleSkillWarning(string who, string skillid)
- {
- FightingManager.Instance.BattleSkillTip(who, skillid);
- }
- /// <summary>
- /// 战斗失败
- /// </summary>
- /// <param name="levelid">本次战斗关卡id</param>
- /// <param name="record">伤害统计</param>
- public void BattleFailed(int levelid)
- {
- FightingManager.Instance.BattleFailed(levelid);
- LogHelper.Log("------战斗结束:失败-----");
- }
- /// <summary>
- /// 战斗胜利
- /// </summary>
- /// <param name="result">战斗结果信息</param>
- public void BattleVictory(IBattleResult result)
- {
- FightingManager.Instance.BattleVictory(result);
- LogHelper.Log("-----战斗结束:胜利-----");
- }
- /// <summary>
- /// 战斗超时
- /// </summary>
- /// <param name="levelid">本次战斗关卡id</param>
- /// <param name="record">伤害统计</param>
- public void BattleTimeOut(int levelid)
- {
- FightingManager.Instance.BattleTimeOut(levelid);
- LogHelper.Log("-----战斗结束:超时-----");
- }
- #endregion
- #region BattleState
- /// <summary>
- /// 创建角色
- /// </summary>
- /// <param name="id">编号</param>
- /// <param name="strPrefebName">预置物体资源名</param>
- /// <param name="_intTeam">所属队列</param>
- /// <param name="_mode">关卡模式</param>
- /// <param name="adapter">数据</param>
- /// <param name="isFriend">友情支援</param>
- public void CreatLogicFighter(string _Id, EBattleTeam _eTeam, int levelmode, IFighterAdapter adapter = null, bool isFriend = false)
- {
- string _sounds = adapter.NormalSound() + "," + adapter.SkillSound() + "," + adapter.BeattackSound();
- FightingManager.Instance.AddOneFighter(_Id, adapter.IID(), adapter.TID(),
- adapter.DragonboneName(),
- _eTeam,
- adapter.Seat,
- _sounds,
- levelmode,
- isFriend,
- adapter.PlayerUID());
- /**
- * 下面预加载技能资源
- */
- if (adapter != null)
- {
- NewSkillAndBuff(adapter.Skills());
- }
- }
- /// <summary>
- /// 预加载技能和buff数据
- /// </summary>
- /// <param name="skills">技能id</param>
- public void NewSkillAndBuff(string[] skills)
- {
- /// 预加载 英雄技能
- foreach (string skillid in skills)
- {
- if (skillid == null)
- {
- continue;
- }
- var skill = GameConfigData.Ins.GetskillMo(int.Parse(skillid));
- if (skill != null)
- {
- SkillControl.Instance.LoadBundle(skill.redres);
- SkillControl.Instance.LoadBundle(skill.blueres);
- skill.GetBuffList().ForEach(b =>
- {
- if (!string.IsNullOrWhiteSpace(b.icon))
- {
- FightingManager.Instance.AddOneBuffCache(b.icon);
- }
- });
- }
- else
- {
- //LogHelper.Log("################技能数据 ID=" + skillid + " 不存在");
- }
- }
- }
- /// <summary>
- /// 检测,是否已经创建完毕实体对象
- /// </summary>
- /// <param name="_strId">实例ID</param>
- public bool CheckHasFighterCreated(string _strId)
- {
- if (FightingManager.Instance.GetFighter(_strId) != null)
- {
- return true;
- }
- return false;
- }
- /// <summary>
- /// 进入特定动画状态
- /// </summary>
- /// <param name="_strId"></param>
- /// <param name="_strAniName"></param>
- /// <param name="ac"></param>
- /// <returns></returns>
- public void EnterSpecialAni(string _strId, string _strAniName = "", Action ac = null)
- {
- FightingManager.Instance.BattleSpecialAni(_strId, _strAniName, ac);
- }
- /// <summary>
- /// 进入静止状态
- /// </summary>
- /// <param name="_strId">who</param>
- /// <param name="_force">是否强制执行静止状态</param>
- public void EnterIdleState(string _strId, bool _force)
- {
- FightingManager.Instance.BattleFighterIdle(_strId, _force);
- }
- /// <summary>
- /// 进入死亡状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterDeadState(string _strId)
- {
- FightingManager.Instance.BattleFighterBeDead(_strId);
- }
- /// <summary>
- /// 进入受伤状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterHitState(string _strId)
- {
- FightingManager.Instance.BattleFighterBeHit(_strId);
- }
- /// <summary>
- /// 进入转位状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterMapMoveState(string _strId)
- {
- FightingManager.Instance.SetMapMove(_strId);
- }
- public void SetMapLight()
- {
- FightingMap.Instance.SetMapLight();
- }
- public void SetMapDark()
- {
- FightingMap.Instance.SetMapDark();
- }
- /// <summary>
- /// 技能攻击时触发的地图拖拽动作
- /// </summary>
- /// <param name="lv">等级</param>
- public void EnterMapDragState(int dragType)
- {
- FightingManager.Instance.SetMapDraging(dragType);
- }
- /// <summary>
- /// 技能攻击时触发的地图震动动作
- /// </summary>
- /// <param name="lv">等级</param>
- public void EnterMapShakeState(int shakeType)
- {
- FightingManager.Instance.SetMapShaking(shakeType);
- }
- /// <summary>
- /// 进入尸体消失状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterDisapperState(string _strId)
- {
- FightingManager.Instance.BattleFighterDisapper(_strId);
- }
- /// <summary>
- /// 进入隐藏状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterHiddenState(string _strId)
- {
- FightingManager.Instance.BattleFighterHidden(_strId);
- }
- /// <summary>
- /// 进入出场状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterArrivalState(string _strId, bool _boleffect)
- {
- FightingManager.Instance.BattleFighterArrival(_strId, _boleffect);
- }
- /// <summary>
- /// 进入高亮状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterLightState(string _strId)
- {
- FightingManager.Instance.BattleFighterLight(_strId);
- }
- /// <summary>
- /// 进入黑暗状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterDarkState(string _strId)
- {
- FightingManager.Instance.BattleFigherDark(_strId);
- }
- /// <summary>
- /// 进入被选中状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterBeSelectState(string _strId)
- {
- FightingManager.Instance.BattleFighterBeSelect(_strId, true);
- }
- /// <summary>
- /// 进入(被选中恢复)正常状态
- /// </summary>
- /// <param name="_strId"></param>
- public void EnterBeGiveUpState(string _strId)
- {
- FightingManager.Instance.BattleFighterBeSelect(_strId);
- }
- /// <summary>
- /// 进入攻击状态
- /// </summary>
- /// <param name="_strWhoId">攻击者</param>
- /// <param name="_strSkill">技能ID</param>
- /// <param name="_isCritical">是否为必杀</param>
- public void EnterAttackState(string _strWhoId, string _strSkill, int _atkactiontype)
- {
- FightingManager.Instance.FighterAttack(_strWhoId, _strSkill, _atkactiontype);
- }
- #endregion
- #region 战斗伤害 UI
- /// <summary>
- /// 显示敌方技能提示
- /// </summary>
- /// <param name="who"></param>
- /// <param name="_strSkill"></param>
- public void OnShowEnemySkillTip(string who, string _strSkill)
- {
- FightingManager.Instance.OnShowEnemySkillTip(who, _strSkill);
- }
- /// <summary>
- /// 打开地图配合boss出场效果
- /// </summary>
- public void OnStartMapBossEffect()
- {
- FightingManager.Instance.OnStartMapBossEffect();
- }
- /// <summary>
- /// 结束地图配合boss出场效果
- /// </summary>
- public void OnOverMapBossEffect()
- {
- FightingManager.Instance.OnOverMapBossEffect();
- }
- /// <summary>
- /// 关闭boss介绍窗体
- /// </summary>
- public void OnSetBossDescriptionWindow(string _bossid, bool isshow)
- {
- FightingManager.Instance.OnSetBossDescriptionWindow(_bossid, isshow);
- }
- /// <summary>
- /// 战斗伤害信息显示
- /// </summary>
- /// <param name="who">目标编号</param>
- /// <param name="type">伤害类型</param>
- /// <param name="val">伤害数值</param>
- /// <param name="showStyle">显示位置 0=角色位置 1=屏幕中间</param>
- public void BattleTipShowing(string who, EBattleTips type, string val, float tipdelay = 0, int showStyle = 0)
- {
- FightingManager.Instance.BattleDamageInfo(who, type, val, tipdelay, showStyle);
- }
- /// <summary>
- /// 刷新teamHp,teamPower
- /// </summary>
- public void OnRefreshWindowData()
- {
- FightingManager.Instance.OnRefreshWindowData();
- }
- /// <summary>
- /// 开始战斗
- /// </summary>
- /// <param name="bolSecSpeed">是否2倍速度</param>
- public void OnOprStateSetting(bool bolSecSpeed)
- {
- FightingManager.Instance.OnOprStateSetting(bolSecSpeed);
- }
- /// <summary>
- /// 播放开战动画
- /// </summary>
- public void OnPlayBattleStartAnimation()
- {
- FightingManager.Instance.OnPlayBattleStartAnimation();
- }
- /// <summary>
- /// 显示波次数据
- /// </summary>
- public void OnPlayLevelEffect()
- {
- FightingManager.Instance.OnPlayLevelEffect();
- }
- /// <summary>
- /// 设置场景UI操作状态
- /// </summary>
- /// <param name="_bolSkillUI">是否可点击释放技能</param>
- /// <param name="_bolTopBtn">是否可点击双倍速按钮</param>
- public void OnSetBattleUIOperate(bool _bolSkillUI, bool _bolTopBtn)
- {
- FightingManager.Instance.OnSetBattleUIOperate(_bolSkillUI, _bolTopBtn);
- }
- /// <summary>
- /// boss开始出场
- /// </summary>
- public void OnBossArrival(string iid)
- {
- FightingManager.Instance.OnBossArrival(iid);
- FightingManager.Instance.OnHideBattleUI();
- }
- /// <summary>
- /// boss结束出场
- /// </summary>
- public void OnBossLeave()
- {
- FightingManager.Instance.OnShowBattleUI();
- }
- /// <summary>
- /// 好友支援提示
- /// </summary>
- public void OnFriendSupportTip(string friendtid)
- {
- FightingManager.Instance.OnFriendSupportTip(friendtid);
- }
- #endregion
- #region 技能
- /// <summary>
- /// 子弹发射
- /// </summary>
- /// <param name="id">子弹唯一标示符</param>
- /// <param name="type">子弹位置目标类型</param>
- /// <param name="param">子弹目标参数(目标ID)</param>
- public void BulletLaunch(string id, EBulletTargeType type, object param)
- {
- SkillControl.Instance.BulletLaunch(id, type, param);
- }
- /// <summary>
- /// 检测指定子弹是否创建完成
- /// </summary>
- /// <param name="id">子弹编号</param>
- /// <returns>true创建成功, false创建失败</returns>
- public bool BulletLoadComplete(string id)
- {
- return SkillControl.Instance.BulletLoadComplete(id);
- }
- /// <summary>
- /// 子弹创建
- /// </summary>
- /// <param name="param">BulletLoadParam</param>
- public void BulletLoad(BulletLoadParam param)
- {
- SkillControl.Instance.BulletLoad(param);
- }
- #endregion
- #region buff
- /// <summary>
- /// 播放指定的buff效果
- /// </summary>
- /// <param name="who">目标战斗对象编号</param>
- /// <param name="iid">buff唯一id</param>
- /// <param name="tid">bufftid</param>
- /// <param name="fx">效果名称</param>
- public void BuffShowIcon(string who, int iid, string tid, string icon)
- {
- FightingManager.Instance.AddNewBuffIcon(who, iid, tid, icon);
- }
- /// <summary>
- /// 播放指定的buff阶段效果
- /// </summary>
- /// <param name="who"></param>
- /// <param name="iid"></param>
- /// <param name="fx"></param>
- /// <param name="pt"></param>
- public void BuffShowRes(string who, int iid, string res)
- {
- FightingManager.Instance.AddNewBuffRes(who, iid, res);
- }
- /// <summary>
- /// 谁的buff消失
- /// </summary>
- /// <param name="who">目标对象编号</param>
- /// <param name="iid">buff唯一编号</param>
- public void BuffClear(string who, int iid)
- {
- FightingManager.Instance.RemoveBuffIcon(who, iid);
- }
- #endregion
- }
- }
|