Example #1
0
 public RX_SeatInfo(RX_SEAT_POSITION pos, UISprite pool)
 {
     this.Seat_type      = RX_ROLE_TYPE.RX_ROLE_NORMAL;
     this.Seat_pos       = pos;
     this.seat_container = pool;
     Seat_label          = seat_container.GetComponentInChildren <UILabel>();
 }
Example #2
0
		/// <summary>
		/// 构造函数
		/// </summary>
		/// <param name="pos">座位的位置 左边、右边、下边</param>
		/// <param name="pool">座位上纸牌的容器 pool</param>
		public RX_SeatInfo (RX_SEAT_POSITION pos,UISprite pool)
		{
			this.Type 	= RX_ROLE_TYPE.RX_ROLE_NORMAL;
			this.Position	= pos;
			this.seat_container = pool;

			//在CreateSpriteBy函数实现的最后
			RX_CardManager.SetPool(pool,pos);
		}
		public static void SetPool(UISprite pool,RX_SEAT_POSITION pos)
		{
			RX_CardManager.Pool.Add((int)pos,pool);
		}
		/// <summary>
		/// 将数组内的所有游戏对象全部销毁,并且移除数组...
		/// </summary>
		public static void RefreshPool(RX_SEAT_POSITION pos)
		{
			UISprite pool = RX_CardManager.GetPool (pos);

			if (pool == null) {
				return;
			}
			NGUITools.DestroyChildren(pool.transform);
		}
		public static UISprite CreateSpriteBy(RX_Card card,UISprite parent,int pp,RX_SEAT_POSITION pos)
		{			
			//创建精灵对象,通过NGUITools.AddChild函数
			UISprite sprite = NGUITools.AddChild<UISprite> (parent.gameObject);

			//为图片对象添加碰撞器...
			NGUITools.AddWidgetCollider (sprite.gameObject);

			//为一个NGUI的游戏控件,添加缺失的组件
			UIButton button = NGUITools.AddMissingComponent<UIButton> (sprite.gameObject);
	
			sprite.depth = pp + 300;
			sprite.atlas = RX_Resources.DefaultResources.CardAtlas;
			sprite.spriteName = card.ToString ();

			Rect sprite_rect = GetRect (pp,card.PositionY, pos);
			//设置NGUI控件在屏幕上的显示位置和大小
			sprite.SetRect (sprite_rect.x, sprite_rect.y, sprite_rect.width, sprite_rect.heitht);

			button.onClick.Add (new EventDelegate (() => {

				card.IsPop = !card.IsPop;
				Rect sr = GetRect (pp,card.PositionY, pos);
				sprite.SetRect(sr.x,sr.y,sr.width,sr.heitht);
				
			}));

			return sprite;
		}
		static Rect GetRect(int p1,float p2,RX_SEAT_POSITION pos)
		{
			Rect rect = new Rect ();

			if (pos == RX_SEAT_POSITION.RX_SEAT_LEFT || pos == RX_SEAT_POSITION.RX_SEAT_RIGHT) {
				rect.y = (float)p1;
				rect.x = (float)p2;
			} else {
				rect.x = (float)p1;
				rect.y = (float)p2;
			}

			rect.width = 42f;
			rect.heitht = 60f;

			return rect;
		}
		public static UISprite GetPool(RX_SEAT_POSITION pos)
		{
			UISprite pool = null;

			RX_CardManager.Pool.TryGetValue((int)pos,out pool);

			return pool;
		}
Example #8
0
        public static void SetHandedSprites(RX_SEAT_POSITION setPos , List<UISprite> uiSprite)
        {
           if (! HandedSprites.ContainsKey(setPos))
           {
               handedSprites.Add(setPos, uiSprite);
           }
           else
           {
               foreach (UISprite item in HandedSprites[setPos])
               {
                   GameObject.Destroy(item);
               }
               HandedSprites[setPos] = uiSprite;
           }
            List<UISprite> valueList;
            if (handedSprites.TryGetValue(setPos, out valueList))
            {
                int count = valueList.Count;
                Vector3[] posList = new Vector3[count];
                Vector3 gap = new Vector3();
                switch (setPos)
                {
                    case RX_SEAT_POSITION.RX_SEAT_BOTTOM:
                        {
                            posList[count / 2] = GameObject.Find("Handed - bottom").transform.position; 
                            gap = Vector3.left * 0.05f;
                            break;
                        }
                    case RX_SEAT_POSITION.RX_SEAT_LEFT:
                        {
                            posList[count / 2] = GameObject.Find("Handed - left").transform.position;
                            gap = Vector3.down * 0.05f;
                            break;
                        }
                    case RX_SEAT_POSITION.RX_SEAT_RIGHT:
                        {
                            posList[count / 2] = GameObject.Find("Handed - right").transform.position;
                            gap = Vector3.down * 0.05f;
                            break;
                        }
                    default:
                        break;
                }

                for(int i = count / 2 - 1 ; i >= 0 ; i --)
                {
                    posList[i] = posList[i + 1] + gap;
                }
                for (int i = count / 2 + 1; i < count; i++)
                {
                    posList[i] = posList[i - 1] - gap;
                }
                for (int i = 0 ; i < count; i++)
                {
                    iTween.MoveTo(valueList[i].gameObject, posList[i], 1f);
                }
            }
        }
Example #9
0
        public static void SetHandedSprites(RX_SEAT_POSITION setPos, List <UISprite> uiSprite)
        {
            if (!HandedSprites.ContainsKey(setPos))
            {
                handedSprites.Add(setPos, uiSprite);
            }
            else
            {
                foreach (UISprite item in HandedSprites[setPos])
                {
                    GameObject.Destroy(item);
                }
                HandedSprites[setPos] = uiSprite;
            }
            List <UISprite> valueList;

            if (handedSprites.TryGetValue(setPos, out valueList))
            {
                int       count   = valueList.Count;
                Vector3[] posList = new Vector3[count];
                Vector3   gap     = new Vector3();
                switch (setPos)
                {
                case RX_SEAT_POSITION.RX_SEAT_BOTTOM:
                {
                    posList[count / 2] = GameObject.Find("Handed - bottom").transform.position;
                    gap = Vector3.left * 0.05f;
                    break;
                }

                case RX_SEAT_POSITION.RX_SEAT_LEFT:
                {
                    posList[count / 2] = GameObject.Find("Handed - left").transform.position;
                    gap = Vector3.down * 0.05f;
                    break;
                }

                case RX_SEAT_POSITION.RX_SEAT_RIGHT:
                {
                    posList[count / 2] = GameObject.Find("Handed - right").transform.position;
                    gap = Vector3.down * 0.05f;
                    break;
                }

                default:
                    break;
                }

                for (int i = count / 2 - 1; i >= 0; i--)
                {
                    posList[i] = posList[i + 1] + gap;
                }
                for (int i = count / 2 + 1; i < count; i++)
                {
                    posList[i] = posList[i - 1] - gap;
                }
                for (int i = 0; i < count; i++)
                {
                    iTween.MoveTo(valueList[i].gameObject, posList[i], 1f);
                }
            }
        }
Example #10
0
 public RX_SeatInfo(RX_SEAT_POSITION pos, UISprite pool)
 {
     this.Seat_type = RX_ROLE_TYPE.RX_ROLE_NORMAL;
     this.Seat_pos = pos;
     this.seat_container = pool;
     Seat_label = seat_container.GetComponentInChildren<UILabel>();
 }