Esempio n. 1
0
    string MakeTestMapData()
    {
        if (!string.IsNullOrEmpty(m_szTestMapData))
        {
            return(m_szTestMapData);
        }
        MapData mapData = new MapData();

        mapData.grids          = new List <MapNodeData>();
        mapData.grids.Capacity = 100000;
        MapNodeData node = null;

        for (int i = 0; i < 100000; ++i)
        {
            node         = new MapNodeData();
            node.Level   = UnityEngine.Random.Range(1, 10);
            node.ResType = UnityEngine.Random.Range(3, 6);
            node.Type    = UnityEngine.Random.Range(1, 5);
            node.x       = UnityEngine.Random.Range(1, 100);
            node.y       = UnityEngine.Random.Range(1, 100);
            mapData.grids.Add(node);
        }
        string szText = JsonMapper.ToJson(mapData);

        m_szTestMapData = szText;
        return(m_szTestMapData);
        //System.IO.File.WriteAllText("E:/mapdata.txt", szText);
    }
Esempio n. 2
0
    private bool SaveNodes(MapContainer MapContainer)
    {
        //if has edge
        if (Edges.Any())
        {
            //find linked output port (edges inputside != null dedicates that the output port has a link)
            //note: edges input,output dedicate different nodes' port and there relation;
            //   ________               ________
            //   | Node1 |   edge(x)   | Node2 |
            //  in      out-----------in      out
            //   |_______|             |_______|
            var connectedEdges = Edges.Where(x => x.input.node != null).ToArray();

            //only save output port link message
            for (int i = 0; i < connectedEdges.Length; i++)
            {
                var outputNode = connectedEdges[i].output.node as MapNode;
                var inputNode  = connectedEdges[i].input.node as MapNode;

                MapContainer.linkdata.Add(
                    new NodeLinkedData
                {
                    FromNodeGuid   = outputNode.GUID,
                    outPortName    = connectedEdges[i].output.portName,
                    TargetNodeGuid = inputNode.GUID,
                    inPortName     = connectedEdges[i].input.portName,
                }
                    );
            }
        }



        foreach (var MapNode in Nodes)
        {
            var mapNodeData = new MapNodeData
            {
                NodeGUID = MapNode.GUID,
                MapText  = MapNode.MapText,
                Position = MapNode.GetPosition().position,
                roomType = MapNode.roomType
            };
            foreach (Port inputPort in MapNode.inputContainer.Children().ToList().Cast <Port>().ToList())
            {
                mapNodeData.inputPorts.Add(new PortData {
                    portName = inputPort.portName, direction = Direction.Input
                });
            }

            foreach (Port outputPort in MapNode.outputContainer.Children().ToList().Cast <Port>().ToList())
            {
                mapNodeData.outputPorts.Add(new PortData {
                    portName = outputPort.portName, direction = Direction.Output
                });
            }
            MapContainer.nodedata.Add(mapNodeData);
        }

        return(true);
    }
Esempio n. 3
0
    private void BaseInitialize(string id, Vector3 position)
    {
        Data             = new MapNodeData();
        Data.Coordinates = position;
        Data.Id          = id;

        transform.position = position;
    }
Esempio n. 4
0
    public void InitializeFromData(MapNodeData data, MapNodeTappedCallback callback)
    {
        Data = data;

        if (data.BattleStageDataId != null)
        {
            _battleStageData = Database.Instance.GetBattleStageData(data.BattleStageDataId);
        }
        else if (data.ShopStageDataId != null)
        {
            _shopStageData = Database.Instance.GetShopStageData(data.ShopStageDataId);
        }

        transform.position = Data.Coordinates;
        _callback          = callback;
    }