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); }
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); }
private void BaseInitialize(string id, Vector3 position) { Data = new MapNodeData(); Data.Coordinates = position; Data.Id = id; transform.position = position; }
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; }