public Portal GetPortalInfo(uint id) { if (DistrictPortals.ContainsKey(id)) { return(DistrictPortals[id]); } return(PrivatePortals.ContainsKey(id) ? PrivatePortals[id] : null); }
public void Load(MySqlConnection connection) { using (var command = connection.CreateCommand()) { command.CommandText = "SELECT * FROM portal_book_coords WHERE `owner` = @owner"; command.Parameters.AddWithValue("@owner", Owner.Id); command.Prepare(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var template = new Portal { Id = reader.GetUInt32("id"), Name = reader.GetString("name"), X = reader.GetFloat("x"), Y = reader.GetFloat("y"), Z = reader.GetFloat("z"), ZoneId = reader.GetUInt32("zone_id"), ZRot = reader.GetFloat("z_rot"), SubZoneId = reader.GetUInt32("sub_zone_id"), Owner = reader.GetUInt32("owner") }; PrivatePortals.Add(template.Id, template); } } } using (var command = connection.CreateCommand()) { command.CommandText = "SELECT * FROM portal_visited_district WHERE `owner` = @owner"; command.Parameters.AddWithValue("@owner", Owner.Id); command.Prepare(); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var template = new VisitedDistrict { Id = reader.GetUInt32("id"), SubZone = reader.GetUInt32("subzone"), Owner = reader.GetUInt32("owner") }; VisitedDistricts.Add(template.SubZone, template); } } } PopulateDistrictPortals(); }
public void AddPrivatePortal(float x, float y, float z, uint zoneId, string name) { // TODO - Only working by command var newPortal = new Portal() { Id = PrivateBookIdManager.Instance.GetNextId(), Name = name, X = x, Y = y, Z = z, ZoneId = zoneId, ZRot = 0f, Owner = Owner.Id }; PrivatePortals.Add(newPortal.Id, newPortal); Owner.SendPacket(new SCCharacterPortalsPacket(new[] { newPortal })); }
public void RemoveFromBookPortal(Portal portal, bool isPrivate) { if (isPrivate) { if (PrivatePortals.ContainsKey(portal.Id) && PrivatePortals.Remove(portal.Id)) { _removedPrivatePortals.Add(portal.Id); //Owner.SendMessage("Recorded Portal deleted."); } } else { if (VisitedDistricts.ContainsKey(portal.SubZoneId) && VisitedDistricts.Remove(portal.SubZoneId)) { _removedVisitedDistricts.Add(portal.SubZoneId); //Owner.SendMessage("Default Portal deleted."); } } }