LocalVariable.java 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package me.hammerle.snuviscript.variable;
  2. import java.util.HashMap;
  3. import me.hammerle.snuviscript.code.Script;
  4. public class LocalVariable extends Variable
  5. {
  6. public LocalVariable(String name)
  7. {
  8. super(name);
  9. }
  10. @Override
  11. public String toString()
  12. {
  13. return name + "#L";
  14. }
  15. @Override
  16. public Object get(Script sc)
  17. {
  18. return getVariable(sc).get(sc);
  19. }
  20. @Override
  21. public double getDouble(Script sc)
  22. {
  23. return getVariable(sc).getDouble(sc);
  24. }
  25. @Override
  26. public String getString(Script sc)
  27. {
  28. return getVariable(sc).getString(sc);
  29. }
  30. @Override
  31. public boolean getBoolean(Script sc)
  32. {
  33. return getVariable(sc).getBoolean(sc);
  34. }
  35. @Override
  36. public Variable getVariable(Script sc)
  37. {
  38. HashMap<String, Variable> map = sc.getLocalVars();
  39. Variable v = map.get(name);
  40. if(v != null)
  41. {
  42. return v;
  43. }
  44. v = new Variable(name);
  45. map.put(name, v);
  46. return v;
  47. }
  48. @Override
  49. public void set(Script sc, Object o)
  50. {
  51. getVariable(sc).set(sc, o);
  52. }
  53. @Override
  54. public Object getArray(Script sc)
  55. {
  56. return getVariable(sc).getArray(sc);
  57. }
  58. }