Example #1
0
 // Token: 0x06000455 RID: 1109 RVA: 0x0001F5C8 File Offset: 0x0001D9C8
 public NodeEdgeDataFormat(NodeEdgeDataFormat original)
 {
     this.id        = original.id;
     this.plug      = original.plug;
     this.wayType   = original.wayType;
     this.time      = original.time;
     this.plusTime  = original.plusTime;
     this.normalTag = original.normalTag;
     this.toolsTag  = original.toolsTag;
     this.uniqueTag = original.uniqueTag;
     this.nTagPer   = original.nTagPer;
     this.tTagPer   = original.tTagPer;
     this.uTagPer   = original.uTagPer;
     this.enc_name  = original.enc_name;
     this.enc_per   = original.enc_per;
 }
Example #2
0
    // Token: 0x06000323 RID: 803 RVA: 0x0000F1E0 File Offset: 0x0000D5E0
    public void CreateMap(AreaType createArea)
    {
        int id   = SuperGameMaster.sDataBase.get_NodeDB_AreaIndex(createArea);
        int num  = SuperGameMaster.sDataBase.get_NodeDB_AreaIndex(createArea + 1);
        int i    = SuperGameMaster.sDataBase.search_NodeDBIndex_forId(id);
        int num2 = 960;
        int num3 = 0;

        while (i < SuperGameMaster.sDataBase.count_NodeDB())
        {
            NodeDataFormat nodeDataFormat = SuperGameMaster.sDataBase.get_NodeDB(i);
            if (nodeDataFormat.id == num)
            {
                break;
            }
            GameObject gameObject = UnityEngine.Object.Instantiate <GameObject>(this.nodePrefab);
            gameObject.transform.SetParent(base.gameObject.transform, false);
            gameObject.transform.SetAsFirstSibling();
            gameObject.GetComponent <MapNodeButton>().CngIdText(nodeDataFormat.id);
            gameObject.GetComponent <MapNodeButton>().CngColor(nodeDataFormat.type);
            NodeConnectDataFormat nodeConnectDataFormat = SuperGameMaster.sDataBase.get_NodeConnectDB_forId(nodeDataFormat.id);
            gameObject.transform.localPosition = nodeConnectDataFormat.pos;
            List <NodeEdgeDataFormat> list = new List <NodeEdgeDataFormat>();
            foreach (int id2 in nodeConnectDataFormat.edge)
            {
                list.Add(SuperGameMaster.sDataBase.get_NodeEdgeDB_forId(id2));
            }
            List <NodeConnectDataFormat> list2 = new List <NodeConnectDataFormat>();
            foreach (NodeEdgeDataFormat nodeEdgeDataFormat in list)
            {
                if (nodeEdgeDataFormat.plug[0] != nodeDataFormat.id)
                {
                    list2.Add(SuperGameMaster.sDataBase.get_NodeConnectDB_forId(nodeEdgeDataFormat.plug[0]));
                }
                if (nodeEdgeDataFormat.plug[1] != nodeDataFormat.id)
                {
                    list2.Add(SuperGameMaster.sDataBase.get_NodeConnectDB_forId(nodeEdgeDataFormat.plug[1]));
                }
            }
            bool[] array = new bool[4];
            foreach (NodeConnectDataFormat nodeConnectDataFormat2 in list2)
            {
                if (nodeConnectDataFormat.pos.x > nodeConnectDataFormat2.pos.x)
                {
                    array[0] = true;
                }
                if (nodeConnectDataFormat.pos.y > nodeConnectDataFormat2.pos.y)
                {
                    array[1] = true;
                }
                if (nodeConnectDataFormat.pos.x < nodeConnectDataFormat2.pos.x)
                {
                    array[2] = true;
                }
                if (nodeConnectDataFormat.pos.y < nodeConnectDataFormat2.pos.y)
                {
                    array[3] = true;
                }
            }
            gameObject.GetComponent <MapNodeButton>().ConnectMark(array[0], array[1], array[2], array[3]);
            if ((float)num2 > nodeConnectDataFormat.pos.y)
            {
                num2 = (int)nodeConnectDataFormat.pos.y;
            }
            if ((float)num3 < nodeConnectDataFormat.pos.y)
            {
                num3 = (int)nodeConnectDataFormat.pos.y;
            }
            i++;
        }
        if (num3 + num2 < 960)
        {
            num3 += num2;
        }
        Vector2 sizeDelta = base.transform.GetComponent <RectTransform>().sizeDelta;

        sizeDelta.y = (float)num3;
        base.transform.GetComponent <RectTransform>().sizeDelta = sizeDelta;
        IEnumerator enumerator3 = base.transform.GetEnumerator();

        try
        {
            while (enumerator3.MoveNext())
            {
                object    obj       = enumerator3.Current;
                Transform transform = (Transform)obj;
                if (transform.name.Equals("MapNodeButton(Clone)"))
                {
                    Vector2 v = transform.transform.localPosition;
                    v.x -= sizeDelta.x / 2f;
                    v.y += sizeDelta.y / 2f;
                    v.y  = (float)num3 - v.y;
                    transform.transform.localPosition = v;
                }
            }
        }
        finally
        {
            IDisposable disposable;
            if ((disposable = (enumerator3 as IDisposable)) != null)
            {
                disposable.Dispose();
            }
        }
        for (i = SuperGameMaster.sDataBase.search_NodeEdgeDBIndex_forId(id); i < SuperGameMaster.sDataBase.count_NodeEdgeDB(); i++)
        {
            NodeEdgeDataFormat nodeEdgeDataFormat2 = SuperGameMaster.sDataBase.get_NodeEdgeDB(i);
            if (nodeEdgeDataFormat2.id == num)
            {
                break;
            }
            GameObject gameObject2 = UnityEngine.Object.Instantiate <GameObject>(this.edgePrefab);
            gameObject2.transform.SetParent(base.gameObject.transform, false);
            gameObject2.transform.SetAsFirstSibling();
            gameObject2.GetComponent <MapEdgeButton>().CngIdText(nodeEdgeDataFormat2.id);
            gameObject2.GetComponent <MapEdgeButton>().CngColor(nodeEdgeDataFormat2.wayType);
            Vector2[]   array2      = new Vector2[2];
            IEnumerator enumerator4 = base.transform.GetEnumerator();
            try
            {
                while (enumerator4.MoveNext())
                {
                    object    obj2       = enumerator4.Current;
                    Transform transform2 = (Transform)obj2;
                    if (transform2.name.Equals("MapNodeButton(Clone)"))
                    {
                        for (int k = 0; k < 2; k++)
                        {
                            if (nodeEdgeDataFormat2.plug[k] == transform2.GetComponent <MapNodeButton>().getNodeId())
                            {
                                array2[k] = transform2.transform.localPosition;
                            }
                        }
                    }
                }
            }
            finally
            {
                IDisposable disposable2;
                if ((disposable2 = (enumerator4 as IDisposable)) != null)
                {
                    disposable2.Dispose();
                }
            }
            Vector2 sizeDelta2 = new Vector2(15f, 15f);
            Vector2 v2         = array2[0];
            if (array2[0].x != array2[1].x)
            {
                sizeDelta2.x = Mathf.Abs(array2[1].x - array2[0].x);
                v2.x         = array2[0].x + (array2[1].x - array2[0].x) / 2f;
            }
            if (array2[0].y != array2[1].y)
            {
                sizeDelta2.y = Mathf.Abs(array2[1].y - array2[0].y);
                v2.y         = array2[0].y + (array2[1].y - array2[0].y) / 2f;
            }
            gameObject2.transform.localPosition = v2;
            gameObject2.GetComponent <RectTransform>().sizeDelta = sizeDelta2;
        }
    }