| | |
| | | var maxHp = CrossServerLogin.Instance.oneVsOnePlayerData.opponentMaxHp; |
| | | var scoreClass = CrossServerOneVsOnePlayerInfo.Instance.DanLV; |
| | | playerInfo = ClientCrossServerOneVsOne.GetRandomOpponentPlayerInfo(scoreClass, job, playerName, level, maxHp); |
| | | opponentPlayer = GAMgr.Instance.ReqClntPlayer<GA_PVPClientPlayer>(playerInfo, E_ActorGroup.Enemy); |
| | | // opponentPlayer = GAMgr.Instance.ReqClntPlayer<GA_PVPClientPlayer>(playerInfo, E_ActorGroup.Enemy); |
| | | PersonalEnemy.Create(30000, ClientCrossServerOneVsOne.myPlace == 1 ? rightBornPoint : leftBornPoint, playerInfo); |
| | | PersonalEnemy.OnPlayerAppear += OnPlayerAppear; |
| | | SnxxzGame.Instance.StartCoroutine(WaitForPlayerCreate()); |
| | | |
| | | opponentPlayer.Pos = ClientCrossServerOneVsOne.myPlace == 1 ? rightBornPoint : leftBornPoint; |
| | | PlayerDatas.Instance.hero.Pos = ClientCrossServerOneVsOne.myPlace == 1 ? leftBornPoint : rightBornPoint; |
| | | CameraController.Instance.Apply(); |
| | | } |
| | | |
| | | private void OnPlayerAppear(GA_PVPClientPlayer player) |
| | | { |
| | | opponentPlayer = player; |
| | | } |
| | | |
| | | private IEnumerator WaitForPlayerCreate() |
| | | { |
| | | while (opponentPlayer == null) |
| | | { |
| | | yield return null; |
| | | } |
| | | |
| | | opponentPlayer.Pos = ClientCrossServerOneVsOne.myPlace == 1 ? rightBornPoint : leftBornPoint; |
| | | currentStage = new WaitStartStage(); |
| | | currentStage.Begin(); |
| | | } |
| | |
| | | pkStageType = PKStageType.WaitStart; |
| | | duration = 3f; |
| | | Debug.LogFormat("进入阶段:{0}", pkStageType); |
| | | opponentPlayer.ActorInfo.ResetHp((int)playerInfo.maxHp, -1, (int)playerInfo.maxHp, -1); |
| | | // opponentPlayer.ActorInfo.ResetHp((int)playerInfo.maxHp, -1, (int)playerInfo.maxHp, -1); |
| | | opponentPlayer.ActorInfo.serverDie = false; |
| | | opponentPlayer.IdleImmediate(); |
| | | opponentPlayer.SkillMgr.ResetAllCD(); |
| | | // opponentPlayer.SkillMgr.ResetAllCD(); |
| | | GA_PVPClientPlayer.AutoAI(false); |
| | | |
| | | PlayerDatas.Instance.baseData.HP = (uint)PlayerDatas.Instance.extersion.MaxHP; |
| | |
| | | public override void Update() |
| | | { |
| | | timer += Time.deltaTime; |
| | | completed = timer >= duration; |
| | | completed = timer >= duration && opponentPlayer != null; |
| | | } |
| | | } |
| | | |
| | |
| | | figthCompleted = false; |
| | | restTimeTimer = 0f; |
| | | |
| | | opponentPlayer.Pos = ClientCrossServerOneVsOne.myPlace == 1 ? rightBornPoint : leftBornPoint; |
| | | PlayerDatas.Instance.hero.Behaviour.StartHandupAI(); |
| | | GA_PVPClientPlayer.AutoAI(true); |
| | | opponentPlayer.SelectTarget = PlayerDatas.Instance.hero; |
| | | PlayerDatas.Instance.hero.SelectTarget = opponentPlayer; |
| | | #if UNITY_EDITOR |
| | | |
| | | Debug.LogFormat("进入阶段:{0}", pkStageType); |
| | | #endif |
| | | } |
| | | |
| | | public override void End() |
| | |
| | | |
| | | if (fightInfo.isOver) |
| | | { |
| | | PersonalEnemy.ReleasePlayer(opponentPlayer); |
| | | opponentPlayer.Destroy(); |
| | | } |
| | | else |
| | |
| | | public override void Begin() |
| | | { |
| | | pkStageType = PKStageType.RoundPrepare; |
| | | GA_PVPClientPlayer.AutoAI(false); |
| | | duration = 3f; |
| | | Debug.LogFormat("进入阶段:{0}", pkStageType); |
| | | |
| | | if (fightInfo.roundWinnerIds[fightInfo.roundWinnerIds.Count - 1] == PlayerDatas.Instance.baseData.PlayerID) |
| | | { |
| | | PlayerDatas.Instance.hero.SelectTarget = opponentPlayer; |
| | | opponentPlayer.ActorInfo.ResetHp((int)playerInfo.maxHp, -1, (int)playerInfo.maxHp, -1); |
| | | opponentPlayer.ActorInfo.serverDie = false; |
| | | opponentPlayer.IdleImmediate(); |
| | | opponentPlayer.SkillMgr.ResetAllCD(); |
| | | opponentPlayer = null; |
| | | var job = CrossServerLogin.Instance.oneVsOnePlayerData.opponentJob; |
| | | var playerName = CrossServerLogin.Instance.oneVsOnePlayerData.opponentName; |
| | | var level = CrossServerLogin.Instance.oneVsOnePlayerData.opponentLevel; |
| | | var maxHp = CrossServerLogin.Instance.oneVsOnePlayerData.opponentMaxHp; |
| | | var scoreClass = CrossServerOneVsOnePlayerInfo.Instance.DanLV; |
| | | playerInfo = ClientCrossServerOneVsOne.GetRandomOpponentPlayerInfo(scoreClass, job, playerName, level, maxHp); |
| | | PersonalEnemy.Create(30000, ClientCrossServerOneVsOne.myPlace == 1 ? rightBornPoint : leftBornPoint, playerInfo); |
| | | PersonalEnemy.OnPlayerAppear += OnPlayerAppear; |
| | | SnxxzGame.Instance.StartCoroutine(WaitForPlayerCreate()); |
| | | |
| | | // PlayerDatas.Instance.hero.SelectTarget = opponentPlayer; |
| | | // opponentPlayer.ActorInfo.ResetHp((int)playerInfo.maxHp, -1, (int)playerInfo.maxHp, -1); |
| | | // opponentPlayer.ActorInfo.serverDie = false; |
| | | // opponentPlayer.IdleImmediate(); |
| | | // opponentPlayer.SkillMgr.ResetAllCD(); |
| | | |
| | | if (PlayerDatas.Instance.hero.ActorInfo.RealHp <= 0) |
| | | { |
| | | PlayerDatas.Instance.baseData.HP = 1; |
| | | var maxHp = PlayerDatas.Instance.extersion.MaxHP; |
| | | PlayerDatas.Instance.hero.ActorInfo.ResetHp(1, -1, maxHp, -1); |
| | | PlayerDatas.Instance.hero.ActorInfo.ResetHp(1, -1, PlayerDatas.Instance.extersion.MaxHP, -1); |
| | | PlayerDatas.Instance.FightRefreshPlayerHp(1); |
| | | PlayerDatas.Instance.hero.IdleImmediate(); |
| | | } |
| | |
| | | |
| | | if (opponentPlayer.ActorInfo.RealHp <= 0) |
| | | { |
| | | opponentPlayer.ActorInfo.ResetHp(1, -1, (int)playerInfo.maxHp, -1); |
| | | opponentPlayer.ActorInfo.serverDie = false; |
| | | opponentPlayer.IdleImmediate(); |
| | | opponentPlayer = null; |
| | | // opponentPlayer.ActorInfo.ResetHp(1, -1, (int)playerInfo.maxHp, -1); |
| | | // opponentPlayer.ActorInfo.serverDie = false; |
| | | // opponentPlayer.IdleImmediate(); |
| | | playerInfo.hp = 1; |
| | | PersonalEnemy.Create(30000, ClientCrossServerOneVsOne.myPlace == 1 ? rightBornPoint : leftBornPoint, playerInfo); |
| | | PersonalEnemy.OnPlayerAppear += OnPlayerAppear; |
| | | SnxxzGame.Instance.StartCoroutine(WaitForPlayerCreate()); |
| | | } |
| | | } |
| | | |
| | | PlayerDatas.Instance.hero.Pos = ClientCrossServerOneVsOne.myPlace == 1 ? leftBornPoint : rightBornPoint; |
| | | } |
| | | |
| | | private void OnPlayerAppear(GA_PVPClientPlayer player) |
| | | { |
| | | opponentPlayer = player; |
| | | } |
| | | |
| | | private IEnumerator WaitForPlayerCreate() |
| | | { |
| | | while (opponentPlayer == null) |
| | | { |
| | | yield return null; |
| | | } |
| | | |
| | | opponentPlayer.Pos = ClientCrossServerOneVsOne.myPlace == 1 ? rightBornPoint : leftBornPoint; |
| | | opponentPlayer.ActorInfo.ResetHp((int)playerInfo.maxHp, -1, (int)playerInfo.maxHp, -1); |
| | | } |
| | | |
| | | public override void End() |
| | |
| | | public override void Update() |
| | | { |
| | | timer += Time.deltaTime; |
| | | completed = timer >= duration; |
| | | completed = timer >= duration && opponentPlayer != null; |
| | | } |
| | | } |
| | | |