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; } } }
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; } } }
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; } } }