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