Advertisement
Larington

Untitled

Aug 18th, 2011
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.45 KB | None | 0 0
  1. // concatenation of CombatHexGridNameTextField.text + X Num + Y Num
  2. // X Num and Y Num change depending on if we're filling the node name or
  3. //connectingNodeNW
  4. //connectingNodeNN
  5. //connectingNodeNE
  6. //connectingNodeSW
  7. //connectingNodeSS
  8. //connectingNodeSE
  9.  
  10.  
  11. //xPosTextField.text and yPosTextField.text
  12. //CombatHexGridNameTextField.text
  13.  
  14. //x = 1
  15. //connectingNodeNW = -1;
  16. //connectingNodeSW = -1;
  17.  
  18. //x = xPosTextField.text
  19. //connectingNodeNE = -1;
  20. //connectingNodeSE = -1;
  21.  
  22. //y = 1
  23. //connectingNodeNN = -1;
  24.  
  25. //y = 1 and x = odd number
  26. //connectingNodeNW = -1;
  27. //connectingNodeNN = -1;
  28. //connectingNodeNE = -1;
  29.  
  30. function BeginHexCreation()
  31. {
  32. %simGroupName = CombatHexGridNameTextField.getText();
  33. %obj = new SimGroup(%simGroupName)
  34. {
  35. canSave = "1";
  36. canSaveDynamicFields = "1";
  37. };
  38. MissionGroup.add(%obj);
  39.  
  40.  
  41. %xGridMaxPos = xPosTextField.getValue();
  42. %yGridMaxPos = yPosTextField.getValue();
  43.  
  44. %hexOffsetValue = 0;
  45.  
  46. %combatNodeXWorldPos = 20;
  47. %combatNodeYWorldPos = 20;
  48. %variableCombatNodeYWorldPos = %combatNodeYWorldPos;
  49. %combatNodeZWorldPos = 240.1;
  50. %combatNodePosition = %combatNodeXWorldPos SPC %CombatNodeYWorldPos SPC %combatNodeZWorldPos;
  51. %hexOffset = true;
  52.  
  53. %ORIGINcombatNodeXWorldPos = %combatNodeXWorldPos;
  54.  
  55. %xGridPos = 1;
  56. %yGridPos = 1;
  57.  
  58. while(%yGridPos<=%yGridMaxPos)
  59. {
  60. %hexOffset = true;
  61. %combatNodeXWorldPos = %ORIGINcombatNodeXWorldPos;
  62.  
  63.  
  64. while(%xGridPos<=%xGridMaxPos)
  65. {
  66.  
  67. %newCombatNodeName = CombatHexGridNameTextField.getValue() @ "X" @ %xGridPos @ "Y" @ %yGridPos;
  68.  
  69. //Turns out the connecting node names are different depending on if %xGridPos is odd or even
  70. if(!((%xGridPos /2)==1))
  71. {
  72. %connectingNodeNWName = CombatHexGridNameTextField.text @ "X" @ %xGridPos-1 @ "Y" @ %yGridPos-1;
  73. %connectingNodeNNName = CombatHexGridNameTextField.text @ "X" @ %xGridPos @ "Y" @ %yGridPos-1;
  74. %connectingNodeNEName = CombatHexGridNameTextField.text @ "X" @ %xGridPos+1 @ "Y" @ %yGridPos-1;
  75. %connectingNodeSWName = CombatHexGridNameTextField.text @ "X" @ %xGridPos-1 @ "Y" @ %yGridPos;
  76. %connectingNodeSSName = CombatHexGridNameTextField.text @ "X" @ %xGridPos @ "Y" @ %yGridPos+1;
  77. %connectingNodeSEName = CombatHexGridNameTextField.text @ "X" @ %xGridPos+1 @ "Y" @ %yGridPos;
  78. }
  79. else
  80. {
  81. %connectingNodeNWName = CombatHexGridNameTextField.text @ "X" @ %xGridPos-1 @ "Y" @ %yGridPos;
  82. %connectingNodeNNName = CombatHexGridNameTextField.text @ "X" @ %xGridPos @ "Y" @ %yGridPos-1;
  83. %connectingNodeNEName = CombatHexGridNameTextField.text @ "X" @ %xGridPos+1 @ "Y" @ %yGridPos;
  84. %connectingNodeSWName = CombatHexGridNameTextField.text @ "X" @ %xGridPos-1 @ "Y" @ %yGridPos+1;
  85. %connectingNodeSSName = CombatHexGridNameTextField.text @ "X" @ %xGridPos @ "Y" @ %yGridPos+1;
  86. %connectingNodeSEName = CombatHexGridNameTextField.text @ "X" @ %xGridPos+1 @ "Y" @ %yGridPos+1;
  87. }
  88.  
  89. if(%xGridPos==1) //This if prevents the offset triggering when it shouldn't be due to odd numbered width
  90. {
  91. %hexOffsetValue = 0;
  92. }
  93. %variableCombatNodeYWorldPos = %combatNodeYWorldPos + %hexOffsetValue;
  94. %combatNodePosition = %combatNodeXWorldPos SPC %variableCombatNodeYWorldPos SPC %combatNodeZWorldPos;
  95.  
  96. new StaticShape(%newCombatNodeName) {
  97. dataBlock = "CombatNode";
  98. parentGroup = %simGroupName;
  99. position = %combatNodePosition;
  100. rotation = "1 0 0 0";
  101. scale = "1 1 1";
  102. canSave = "1";
  103. canSaveDynamicFields = "1";
  104. connectingNodeNW = %connectingNodeNWName;
  105. connectingNodeNN = %connectingNodeNNName;
  106. connectingNodeNE = %connectingNodeNEName;
  107. connectingNodeSW = %connectingNodeSWName;
  108. connectingNodeSS = %connectingNodeSSName;
  109. connectingNodeSE = %connectingNodeSEName;
  110. occupant = "None";
  111. };
  112. echo("Created at X: " @ %combatNodeXWorldPos @ " Y: " @ %variableCombatNodeYWorldPos);
  113.  
  114. if(%hexOffset$=true)
  115. {
  116. %hexOffset = false;
  117. %hexOffsetValue = -2;
  118. }
  119. else
  120. {
  121. %hexOffset = true;
  122. %hexOffsetValue = 0;
  123. }
  124.  
  125. %combatNodeXWorldPos = %combatNodeXWorldPos + 3;
  126. %xGridPos = %xGridPos +1;
  127.  
  128. }
  129. %combatNodeYWorldPos = %combatNodeYWorldPos -4;
  130.  
  131.  
  132.  
  133. %xGridPos = 1;
  134. %yGridPos = %yGridPos +1;
  135.  
  136.  
  137.  
  138. }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement