Esempio n. 1
0
    public UIRailStation FindStation(int stationID)
    {
        UIRailStation station = mStationList.Find(
            delegate(UIRailStation st)
        {
            return(st.mRailPointData.id == stationID);
        });

        return(station);
    }
Esempio n. 2
0
    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;
                }
            }
        }
    }
Esempio n. 3
0
    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);
        }
    }