| | |
| | | public void OnBeforePlayerDataInitialize()
|
| | | {
|
| | | transmitCompleteTime = TimeUtility.ClientOriginalTime;
|
| | | if (transmitClock != null)
|
| | | {
|
| | | transmitClock.Stop();
|
| | | transmitClock = null;
|
| | | }
|
| | | }
|
| | |
|
| | | private void OnStageLoadFinish()
|
| | | {
|
| | | selectPlayer = 0;
|
| | | if (transmitClock != null)
|
| | | {
|
| | | transmitClock.Stop();
|
| | | transmitClock = null;
|
| | | }
|
| | | }
|
| | |
|
| | | private void SecondEvent()
|
| | |
| | | {
|
| | | var player = actor as GA_Player;
|
| | | var hero = PlayerDatas.Instance.hero;
|
| | | if (player.IsIdle())
|
| | | var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
|
| | | if (allowTransmit != (distance <= transmitDistance))
|
| | | {
|
| | | var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
|
| | | if (allowTransmit != (distance <= transmitDistance))
|
| | | {
|
| | | allowTransmit = distance <= transmitDistance;
|
| | | update = true;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | if (allowTransmit)
|
| | | {
|
| | | allowTransmit = false;
|
| | | update = true;
|
| | | }
|
| | | allowTransmit = distance <= transmitDistance;
|
| | | update = true;
|
| | | }
|
| | | }
|
| | | if (update && selectTransmit != null)
|
| | |
| | | return;
|
| | | }
|
| | | var mission = dungeonModel.mission;
|
| | | if (mission.totalExp > 0)
|
| | | if (mission.hasSit == 1)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
| | | {
|
| | | var player = actor as GA_Player;
|
| | | var hero = PlayerDatas.Instance.hero;
|
| | | if (player.IsIdle())
|
| | | {
|
| | | var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
|
| | | allowTransmit = distance <= transmitDistance;
|
| | | }
|
| | | var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
|
| | | allowTransmit = distance <= transmitDistance;
|
| | | selectPlayer = serverInstId;
|
| | | }
|
| | | }
|
| | |
| | | return;
|
| | | }
|
| | | var mission = dungeonModel.mission;
|
| | | if (mission.totalExp > 0)
|
| | | if (mission.hasSit == 1)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
| | | for (int i = 0; i < list.Count; i++)
|
| | | {
|
| | | var player = list[i] as GA_Player;
|
| | | if (player != null && player.IsIdle())
|
| | | if (player != null)
|
| | | {
|
| | | var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
|
| | | if (distance < transmitDistance)
|
| | |
| | | return;
|
| | | }
|
| | | var mission = dungeonModel.mission;
|
| | | if (mission.totalExp > 0 && selectPlayer != 0)
|
| | | if (mission.hasSit == 1 && selectPlayer != 0)
|
| | | {
|
| | | selectPlayer = 0;
|
| | | if (selectTransmit != null)
|
| | |
| | | return DateTime.Now < transmitCompleteTime;
|
| | | }
|
| | | }
|
| | |
|
| | | private Clock transmitClock = null;
|
| | |
|
| | | public void Transmit()
|
| | | {
|
| | | UpdateTransmitState(transmitCostSeconds);
|
| | | if (selectPlayer != 0)
|
| | | {
|
| | | CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
|
| | | pak.ActionType = 0;
|
| | | pak.ActionInfo = selectPlayer;
|
| | | GameNetSystem.Instance.SendInfo(pak);
|
| | | }
|
| | | }
|
| | |
|
| | | public void UpdateTransmitState(int seconds)
|
| | | public void UpdateTransmitState(H0411_tagPlayerSit package)
|
| | | {
|
| | | transmitCompleteTime = DateTime.Now.AddTicks(seconds * TimeSpan.TicksPerSecond);
|
| | | Clock.Create(seconds, TransmitComplete);
|
| | | var mapId = PlayerDatas.Instance.baseData.MapID;
|
| | | if (mapId != 31230 || package.PlayerID != PlayerDatas.Instance.baseData.PlayerID)
|
| | | {
|
| | | return;
|
| | | }
|
| | | transmitCompleteTime = DateTime.Now.AddTicks(transmitCostSeconds * TimeSpan.TicksPerSecond);
|
| | | transmitClock = Clock.Create(transmitCostSeconds, TransmitComplete);
|
| | | if (transmitStateUpdate != null)
|
| | | {
|
| | | transmitStateUpdate(true);
|
| | |
| | |
|
| | | void TransmitComplete()
|
| | | {
|
| | | transmitClock = null;
|
| | | CA508_tagCMDoFBAction pak = new CA508_tagCMDoFBAction();
|
| | | pak.ActionType = 1;
|
| | | pak.ActionInfo = 0;
|
| | | GameNetSystem.Instance.SendInfo(pak);
|
| | | if (transmitStateUpdate != null)
|
| | | {
|
| | | transmitStateUpdate(false);
|