Пример #1
0
    IEnumerator hover()
    {
        RaycastHit hit;

        clearEventText = true;
        if (Physics.Raycast(pov.transform.position, pov.transform.forward, out hit, range))
        {
            Door     door = hit.transform.GetComponent <Door>();
            ShopRoom shop = hit.transform.GetComponent <ShopRoom>();

            if (door != null)
            {
                clearEventText     = false;
                interactEvent.text = "Press E To Spend " + door.cost + " To Open";
                //StartCoroutine(showMessage("Press E To Spend " + door.cost + " To Open", 0.5f));
            }

            if (shop != null)
            {
                //(showMessage("Press E To Open Shop", 0.2f));
                clearEventText     = false;
                interactEvent.text = "Press E To Open Shop";
            }
        }

        if (clearEventText)
        {
            interactEvent.text = "";
        }

        yield return(new WaitForSeconds(1f));
    }
Пример #2
0
        public ShopRoom[] Extract()
        {
            ShopRoomSearchModel crawObj = (ShopRoomSearchModel)JsonSerializer.Deserialize(_htmlContent, typeof(ShopRoomSearchModel));

            List <ShopRoomModel> shops = crawObj.shops;
            List <ShopRoom>      rooms = new List <ShopRoom>();

            foreach (var node in shops)
            {
                ShopRoom sr = new ShopRoom();
                sr.ShopId   = node.id;
                sr.RName    = node.title;
                sr.city     = node.city;
                sr.district = node.district;
                sr.hotarea  = node.hotArea;
                sr.address  = node.address;
                sr.sale     = node.sale.ToString();
                sr.price    = node.price;
                sr.square   = node.square;
                sr.type     = node.houseType;
                // sr.Face = node. //朝向, 木有
                sr.Contacts = node.contact;
                sr.Mobile   = node.mobile;
                //sr.Rinfo = node.Rinfo;
                // sr.Rimg = node.Rimg;
                sr.AddTime   = DateTime.Now;
                sr.source    = node.source;
                sr.from      = node.from;
                sr.fetchDate = node.fetchDate;

                rooms.Add(sr);
            }
            return(rooms.ToArray());
        }
Пример #3
0
        /// <summary>
        /// Generates specific values for the DungeonType.
        /// </summary>
        /// <param name="room">The current room.</param>
        /// <param name="dungeonRoomObject">The gameobject to which the room should be generate don.</param>
        /// <param name="levelNumber">The number of the level.</param>
        /// <returns>The fully generated DungeonRoom.</returns>
        private DungeonRoom SetRoomType(Room room, GameObject dungeonRoomObject, int levelNumber, DungeonConfig config)
        {
            switch (room.Type)
            {
            case RoomType.Start:
                StartRoom startRoom = dungeonRoomObject.AddComponent <StartRoom>();
                if (Player.LocalPlayer.isServer && levelNumber == 0)
                {
                    startRoom.SpawnItems(RegionDict.Instance.StartingRoomPickables, DungeonCreator.Instance.TilePositionToWorldPosition(room.Position + (room.Layout.Size / 2)));
                }
                return(startRoom);

            case RoomType.Combat:
                CombatRoom combatRoom = dungeonRoomObject.AddComponent <CombatRoom>();
                combatRoom.ThreatLevel    = room.TileCount;
                combatRoom.enemiesToSpawn = new EnemyObject[combatRoom.ThreatLevel / 48];
                for (int j = 0; j < combatRoom.enemiesToSpawn.Length; j++)
                {
                    combatRoom.enemiesToSpawn[j] = RandomUtil.Element(RegionDict.Instance.EnemiesToSpawn);
                }
                return(combatRoom);

            case RoomType.Loot:
                LootRoom lootRoom = dungeonRoomObject.AddComponent <LootRoom>();
                lootRoom.pickables = new Pickable[room.TileCount / 48];
                for (int j = 0; j < lootRoom.pickables.Length; j++)
                {
                    lootRoom.pickables[j] = RandomUtil.Element(RegionDict.Instance.LootingRoomPickables);
                }
                return(lootRoom);

            case RoomType.Shop:
                ShopRoom  shopRoom = dungeonRoomObject.AddComponent <ShopRoom>();
                const int numItems = 4;
                shopRoom.shopItems = new Pickable[numItems];
                shopRoom.locations = new Vector2[numItems];
                // TODO: Replace Pickabledict with dungeon config shop pickables.
                for (int j = 0; j < numItems; j++)
                {
                    int rnd = Random.Range(0, config.shopItems.Length);
                    shopRoom.shopItems[j] = config.shopItems[rnd];
                    shopRoom.locations[j] = room.Position + new Vector2Int((int)room.GameObjects[j + 4].Position.x, (int)room.GameObjects[j + 4].Position.y);
                }
                shopRoom.SpawnItems();
                return(shopRoom);

            case RoomType.Boss:
                BossRoom bossRoom = dungeonRoomObject.AddComponent <BossRoom>();
                bossRoom.bossObjects = new BossObject[] { RandomUtil.Element(RegionDict.Instance.BossesToSpawn) };
                DungeonDict.Instance.SetBossRoom(bossRoom);
                return(bossRoom);

            case RoomType.Empty:
                EmptyRoom emptyRoom = dungeonRoomObject.AddComponent <EmptyRoom>();
                return(emptyRoom);

            default:
                throw new System.Exception("Unknown room type! (" + room.Type + ")");
            }
        }
Пример #4
0
    /// <summary>
    /// Open the shop menu
    /// </summary>
    void openShop()
    {
        RaycastHit hit;

        if (Physics.Raycast(pov.transform.position, pov.transform.forward, out hit, range))
        {
            ShopRoom shop = hit.transform.GetComponent <ShopRoom>();

            if (shop != null)
            {
                shopPanel.SetActive(true);
                Cursor.visible = true;

                Cursor.lockState = CursorLockMode.Confined;
            }
        }
    }
Пример #5
0
        private void shopToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Visible = false;

            ShopRoom sm = new ShopRoom(p);

            sm.StartPosition = FormStartPosition.Manual;
            sm.Location      = Location;
            sm.ShowDialog();

            Visible = true;

            p = SaveManager.LoadGame();

            if (p.BountyKeys.Count > 0 || p.EXBountyKeys.Count > 0)
            {
                checkKeysToolStripMenuItem.Enabled = true;
            }

            UpdateInventory();
        }
Пример #6
0
 public void RegisterShopRoom(ShopRoom shopRoom)
 {
     m_shopRoom = shopRoom;
     if (shopRoom.RoomPageData.PageLevel == 1 || shopRoom.RoomPageData.PageLevel == 2)
     {
         m_maxPlayerPages = 3;
     }
     else
     {
         m_maxPlayerPages = 3;
     }
 }