public void SetHouse(VillageHouseInfo houseInfo, TownHouse townHouse) { var houseOwner = playerManager.GetPlayerByUserId(houseInfo.Owner); SetOwner(houseOwner); OwnerUserId = houseInfo.Owner; SlotType = (TownHouseSlotType)houseInfo.Type; Slot = houseInfo.Slot; townHouseSource = townHouse; if (House) { Destroy(House.gameObject); House = null; mud.SetActive(true); } if (!townHouse) { return; } var houseObject = Instantiate(townHouse.Prefab, this.transform); if (houseObject) { House = houseObject.GetComponent <TownHouseController>(); House.TownHouse = townHouse; House.Owner = houseOwner; mud.SetActive(false); } }
internal RenderTexture PrepareRenderTexture(TownHouse townHouse, int renderIndex) { this.townHouse = townHouse; renderTexture = Resources.Load <RenderTexture>($"BuildingRenderTextures/Building{renderIndex}"); camera.targetTexture = renderTexture; return(renderTexture); }
public void SetBuilding(TownHouse house, RenderTexture renderTexture) { this.house = house; buildingNameLabel.text = house.Name; buildingIcon.texture = renderTexture; buildingIconBackground.texture = renderTexture; SetOutline(false); }
internal RenderTexture PrepareRenderTexture(TownHouse townHouse, int renderIndex) { this.townHouse = townHouse; renderTexture = Resources.Load <RenderTexture>($"BuildingRenderTextures/Building{renderIndex}"); camera.targetTexture = renderTexture; if (townHouse) { transform.position = startPosition + townHouse.CameraOffset; } return(renderTexture); }
internal RenderTexture CreateHouseRender(TownHouse townHouse) { var houseObject = Instantiate(townHouse.Prefab, transform); houseObject.transform.localPosition = instantiated.Count * offset * Vector3.left; var houseRenderer = Instantiate(townHouseRendererPrefab, houseObject.transform); var renderer = houseRenderer.GetComponent <TownHouseRenderer>(); houseRenderers.Add(renderer); instantiated.Add(houseObject); return(renderer.PrepareRenderTexture(townHouse, instantiated.Count)); }
public Settlement() { government = new TownHouse(); government.type = TownHouse.Upgrade.government; government.name = "Government"; government.level = 0; government.maxlevel = 3; hunter = new TownHouse(); hunter.type = TownHouse.Upgrade.government; hunter.name = "Hunter"; hunter.level = 0; hunter.maxlevel = 2; smithy = new TownHouse(); smithy.type = TownHouse.Upgrade.smithy; smithy.name = "Smithy"; smithy.level = 0; smithy.maxlevel = 2; tavern = new TownHouse(); tavern.type = TownHouse.Upgrade.tavern; tavern.name = "Tavern"; tavern.level = 0; tavern.maxlevel = 2; trader = new TownHouse(); trader.type = TownHouse.Upgrade.smithy; trader.name = "Trader"; trader.level = 0; trader.maxlevel = 1; walls = new TownHouse(); walls.type = TownHouse.Upgrade.walls; walls.name = "Walls"; walls.level = 0; walls.maxlevel = 3; warehouse = new TownHouse(); warehouse.type = TownHouse.Upgrade.smithy; warehouse.name = "Warehouse"; warehouse.level = 0; warehouse.maxlevel = 1; }
private void SetHouseType(TownHouseSlot slot, TownHouseSlotType type, TownHouse house) { try { slot.SetHouse(new VillageHouseInfo() { Slot = slot.Slot, Type = (int)type }, house); if (slots != null && slots.Length > 0) { info.UsedSlots = slots.Count(x => x != null && x.SlotType != TownHouseSlotType.Empty && x.SlotType != TownHouseSlotType.Undefined); } } catch { } }
public override void OnResponse(NetState sender, RelayInfo info) { if (m_House.Deleted) { return; } Mobile from = sender.Mobile; TownHouse th = m_House as TownHouse; bool isCombatRestricted = m_House.IsCombatRestricted(from); bool isOwner = m_House.IsOwner(from); bool isCoOwner = isOwner || m_House.IsCoOwner(from); bool isFriend = isCoOwner || m_House.IsFriend(from); if (isCombatRestricted) { isFriend = isCoOwner = isOwner = false; } if (!isFriend || !from.Alive) { return; } Item sign = m_House.Sign; if (sign == null || from.Map != sign.Map || !from.InRange(sign.GetWorldLocation(), 18)) { return; } switch (info.ButtonID) { case 1: // Rename sign { from.Prompt = new RenamePrompt(m_House); from.SendLocalizedMessage(501302); // What dost thou wish the sign to say? break; } case 2: // List of co-owners { from.CloseGump(typeof(HouseGump)); from.CloseGump(typeof(HouseListGump)); from.CloseGump(typeof(HouseRemoveGump)); from.SendGump(new HouseListGump(1011275, m_House.CoOwners, m_House, false)); break; } case 3: // Add co-owner { if (isOwner) { from.SendLocalizedMessage(501328); // Target the person you wish to name a co-owner of your household. from.Target = new CoOwnerTarget(true, m_House); } else { from.SendLocalizedMessage(501327); // Only the house owner may add Co-owners. } break; } case 4: // Remove co-owner { if (isOwner) { from.CloseGump(typeof(HouseGump)); from.CloseGump(typeof(HouseListGump)); from.CloseGump(typeof(HouseRemoveGump)); from.SendGump(new HouseRemoveGump(1011274, m_House.CoOwners, m_House, false)); } else { from.SendLocalizedMessage(501329); // Only the house owner may remove co-owners. } break; } case 5: // Clear co-owners { if (isOwner) { if (m_House.CoOwners != null) { m_House.CoOwners.Clear(); } from.SendLocalizedMessage(501333); // All co-owners have been removed from this house. } else { from.SendLocalizedMessage(501330); // Only the house owner may remove co-owners. } break; } case 6: // List friends { from.CloseGump(typeof(HouseGump)); from.CloseGump(typeof(HouseListGump)); from.CloseGump(typeof(HouseRemoveGump)); from.SendGump(new HouseListGump(1011273, m_House.Friends, m_House, false)); break; } case 7: // Add friend { if (isCoOwner) { from.SendLocalizedMessage(501317); // Target the person you wish to name a friend of your household. from.Target = new HouseFriendTarget(true, m_House); } else { from.SendLocalizedMessage(501316); // Only the house owner may add friends. } break; } case 8: // Remove friend { if (isCoOwner) { from.CloseGump(typeof(HouseGump)); from.CloseGump(typeof(HouseListGump)); from.CloseGump(typeof(HouseRemoveGump)); from.SendGump(new HouseRemoveGump(1011272, m_House.Friends, m_House, false)); } else { from.SendLocalizedMessage(501318); // Only the house owner may remove friends. } break; } case 9: // Clear friends { if (isCoOwner) { if (m_House.Friends != null) { m_House.Friends.Clear(); } from.SendLocalizedMessage(501332); // All friends have been removed from this house. } else { from.SendLocalizedMessage(501319); // Only the house owner may remove friends. } break; } case 10: // Ban { from.SendLocalizedMessage(501325); // Target the individual to ban from this house. from.Target = new HouseBanTarget(true, m_House); break; } case 11: // Eject { from.SendLocalizedMessage(501326); // Target the individual to eject from this house. from.Target = new HouseKickTarget(m_House); break; } case 12: // List bans { from.CloseGump(typeof(HouseGump)); from.CloseGump(typeof(HouseListGump)); from.CloseGump(typeof(HouseRemoveGump)); from.SendGump(new HouseListGump(1011271, m_House.Bans, m_House, true)); break; } case 13: // Remove ban { from.CloseGump(typeof(HouseGump)); from.CloseGump(typeof(HouseListGump)); from.CloseGump(typeof(HouseRemoveGump)); from.SendGump(new HouseRemoveGump(1011269, m_House.Bans, m_House, true)); break; } case 14: // Transfer ownership { if (isOwner) { if (th != null && th.ForSaleSign.NoTrade) { from.SendMessage("You cannot trade this house."); } else { from.SendLocalizedMessage(501309); // Target the person to whom you wish to give this house. from.Target = new HouseOwnerTarget(m_House); } } else { from.SendLocalizedMessage(501310); // Only the house owner may do this. } break; } case 15: // Demolish house { if (isOwner) { if (!Guilds.Guild.NewGuildSystem && m_House.FindGuildstone() != null) { from.SendLocalizedMessage(501389); // You cannot redeed a house with a guildstone inside. } else { from.CloseGump(typeof(HouseDemolishGump)); from.SendGump(new HouseDemolishGump(from, m_House)); } } else { from.SendLocalizedMessage(501320); // Only the house owner may do this. } break; } case 16: // Change locks { if (m_House.Public) { from.SendLocalizedMessage(501669); // Public houses are always unlocked. } else { if (isOwner) { m_House.RemoveKeys(from); m_House.ChangeLocks(from); from.SendLocalizedMessage(501306); // The locks on your front door have been changed, and new master keys have been placed in your bank and your backpack. } else { from.SendLocalizedMessage(501303); // Only the house owner may change the house locks. } } break; } case 17: // Declare public/private { if (isOwner) { if (th != null && ((th.ForSaleSign.ForcePublic && th.Public) || (th.ForSaleSign.ForcePrivate && !th.Public))) { from.SendMessage("You cannot make this house {0}.", th.Public ? "private" : "public"); } else if (m_House.Public && m_House.PlayerVendors.Count > 0) { from.SendLocalizedMessage(501887); // You have vendors working out of this building. It cannot be declared private until there are no vendors in place. } else { m_House.Public = !m_House.Public; if (!m_House.Public) { m_House.ChangeLocks(from); from.SendLocalizedMessage(501888); // This house is now private. from.SendLocalizedMessage(501306); // The locks on your front door have been changed, and new master keys have been placed in your bank and your backpack. } else { m_House.RemoveKeys(from); m_House.RemoveLocks(); from.SendLocalizedMessage(501886); //This house is now public. Friends of the house my now have vendors working out of this building. } } } else { from.SendLocalizedMessage(501307); // Only the house owner may do this. } break; } case 18: // Change type { if (isOwner) { if (m_House.Public && info.Switches.Length > 0) { int index = info.Switches[0] - 1; if (index >= 0 && index < 53) { m_House.ChangeSignType(2980 + (index * 2)); } } } else { from.SendLocalizedMessage(501307); // Only the house owner may do this. } break; } } }