[fix] fixed bug in parseTimeLineElement and parseFunction
- damn you Lua arrays!!!
This commit is contained in:
@@ -97,7 +97,7 @@ class SimulationConfigParser(input: Map[String, Any], simulationBehaviours: Simu
|
|||||||
private def parseTimeLineElement(timeLineElement: Any): (Int, Option[Int]) = {
|
private def parseTimeLineElement(timeLineElement: Any): (Int, Option[Int]) = {
|
||||||
timeLineElement match {
|
timeLineElement match {
|
||||||
case timeLineElement: Vector[_] => val elementVector = timeLineElement.asInstanceOf[Vector[Int]]
|
case timeLineElement: Vector[_] => val elementVector = timeLineElement.asInstanceOf[Vector[Int]]
|
||||||
(elementVector(1), if(timeLineElement.contains(2)) Some(elementVector(2)) else None)
|
(elementVector(0), if(elementVector.size > 1) Some(elementVector(1)) else None)
|
||||||
case timeLineElement: Map[_, _] => val elementMap = timeLineElement.asInstanceOf[Map[String, Int]]
|
case timeLineElement: Map[_, _] => val elementMap = timeLineElement.asInstanceOf[Map[String, Int]]
|
||||||
(elementMap("start"), if(elementMap.contains("end")) Some(elementMap("end")) else None)
|
(elementMap("start"), if(elementMap.contains("end")) Some(elementMap("end")) else None)
|
||||||
}
|
}
|
||||||
@@ -111,7 +111,7 @@ class SimulationConfigParser(input: Map[String, Any], simulationBehaviours: Simu
|
|||||||
val start: Int = function(0).asInstanceOf[Int]
|
val start: Int = function(0).asInstanceOf[Int]
|
||||||
// val end: Option[Int] = None // Not used
|
// val end: Option[Int] = None // Not used
|
||||||
val name: String = function(1).asInstanceOf[String]
|
val name: String = function(1).asInstanceOf[String]
|
||||||
val args: Option[FunctionArgs] = if (function.contains(3)) Some(FunctionArgs(function(2).asInstanceOf[Map[String, Any]])) else None
|
val args: Option[FunctionArgs] = if (function.size > 2) Some(FunctionArgs(function(2).asInstanceOf[Map[String, Any]])) else None
|
||||||
if (!simulationBehaviours.get(name).isEmpty) funcPointer = Some((simulationBehaviours.get(name).get, args))
|
if (!simulationBehaviours.get(name).isEmpty) funcPointer = Some((simulationBehaviours.get(name).get, args))
|
||||||
Map[Int, Option[(SimulationBehaviour, Option[FunctionArgs])]](start -> funcPointer)
|
Map[Int, Option[(SimulationBehaviour, Option[FunctionArgs])]](start -> funcPointer)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user