public bool AddCharacter(Character Char) { lock (Chars) { if (Chars[Char.SlotId] != null) return false; Chars[Char.SlotId] = Char; _Realm = (GameData.pRealm)Char.Realm; } return true; }
public Character CreateCharacter(Character Char) { byte Free = GetFreeSlot(); if (Free >= MAX_CHARS) return null; Char.SlotId = Free; Char.CharacterId = _Rm.GenerateCharacterId(); Char.AccountId = _AccountId; CharacterMgr.Database.AddObject(Char); foreach (Character_items Itm in Char.Items) CharacterMgr.Database.AddObject(Itm); CharacterMgr.Database.AddObject(Char.Info[0]); AddCharacter(Char); return Char; }
static public Character CreateCharacter(byte RealmId, Character Char) { RealmCharacters Rm = GetRealmCharacter(RealmId); if (Rm != null) return Rm.GetAccountCharacter(Char.AccountId).CreateCharacter(Char); return null; }