private void DoSitup(Transform deskSeat) { if (deskSeat != null) { ((UISprite)deskSeat.GetChild(0).GetComponent(typeof(UISprite))).alpha = 0f; DeskSeatInfo seatInfo = (DeskSeatInfo)deskSeat.GetComponent(typeof(DeskSeatInfo)); deskSeat.name = "Seat_" + seatInfo.seatId; BoxCollider seatBoxCollider = (BoxCollider)deskSeat.GetComponent(typeof(BoxCollider)); seatBoxCollider.enabled = true; } }
void OnSeatButtonClick(GameObject seat) { DeskSeatInfo seatInfo = (DeskSeatInfo)seat.GetComponent(typeof(DeskSeatInfo)); DoSitDownClick(seatInfo.deskId, seatInfo.seatId); }
private void ProcessSeatlist(JSONObject messageObj) { List <JSONObject> tempDeskInfos = messageObj["body"]["desks"].list; System.Linq.IOrderedEnumerable <JSONObject> deskInfos = tempDeskInfos.OrderBy(obj => int.Parse(obj[0].ToString())); GameObject deskPrefab = DeskPrefab(); UIGrid desksGrid = (UIGrid)vDesks.GetComponent(typeof(UIGrid)); Vector2 padding = DeskPadding(); desksGrid.cellWidth = padding.x; desksGrid.cellHeight = padding.y; desksGrid.maxPerLine = DeskRowCount(); foreach (JSONObject deskInfo in deskInfos) { if (deskInfo.type == JSONObject.Type.NULL) { break; } string deskId = deskInfo[0].ToString(); bool isPlaying = deskInfo[1].b; List <JSONObject> seatInfos = deskInfo[2].list; GameObject desk = (GameObject)Instantiate(deskPrefab); desk.name = "Desk_" + deskId; desk.transform.parent = vDesks; desk.transform.localScale = Vector3.one; ((UILabel)desk.transform.Find("ID").GetComponentInChildren(typeof(UILabel))).text = deskId; UpdateDeskState(desk.transform, isPlaying); for (int j = 0; j < seatInfos.Count; j++) { Transform deskSeat = desk.transform.Find("Seat_" + j); if (deskSeat == null) { continue; } DeskSeatInfo seatInfo = (DeskSeatInfo)deskSeat.GetComponent(typeof(DeskSeatInfo)); seatInfo.deskId = deskId; seatInfo.seatId = j; UIButtonMessage messageButton = (UIButtonMessage)deskSeat.GetComponent(typeof(UIButtonMessage)); messageButton.target = this.gameObject; messageButton.functionName = "OnSeatButtonClick"; if (seatInfos[j].type == JSONObject.Type.ARRAY) { DoSitdown(deskSeat, seatInfos[j][0].ToString(), j, (int)seatInfos[j][1].n); } else { DoSitup(deskSeat); } } } desksGrid.repositionNow = true; }