/// <summary> /// 设置图片 /// </summary> public void SetSprites() { if (m_Poker == null || string.Compare(m_PokerSprites.sprite.name, m_Poker.ToString(), System.StringComparison.CurrentCultureIgnoreCase) == 0) { return; } Sprite pokerSprite = PrefabManager.Instance.LoadPokerSprite(m_Poker); if (pokerSprite != null) { m_PokerSprites.sprite = pokerSprite; } }
/// <summary> /// 初始化 /// </summary> /// <param name="onComplete"></param> public void Init() { if (m_PokerPoolParent == null) { m_PokerPoolParent = new GameObject("PDKPoker").transform; } m_PokerPoolParent.parent = null; m_PokerPoolParent.position = new Vector3(0f, 5000f, 0f); //m_WallPool = PoolManager.Pools.Create("PDKPoker"); //m_WallPool.Group.parent = null; //m_WallPool.Group.position = new Vector3(0f, 5000f, 0f); //InitPoker(0, 0, onComplete); System.Diagnostics.Stopwatch stopWatch = new System.Diagnostics.Stopwatch(); for (int i = 3; i < 18; ++i) { for (int j = 0; j < 5; ++j) { if (i != 0 && j == 0) { continue; } if (i > 15 && j != 1) { continue; } Poker poker = new Poker(i, j); GameObject go = LoadPrefabPoker(poker.ToString()); go.GetOrCreatComponent <PokerCtrl>().Init(poker); DespawnPoker(go); if (i == 0) { break; } } } stopWatch.Stop(); Debug.Log("初始化一副牌耗时: " + stopWatch.Elapsed.TotalSeconds.ToString()); }
/// <summary> /// 加载牌图片 /// </summary> /// <param name="poker"></param> /// <returns></returns> public Sprite LoadPokerSprite(Poker poker) { string spriteName = (poker == null || poker.size == 0) ?ConstDefine_PaoDeKuai.SpriteNameDefaultPoker:poker.ToString(); string path = string.Format("download/{0}/source/uisource/gameuisource/poker.drb", ConstDefine.GAME_NAME); Sprite sprite = AssetBundleManager.Instance.LoadSprite(path, spriteName); return(sprite); }
/// <summary> /// 生成牌 /// </summary> /// <param name="seatPos">座位号</param> /// <param name="poker">牌</param> /// <param name="layer">层级</param> /// <returns></returns> public PokerCtrl SpawnPoker(int seatPos, Poker poker, string layer) { PokerCtrl ctrl = LoadPrefabPoker((poker == null || poker.color == 0) ? Poker.DefaultName : poker.ToString()).GetOrCreatComponent <PokerCtrl>(); //ctrl.Color = m_CurrentColor; //SeatEntity seat = RoomMaJiangProxy.Instance.GetSeatBySeatId(seatPos); //bool isUniversal = false; //if (seat != null) //{ // isUniversal = MahJongHelper.CheckUniversal(poker, seat.UniversalList); //} ctrl.Init(poker); ctrl.gameObject.SetLayer(LayerMask.NameToLayer(layer)); m_AllPoker.Add(ctrl); return(ctrl); }