示例#1
0
        static RailwayStation CreateModel(Railway.Point.EType type)
        {
            string path = "TaskJoint";

            switch (type)
            {
            case Railway.Point.EType.Joint:
                path = "TaskJoint";
                break;

            case Railway.Point.EType.Station:
                path = "TaskStation";
                break;

            case Railway.Point.EType.End:
            default:
                path = "TaskEnd";
                break;
            }


            GameObject go = Object.Instantiate(Resources.Load <GameObject>(path));

            if (null == go)
            {
                return(null);
            }

            go.transform.parent     = Railway.Manager.railRoot;
            go.transform.localScale = Vector3.one;

            return(go.GetComponent <RailwayStation>());
        }
示例#2
0
 public void RequestAddPoint(Vector3 pos, Railway.Point.EType type, int prePointId, int itemObjId)
 {
     RemoveItemFromPlayerPkg(itemObjId);
     Railway.Point point = DoAddPoint(pos, type, prePointId);
     if (point != null)
     {
         point.itemInstanceId = itemObjId;
     }
 }
示例#3
0
    public Railway.Point DoAddPoint(Vector3 pos, Railway.Point.EType type, int prePointId, int pointId = -1)
    {
        Railway.Point point = Railway.Manager.Instance.GetPoint(prePointId);

        // Reverse Link
        if (null != point &&
            Railway.Manager.InvalId == point.prePointId &&
            Railway.Manager.InvalId != point.nextPointId)
        {
            Railway.Point.ReverseNext(point);
        }

        return(Railway.Manager.Instance.AddPoint(pos, prePointId, type, pointId));
    }