public override void AutoAddLinkedBuffs()
        {
            SendBuffInfoToClientBuffData sendBuffInfoToClientBuffData = SkillBuffBases.BuffData as SendBuffInfoToClientBuffData;

            foreach (var connection in this.connectionPorts)
            {
                //只有出方向的端口才是添加LinkedBuffId的地方
                if (connection.direction == Direction.Out)
                {
                    foreach (var connectTagrets in connection.connections)
                    {
                        BuffNodeBase targetNode = (connectTagrets.body as BuffNodeBase);
                        if (targetNode != null)
                        {
                            VTD_Id temp = targetNode.Skill_GetNodeData().NodeId;
                            sendBuffInfoToClientBuffData.TargetBuffNodeId = new VTD_Id()
                            {
                                IdKey = temp.IdKey, Value = temp.Value
                            };
                        }
                    }

                    return;
                }
            }
        }
Ejemplo n.º 2
0
        public override void AutoAddLinkedBuffs()
        {
            BindStateBuffData bindStateBuffData = SkillBuffBases.BuffData as BindStateBuffData;

            if (bindStateBuffData.OriBuff == null)
            {
                bindStateBuffData.OriBuff = new List <VTD_BuffInfo>();
            }

            bindStateBuffData.OriBuff.Clear();

            //备份Buff Id和对应层数键值对,防止被覆写
            Dictionary <long, int> buffDataBack = new Dictionary <long, int>();

            foreach (var vtdBuffInfo in bindStateBuffData.OriBuff)
            {
                buffDataBack.Add(vtdBuffInfo.BuffNodeId.Value, vtdBuffInfo.Layers);
            }

            bindStateBuffData.OriBuff.Clear();

            foreach (var connection in this.connectionPorts)
            {
                //只有出方向的端口才是添加LinkedBuffId的地方
                if (connection.direction == Direction.Out)
                {
                    foreach (var connectTagrets in connection.connections)
                    {
                        BuffNodeBase targetNode = (connectTagrets.body as BuffNodeBase);
                        if (targetNode != null)
                        {
                            bindStateBuffData.OriBuff.Add(new VTD_BuffInfo()
                            {
                                BuffNodeId = targetNode.Skill_GetNodeData().NodeId
                            });
                        }
                    }

                    foreach (var vtdBuffInfo in bindStateBuffData.OriBuff)
                    {
                        if (buffDataBack.TryGetValue(vtdBuffInfo.BuffNodeId.Value, out var buffLayer))
                        {
                            vtdBuffInfo.Layers = buffLayer;
                        }
                    }
                    return;
                }
            }
        }
Ejemplo n.º 3
0
        public override void AutoAddLinkedBuffs()
        {
            ListenBuffCallBackBuffData listenBuffCallBackBuffData = SkillBuffBases.BuffData as ListenBuffCallBackBuffData;

            if (listenBuffCallBackBuffData.ListenBuffEventNormal == null)
            {
                listenBuffCallBackBuffData.ListenBuffEventNormal = new ListenBuffEvent_Normal();
            }

            //备份Buff Id和对应层数键值对,防止被覆写
            Dictionary <long, int> buffDataBack = new Dictionary <long, int>();

            foreach (var vtdBuffInfo in listenBuffCallBackBuffData.ListenBuffEventNormal.BuffInfoWillBeAdded)
            {
                buffDataBack.Add(vtdBuffInfo.BuffNodeId.Value, vtdBuffInfo.Layers);
            }

            listenBuffCallBackBuffData.ListenBuffEventNormal.BuffInfoWillBeAdded.Clear();

            foreach (var connection in this.connectionPorts)
            {
                //只有出方向的端口才是添加LinkedBuffId的地方
                if (connection.direction == Direction.Out)
                {
                    foreach (var connectTagrets in connection.connections)
                    {
                        BuffNodeBase targetNode = (connectTagrets.body as BuffNodeBase);
                        if (targetNode != null)
                        {
                            listenBuffCallBackBuffData.ListenBuffEventNormal.BuffInfoWillBeAdded.Add(new VTD_BuffInfo()
                            {
                                BuffNodeId = targetNode.Skill_GetNodeData().NodeId
                            });
                        }
                    }

                    foreach (var vtdBuffInfo in listenBuffCallBackBuffData.ListenBuffEventNormal.BuffInfoWillBeAdded)
                    {
                        if (buffDataBack.TryGetValue(vtdBuffInfo.BuffNodeId.Value, out var buffLayer))
                        {
                            vtdBuffInfo.Layers = buffLayer;
                        }
                    }
                    return;
                }
            }
        }