public override string ToString()
{
// ReSharper disable once SwitchStatementMissingSomeCases
switch (Type)
{
case WoWEnums.GuidType.Creature:
case WoWEnums.GuidType.Vehicle:
case WoWEnums.GuidType.Pet:
case WoWEnums.GuidType.GameObject:
case WoWEnums.GuidType.AreaTrigger:
case WoWEnums.GuidType.DynamicObject:
case WoWEnums.GuidType.Corpse:
case WoWEnums.GuidType.LootObject:
case WoWEnums.GuidType.SceneObject:
case WoWEnums.GuidType.Scenario:
case WoWEnums.GuidType.AiGroup:
case WoWEnums.GuidType.DynamicDoor:
case WoWEnums.GuidType.Vignette:
case WoWEnums.GuidType.Conversation:
case WoWEnums.GuidType.CallForHelp:
case WoWEnums.GuidType.AiResource:
case WoWEnums.GuidType.AiLock:
case WoWEnums.GuidType.AiLockTicket:
return $"{Type}-{SubType}-{RealmId}-{MapId}-{ServerId}-{Id}-{CreationBits:X10}";
case WoWEnums.GuidType.Player:
return $"{Type}-{RealmId}-{(ulong) (_mGuid >> 64):X8}";
case WoWEnums.GuidType.Item:
return $"{Type}-{RealmId}-{(uint) ((_mGuid >> 18) & 0xFFFFFF)}-{(ulong) (_mGuid >> 64):X10}";
//case GuidType.ClientActor:
// return String.Format("{0}-{1}-{2}", Type, RealmId, CreationBits);
//case GuidType.Transport:
//case GuidType.StaticDoor:
// return String.Format("{0}-{1}-{2}", Type, RealmId, CreationBits);
default:
return $"{Type}-{_mGuid:X32}";
}
}