public static void Load_PartyInfo(ByteBuffer buff) { Globals.gamedata.PartyLeader = buff.ReadUInt32(); Globals.gamedata.PartyLoot = buff.ReadUInt32(); uint cnt = buff.ReadUInt32(); Globals.PartyLock.EnterWriteLock(); try { Globals.gamedata.PartyMembers.Clear(); Globals.gamedata.PartyCount = cnt; for (uint i = 0; i < cnt; i++) { PartyMember pmem = new PartyMember(); pmem.Load(buff); if (Globals.gamedata.PartyMembers.ContainsKey(pmem.ID)) { Globals.gamedata.PartyMembers[pmem.ID] = pmem; } else { Globals.gamedata.PartyMembers.Add(pmem.ID, pmem); } } } finally { Globals.PartyLock.ExitWriteLock(); } if (Globals.gamedata.CurrentScriptState == ScriptState.Running) { ScriptEvent sc_ev = new ScriptEvent(); sc_ev.Type = EventType.JoinParty; ScriptEngine.SendToEventQueue(sc_ev); } }
public static void Add_PartyInfo(ByteBuffer buff) { buff.ReadUInt32(); buff.ReadUInt32(); PartyMember pmem = new PartyMember(); pmem.Load(buff); Globals.PartyLock.EnterWriteLock(); try { if (Globals.gamedata.PartyMembers.ContainsKey(pmem.ID)) { Globals.gamedata.PartyMembers[pmem.ID] = pmem; } else { Globals.gamedata.PartyMembers.Add(pmem.ID, pmem); Globals.gamedata.PartyCount++; } } finally { Globals.PartyLock.ExitWriteLock(); } }