public void processEvent(EventObjectEx eventObject) { switch (eventObject.EventType) { case 10026: { KFNotifyAllyGameEvent e = eventObject as KFNotifyAllyGameEvent; int unionID = e.UnionID; List <AllyData> list = AllyClient.getInstance().HAllyDataList(unionID, EAllyDataType.Ally); int index = 0; GameClient client; while ((client = GameManager.ClientMgr.GetNextClient(ref index, false)) != null) { lock (AllyClient.getInstance()._Mutex) { if (client.ClientData.Faction == unionID) { client.ClientData.AllyList = list; } } } break; } case 10027: { KFNotifyAllyLogGameEvent e2 = eventObject as KFNotifyAllyLogGameEvent; if (null != e2) { List <AllyLogData> list2 = (List <AllyLogData>)e2.LogList; if (list2 != null && list2.Count > 0) { foreach (AllyLogData log in list2) { this.DBAllyLogAdd(log, 0); } } eventObject.Handled = true; } break; } case 10028: { KFNotifyAllyTipGameEvent e3 = eventObject as KFNotifyAllyTipGameEvent; if (null != e3) { int unionID = e3.UnionID; int tipID = e3.TipID; BangHuiDetailData unionData = Global.GetBangHuiDetailData(-1, unionID, GameManager.ServerId); if (unionData != null && this.IsAllyOpen(unionData.QiLevel)) { GameClient client = GameManager.ClientMgr.FindClient(unionData.BZRoleID); if (client == null) { break; } lock (AllyClient.getInstance()._Mutex) { if (tipID == 14112) { int countAlly = AllyClient.getInstance().AllyCount(unionID); if (countAlly > 0 && this.IsAllyMax(countAlly)) { break; } } client._IconStateMgr.AddFlushIconState(14111, false); client._IconStateMgr.AddFlushIconState((ushort)tipID, false); client._IconStateMgr.SendIconStateToClient(client); client._IconStateMgr.AddFlushIconState(14111, true); client._IconStateMgr.AddFlushIconState((ushort)tipID, true); client._IconStateMgr.SendIconStateToClient(client); switch (tipID) { case 14112: client.AllyTip[0] = 1; break; case 14113: client.AllyTip[1] = 1; break; } } } eventObject.Handled = true; } break; } case 10029: { int index = 0; GameClient client; while ((client = GameManager.ClientMgr.GetNextClient(ref index, false)) != null) { lock (AllyClient.getInstance()._Mutex) { client.ClientData.AllyList = null; this.UnionAllyInit(client); AllyClient.getInstance().HRankClear(); AllyClient.getInstance().HRankTopList(1); } } break; } } }
public void processEvent(EventObjectEx eventObject) { int eventType = eventObject.EventType; switch (eventType) { case (int)GlobalEventTypes.KFAllyStart: { int index = 0; GameClient client = null; while ((client = GameManager.ClientMgr.GetNextClient(ref index)) != null) { lock (AllyClient.getInstance()._Mutex) { client.ClientData.AllyList = null; UnionAllyInit(client); } } } break; case (int)GlobalEventTypes.Ally: { KFNotifyAllyGameEvent e = eventObject as KFNotifyAllyGameEvent; int unionID = (int)e.UnionID; List <AllyData> list = AllyClient.getInstance().HAllyDataList(unionID, EAllyDataType.Ally); int index = 0; GameClient client = null; while ((client = GameManager.ClientMgr.GetNextClient(ref index)) != null) { lock (AllyClient.getInstance()._Mutex) { if (client.ClientData.Faction != unionID) { continue; } client.ClientData.AllyList = list; } } } break; case (int)GlobalEventTypes.AllyLog: { KFNotifyAllyLogGameEvent e = eventObject as KFNotifyAllyLogGameEvent; if (null != e) { List <AllyLogData> list = (List <AllyLogData>)e.LogList; if (list != null && list.Count > 0) { foreach (var log in list) { DBAllyLogAdd(log, GameManager.LocalServerId); } } eventObject.Handled = true; } } break; case (int)GlobalEventTypes.AllyTip: { KFNotifyAllyTipGameEvent e = eventObject as KFNotifyAllyTipGameEvent; if (null != e) { int unionID = (int)e.UnionID; int tipID = (int)e.TipID; BangHuiDetailData unionData = Global.GetBangHuiDetailData(-1, unionID, GameManager.ServerId); if (unionData != null && IsAllyOpen(unionData.QiLevel)) { GameClient client = GameManager.ClientMgr.FindClient(unionData.BZRoleID); if (client == null) { return; } lock (AllyClient.getInstance()._Mutex) { if (tipID == (int)ActivityTipTypes.AllyAccept) { int countAlly = AllyClient.getInstance().AllyCount(unionID); if (countAlly > 0 && IsAllyMax(countAlly)) { return; } } client._IconStateMgr.AddFlushIconState((ushort)ActivityTipTypes.Ally, false); client._IconStateMgr.AddFlushIconState((ushort)tipID, false); client._IconStateMgr.SendIconStateToClient(client); client._IconStateMgr.AddFlushIconState((ushort)ActivityTipTypes.Ally, true); client._IconStateMgr.AddFlushIconState((ushort)tipID, true); client._IconStateMgr.SendIconStateToClient(client); switch (tipID) { case (int)ActivityTipTypes.AllyAccept: client.AllyTip[0] = 1; break; case (int)ActivityTipTypes.AllyMsg: client.AllyTip[1] = 1; break; } } } eventObject.Handled = true; } } break; } }