少年修仙传客户端代码仓库
client_linchunjie
2018-10-26 d28412f34b554c3f4a99b87aec23d21d4c6a8df9
4218 【1.2】仙盟宴会传功
2个文件已修改
67 ■■■■ 已修改文件
System/Dungeon/DungeonFairyFeastHintWin.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyFeastModel.cs 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Dungeon/DungeonFairyFeastHintWin.cs
@@ -174,7 +174,7 @@
            fairyFeastModel.Transmit();
        }
        private void TransmitStateUpdate(bool obj)
        private void TransmitStateUpdate()
        {
            SelectTransmit();
        }
System/FairyAu/FairyFeastModel.cs
@@ -12,7 +12,7 @@
        public event Action selectTransmit;
        public event Action<bool> transmitStateUpdate;
        public event Action transmitStateUpdate;
        DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
        public override void Init()
@@ -69,11 +69,22 @@
                {
                    var player = actor as GA_Player;
                    var hero = PlayerDatas.Instance.hero;
                    var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
                    if (allowTransmit != (distance <= transmitDistance))
                    if (SatisfyTransmitState())
                    {
                        allowTransmit = distance <= transmitDistance;
                        update = true;
                        var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
                        if (allowTransmit != (distance <= transmitDistance))
                        {
                            allowTransmit = distance <= transmitDistance;
                            update = true;
                        }
                    }
                    else
                    {
                        if (allowTransmit)
                        {
                            allowTransmit = false;
                            update = true;
                        }
                    }
                }
                if (update && selectTransmit != null)
@@ -83,17 +94,28 @@
            }
        }
        float transmitDistance = 1f;
        float transmitDistance = 2f;
        public int transmitCostSeconds { get; private set; }
        void ParseConfig()
        {
            var config = Config.Instance.Get<FuncConfigConfig>("");
            transmitCostSeconds = 30;
            var config = Config.Instance.Get<FuncConfigConfig>("FairyFeastTransmit");
            transmitCostSeconds = 15;
            if (config != null)
            {
                transmitDistance = int.Parse(config.Numerical1) / 100f;
                transmitDistance = float.Parse(config.Numerical1);
                transmitCostSeconds = int.Parse(config.Numerical2);
            }
        }
        bool SatisfyTransmitState()
        {
            var hero = PlayerDatas.Instance.hero;
            if (hero == null || hero.IsCollecting()
                || hero.IsCollect() || hero.IsDaZuo())
            {
                return false;
            }
            return true;
        }
        private void OnSelected(uint serverInstId, bool select)
@@ -122,7 +144,10 @@
                    var player = actor as GA_Player;
                    var hero = PlayerDatas.Instance.hero;
                    var distance = MathUtility.CalDistance(player.Pos, hero.Pos);
                    allowTransmit = distance <= transmitDistance;
                    if (SatisfyTransmitState())
                    {
                        allowTransmit = distance <= transmitDistance;
                    }
                    selectPlayer = serverInstId;
                }
            }
@@ -220,11 +245,23 @@
            {
                return;
            }
            transmitCompleteTime = DateTime.Now.AddTicks(transmitCostSeconds * TimeSpan.TicksPerSecond);
            transmitClock = Clock.Create(transmitCostSeconds, TransmitComplete);
            if (package.Type == 0)
            {
                transmitCompleteTime = DateTime.Now.AddTicks(transmitCostSeconds * TimeSpan.TicksPerSecond);
                transmitClock = Clock.Create(transmitCostSeconds, TransmitComplete);
            }
            else
            {
                if (transmitClock != null)
                {
                    transmitClock.Stop();
                    transmitClock = null;
                }
                transmitCompleteTime = TimeUtility.ClientOriginalTime;
            }
            if (transmitStateUpdate != null)
            {
                transmitStateUpdate(true);
                transmitStateUpdate();
            }
        }
@@ -237,7 +274,7 @@
            GameNetSystem.Instance.SendInfo(pak);
            if (transmitStateUpdate != null)
            {
                transmitStateUpdate(false);
                transmitStateUpdate();
            }
        }
        #endregion