private bool IsInGameView(ActivityComponent com) { float posX = com.X + m_grid_con.X; if (posX + m_img_Width > 0 && posX < m_screenWidth) { return(true); } return(false); }
private void OnInitPanel() { coms.Clear(); //List<ConfActivityBase> activitys = m_activity_data; int count = m_activity_data.Count; float gridWidth = count * m_img_Width + (count - 1) * m_gridValue.m_spacing + m_gridValue.m_paddingLeft + m_gridValue.m_paddingRight; if (count == 0) { gridWidth = 0; } m_grid_con.Widget.sizeDelta = new Vector2(gridWidth, m_grid_con.Widget.sizeDelta.y); m_grid_con.X = 0; m_grid_con.Clear(); m_startPosX = m_startPosX - gridWidth / 2f; if (m_startPosX < 0) { m_startPosX = 0; } m_grid_con.EnsureSize <ActivityComponent>(count); RectTransform templateObj = m_grid_con.ContainerTemplate.GetComponent <RectTransform>(); //RectTransform templateRect = temp m_startPos = new Vector3(m_screenWidth + 10, templateObj.anchoredPosition.y, 0); m_endPos = new Vector3(-(m_img_Width + 20), templateObj.anchoredPosition.y, 0); for (int i = 0; i < count; i++) { ActivityComponent com = m_grid_con.GetChild <ActivityComponent>(i); Vector3 comPos = com.Widget.anchoredPosition; com.Widget.anchoredPosition = m_startPos + m_img_Width * Vector3.right; //com.gameObject.transform.localPosition = m_startPos + m_img_Width * Vector3.right; Vector3 targetPos = new Vector3((m_img_Width + m_gridValue.m_spacing) * i + m_gridValue.m_paddingLeft + m_startPosX + m_img_Width / 2f, comPos.y, comPos.z); if (i > m_endIndex) { com.Widget.anchoredPosition = targetPos; //com.gameObject.transform.localPosition = targetPos; } com.SetData(m_activity_data[i], targetPos, i, m_delayTime); com.Visible = true; coms.Add(com); } }