public void ChangeVariableType(IData v, VariableTypes e) { int index = varList.IndexOf(v); varList.RemoveAt(index); switch (e) { case VariableTypes.String: var newString = new VariableString(); newString.Init(v.varName); varList.Insert(index, newString); break; case VariableTypes.Boolean: var newBool = new VariableBool(); newBool.Init(v.varName); varList.Insert(index, newBool); break; case VariableTypes.Int: var newInt = new VariableInt(); newInt.Init(v.varName); varList.Insert(index, newInt); break; case VariableTypes.Float: var newFloat = new VariableFloat(); newFloat.Init(v.varName); varList.Insert(index, newFloat); break; } }
//Funciones que devuelven el valor guardado en el nivel. // Si el valor no existe se avisará mediante consola y devolvera un valor predeterminado. //Tambien puedo hacer que saquen una excepcion si el valor no existe, como en unity. public string GetString(string name) { VariableString e = (VariableString)getData(name, VariableTypes.String); return(e != null ? e.value : null); }