/// <summary> /// 刷新数据 /// </summary> public void UpdateData() { for (int i = 0; i < m_TalentLength; i++) { RectTransform rectTra = m_TalentRoot.GetChild(i).GetComponent <RectTransform>(); if (!rectTra.gameObject.activeSelf) { rectTra.gameObject.SetActive(true); m_TalentLineRoot.GetChild(i).gameObject.SetActive(true); } TalentSubNode?talentSubNode = m_CfgEternityProxy.GetTalentSubNodeByIndex(m_CurrentTalentRootId, i); TalentVO talentVO = new TalentVO(); if (talentSubNode.HasValue) { if (m_TalentProxy.GetTalentVODic().TryGetValue(talentSubNode.Value.Id, out talentVO)) { talentVO.MTalentSubNode = talentSubNode; talentVO.Id = (int)talentSubNode.Value.Id; } } LineRenderer lineRenderer = m_TalentLineRoot.GetChild(i).GetComponent <LineRenderer>(); LineImage lineImage = m_TalentLineRoot.GetChild(i).GetChild(0).GetComponent <LineImage>(); OnRendererCell(rectTra.gameObject, lineRenderer, talentVO, lineImage); // DrawLinrRenderer(lineRenderer,PosLineList); } }
/// <summary> /// Initializes a new instance of <see cref="MetroLinkDetails"/> /// </summary> /// <param name="lineEndTime">line end time</param> /// <param name="lineStartTime">line start time</param> /// <param name="trainType">Train type</param> /// <param name="lineImage">line image</param> /// <param name="name">Line name</param> /// <param name="destinationStation">Destination station</param> /// <param name="sourceStation">Source station</param> /// <param name="saturdayService">Saturday service</param> /// <param name="sundayService">Sunday service</param> /// <param name="yearOfOperation">Year of Operation</param> public MetroLinkDetails(DateTime lineEndTime, DateTime lineStartTime, TrainType trainType, LineImage lineImage, string name, string destinationStation, string sourceStation, bool saturdayService, bool sundayService, int yearOfOperation) : base(name, destinationStation, sourceStation, saturdayService, sundayService, yearOfOperation) { LineEndTime = lineEndTime; LineImage = lineImage; TrainType = trainType; LineStartTime = lineStartTime; }
/// <summary> ///加载数据 /// </summary> public void SetContent(LineImage lineImage, LineRenderer lineRenderer, TalentVO talentVO) { m_TalentVO = talentVO; Vector3 vector3 = new Vector3((float)talentVO.MTalentSubNode.Value.Position.Value.X, (float)talentVO.MTalentSubNode.Value.Position.Value.Y, 0); SetPos(vector3); m_LineRenderer = lineRenderer; m_LineImage = lineImage; m_Color = COLORH; talentVO.MTalentElement = this; m_OldTalentState = m_TalentState; m_TalentState = talentVO.State; m_NumberLabel.text = string.Format(TableUtil.GetLanguageString("shiphangar_text_1009"), talentVO.Level, talentVO.MaxLevel); UpdateState(); List <Vector3> pos = new List <Vector3>(); Vector3 start = new Vector3((float)talentVO.MTalentSubNode.Value.LinkPoints.Value.NodeX, (float)talentVO.MTalentSubNode.Value.LinkPoints.Value.NodeY, 0); Vector3 end = new Vector3((float)talentVO.MTalentSubNode.Value.LinkPoints.Value.PreNodeX, (float)talentVO.MTalentSubNode.Value.LinkPoints.Value.PreNodeY, 0); DrawLinrRenderer(lineRenderer, new Vector3[] { start, end }); DrawLineImageRenderer(m_LineImage, new Vector3[] { start, end }); }
/// <summary> /// 划线 /// </summary> public void DrawLineImageRenderer(LineImage lineImage, Vector3[] pos) { lineImage.DrawLine(pos[0], pos[1], m_TalentVO.Id); }
/// <summary> /// 渲染单个格子 /// </summary> public void OnRendererCell(GameObject go, LineRenderer lineRenderer, TalentVO data, LineImage lineImage) { TalentElement talentElement = go.GetComponent <TalentElement>(); if (talentElement == null) { talentElement = go.AddComponent <TalentElement>(); talentElement.Initialize(); } talentElement.SetContent(lineImage, lineRenderer, data); }