Esempio n. 1
0
    /// <summary>
    /// 更新游戏桌子玩家信息
    /// </summary>
    /// <param name="gamePlayerCount">当前游戏人数</param>
    /// <param name="deskMaxPlayerCount">桌子承载最大人数</param>
    void UpdateMatchTablePlayerInfo(byte gamePlayerCount, byte deskMaxPlayerCount = 4)
    {
        m_ChairList.Clear();
        ChairInfo ci;

        UnityEngine.Transform tfm = TableTfm.Find("table");
        for (byte i = 1; i <= deskMaxPlayerCount; i++)
        {
            Transform child = tfm.Find("Player_" + i);
            if (child == null)
            {
                continue;
            }

            if ((gamePlayerCount == 3 && i == 3) ||
                (gamePlayerCount == 2 && (i == 2 || i == 4)))
            {
                child.gameObject.SetActive(false);
                continue;
            }

            child.gameObject.SetActive(true);

            ci          = new ChairInfo();
            ci.chairTfm = child;
            m_ChairList.Add(ci);
        }
    }
Esempio n. 2
0
        public static ItemInfo Parse(WZProperty characterItem)
        {
            WZProperty info    = characterItem.Resolve("info");
            ItemInfo   results = new ItemInfo();

            results.only        = (info.ResolveFor <int>("only") ?? 0) == 1;
            results.Equip       = EquipInfo.Parse(info);
            results.Cash        = CashInfo.Parse(info);
            results.Shop        = ShopInfo.Parse(info);
            results.Card        = CardInfo.Parse(info);
            results.Slot        = SlotInfo.Parse(info);
            results.Chair       = ChairInfo.Parse(info);
            results.Icon        = IconInfo.Parse(info);
            results.Set         = ItemSet.ParseItemInfo(info);
            results.ConsumeSpec = characterItem?.Resolve("spec")?.Children.ToDictionary(c => c.NameWithoutExtension, c => c.ResolveForOrNull <string>());

            if (characterItem?.FileContainer?.Collection is MSPackageCollection && int.TryParse(info.Parent.NameWithoutExtension, out int itemId))
            {
                ((MSPackageCollection)characterItem.FileContainer.Collection).ItemQuests?.TryGetValue(itemId, out results.RelatedQuests);
            }

            return(results);
        }