public UIRailStation FindStation(int stationID) { UIRailStation station = mStationList.Find( delegate(UIRailStation st) { return(st.mRailPointData.id == stationID); }); return(station); }
public void CreateLine() { if (mLine == null || mStage == null || mStagePosList == null) { return; } for (int i = 0; i < mRoute.pointCount; i++) { GameObject osg; if (mRoute.GetPointByIndex(i).pointType == Railway.Point.EType.End) { osg = GameObject.Instantiate(mEndStage) as GameObject; } else { osg = GameObject.Instantiate(mStage) as GameObject; } osg.transform.parent = this.gameObject.transform; if (mRoute.GetPointByIndex(i).pointType == Railway.Point.EType.Joint) { osg.transform.localScale = new Vector3(5 * mScale, 5 * mScale, -1); } else if (mRoute.GetPointByIndex(i).pointType == Railway.Point.EType.End) { osg.transform.localScale = new Vector3(14 * mScale, 12 * mScale, -1); } else { osg.transform.localScale = new Vector3(10 * mScale, 10 * mScale, -1); } UIRailStation station = osg.GetComponent <UIRailStation>(); if (station != null) { station.Init(mRoute.GetPointByIndex(i)); station.mClickStatge = OnClickStatge; } mStationList.Add(station); osg.SetActive(true); UISprite spr = osg.GetComponent <UISprite>(); mSprStageList.Add(spr); if (i != 0) { GameObject ots = GameObject.Instantiate(mLine) as GameObject; ots.transform.parent = this.gameObject.transform; ots.transform.localScale = new Vector3(10 * mScale, 10 * mScale, -1); ots.SetActive(true); UITiledSprite ts = ots.GetComponent <UITiledSprite>(); mTsLineList.Add(ts); station = ots.GetComponent <UIRailStation>(); if (station != null && i - 1 >= 0) { station.Init(mRoute.GetPointByIndex(i - 1)); station.mClickStatge = OnClickStatge; } } } }
void OnSeletedLine(bool isConnect, int routeID, int stationID) { isConnectLine = isConnect; ChangeUILineInfo(isConnect); if (mSelectedLineId != -1) { UIRailLine lineOld = mRailLineList.Find( delegate(UIRailLine li) { return(li.mRoute.id == mSelectedLineId); }); if (lineOld != null) { lineOld.SetSelected(false); } UIDisconnectionLine disLineOld = mDisRailLineList.Find( delegate(UIDisconnectionLine li) { return(li.mIndex == mSelectedLineId); }); if (disLineOld != null) { disLineOld.SetSelected(false); } } if (isConnect) { UIRailLine line = mRailLineList.Find( delegate(UIRailLine li) { return(li.mRoute.id == routeID); }); if (line == null) { ClearLineInfo(); return; } mSelectedLineIndex = mRailLineList.FindIndex( delegate(UIRailLine li) { return(li == line); }); line.SetSelected(true); mSelectedLineId = routeID; SetLineInfo(line.mRoute); if (mSelectedStation != null) { mSelectedStation.SetSelected(false); } UIRailStation station = line.FindStation(stationID); if (station != null) { station.SetSelected(true); mSelectedStation = station; } SetSatationInfo(station.mRailPointData); EnableBtn(mBtnStop, true); } else { int index = routeID; UIDisconnectionLine disLine = mDisRailLineList.Find( delegate(UIDisconnectionLine li) { return(li.mIndex == index); }); if (disLine == null) { ClearLineInfo(); return; } disLine.SetSelected(true); mSelectedLineId = index; if (mSelectedStation != null) { mSelectedStation.SetSelected(false); } UIRailStation station = disLine.FindStation(stationID); if (station != null) { station.SetSelected(true); mSelectedStation = station; } SetSatationInfo(station.mRailPointData); bool ok = PERailwayCtrl.CheckRoute(station.mRailPointData); EnableBtn(mBtnStop, ok); } }