private GameObject CreateReservoir(int id, int typeId, string line) { Vector3 pos = FileReaderHelper.GetPosition(line); float totalHead = FileReaderHelper.GetNextNumber(line); var obj = Instantiate(reservoir, pos, Quaternion.identity); var reservoirScript = new Reservoir(id, typeId, totalHead); obj.GetComponent <Reservoir>().Init(reservoirScript); return(obj); }
private GameObject CreateValve(int id, int typeId, string line) { int startNodeID = FileReaderHelper.GetNextIntNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); int endNodeID = FileReaderHelper.GetNextIntNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); float diameter = FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); float flow = FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); float flowVelocity = FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); int statusID = (int)FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); int valveTypeID = (int)FileReaderHelper.GetNextNumber(line); Debug.Log("Read valveTypeID is : " + valveTypeID); var startNodePos = MainSimulationManager.ComponentsHelper.GetComponentPosition(startNodeID); var endNodePos = MainSimulationManager.ComponentsHelper.GetComponentPosition(endNodeID); GameStateManager.Instance.SetInactiveState(); GameStateManager.Instance.SetPathCreationState(); var obj = LineGenerator.Instance.CreateAndReturnLineComponent(startNodePos, endNodePos, typeId); var valveScript = new Valve(id, typeId, startNodeID, endNodeID, diameter, flow, flowVelocity, statusID, valveTypeID); obj.GetComponent <Valve>().Init(valveScript); GameStateManager.Instance.SetInactiveState(); GameStateManager.Instance.SetDragComponentsState(); return(obj); }
private GameObject CreateTank(int id, int typeId, string line) { Vector3 pos = FileReaderHelper.GetPosition(line); float volume = FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); float elevation = FileReaderHelper.GetNextNumber(line); var obj = Instantiate(tank, pos, Quaternion.identity); var tankScript = new Tank(id, typeId, volume, elevation); obj.GetComponent <Tank>().Init(tankScript); return(obj); }
private GameObject CreateJunction(int id, int typeId, string line) { Vector3 pos = FileReaderHelper.GetPosition(line); float baseDemand = FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); float elevation = FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); float pressure = FileReaderHelper.GetNextNumber(line); var obj = Instantiate(junction, pos, Quaternion.identity); var junctionScript = new Junction(id, typeId, baseDemand, elevation, pressure); obj.GetComponent <Junction>().Init(junctionScript); return(obj); }
private GameObject CreatePump(int id, int typeId, string line) { int startNodeID = FileReaderHelper.GetNextIntNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); int endNodeID = FileReaderHelper.GetNextIntNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); float flow = FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); float flowVelocity = FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); int curveTypeID = (int)FileReaderHelper.GetNextNumber(line); var startNodePos = MainSimulationManager.ComponentsHelper.GetComponentPosition(startNodeID); var endNodePos = MainSimulationManager.ComponentsHelper.GetComponentPosition(endNodeID); GameStateManager.Instance.SetInactiveState(); GameStateManager.Instance.SetPathCreationState(); var obj = LineGenerator.Instance.CreateAndReturnLineComponent(startNodePos, endNodePos, typeId); var pumpScript = new Pump(id, typeId, startNodeID, endNodeID, flow, flowVelocity, curveTypeID); obj.GetComponent <Pump>().Init(pumpScript); GameStateManager.Instance.SetInactiveState(); GameStateManager.Instance.SetDragComponentsState(); return(obj); }
void ReadSaveFile(string line) { if (line.StartsWith("#")) { return; } if (line.StartsWith("el")) { //remove "el " line = line.Remove(0, 3); //Get ID int ID = (int)FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); //Get typeID int typeID = Int32.Parse(line.Substring(0, 1)); line = line.Remove(0, 3); componentsManager.AddNodeComponent(ComponentsFactory.Instance.CreateComponentFromFile(ID, typeID, line), ID); } else if (line.StartsWith("ln")) { //remove "ln " line = line.Remove(0, 3); //Get ID int ID = (int)FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); //Get typeID int typeID = Int32.Parse(line.Substring(0, 1)); line = line.Remove(0, 3); int startNodeID = -1; int endNodeID = -1; var lineObj = ComponentsFactory.Instance.CreateComponentFromFile(ID, typeID, line); (startNodeID, endNodeID) = MainSimulationManager.ComponentsHelper.GetNodeIDsFromLineObject(lineObj, typeID); componentsManager.AddLineComponent(lineObj, typeID, startNodeID, endNodeID); } else if (line.StartsWith("yr")) { line = line.Remove(0, 3); int ID = (int)FileReaderHelper.GetNextNumber(line); line = line.Remove(0, FileReaderHelper.FindNextNumberIndex(line)); var year = Int32.Parse(line.Substring(0, 4)); line = line.Remove(0, 6); Model model = new Model(year); while (line.Length > 0) { var endOfNum = FileReaderHelper.FindEndOfNumber(line); var removeSize = line.Length > (endOfNum + 2) ? (endOfNum + 2) : line.Length; int index = Int32.Parse(line.Substring(0, endOfNum)); model.Add(index); line = line.Remove(0, removeSize); } modelsManager.AddModel(model); } }