/// <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); } }
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); }