- variables
- {
- global:
- 3: menuButtonRadius
- 4: menuButtonDistance
- 5: menuGridSize
- 6: menuTextPadding
- 7: menuTextScale
- player:
- 6: facingDirWhenMenuOpened
- 7: menuLevel
- 8: menuButtonPositions
- 9: destroyMenuButtons
- 10: menuButtonEffects
- 11: menuButtonTexts
- 12: menuButtonRows
- 13: n
- 15: menuBottonColumns
- 16: menuButtonVertOffsets
- 17: menuButtonHorOffsets
- 18: menuButtonTextPositions
- 19: menuButtonHorDirs
- }
- rule("**** TEST: create menu button(s)")
- {
- event
- {
- Ongoing - Each Player;
- Team 1;
- All;
- }
- conditions
- {
- Event Player.menuLevel == 1;
- }
- actions
- {
- "setup"
- If(Count Of(Event Player.menuButtonPositions) > 0);
- Event Player.destroyMenuButtons = True;
- Wait(0.016, Ignore Condition);
- End;
- Event Player.n = -1;
- "START NEW BUTTON"
- Event Player.n += 1;
- "delete?"
- Wait(0.016, Ignore Condition);
- "define button row (1-3)"
- Event Player.menuButtonRows[Event Player.n] = 1;
- "define button col (1-5)"
- Event Player.menuBottonColumns[Event Player.n] = 1;
- Event Player.menuButtonVertOffsets[Event Player.n] = 0.500 + (3 - Event Player.menuButtonRows[Event Player.n])
- * Global.menuGridSize;
- If(Event Player.menuBottonColumns[Event Player.n] < 2);
- Event Player.menuButtonHorDirs[Event Player.n] = Direction From Angles(Horizontal Angle From Direction(
- Event Player.facingDirWhenMenuOpened) + 90, 0);
- Else;
- Event Player.menuButtonHorDirs[Event Player.n] = Direction From Angles(Horizontal Angle From Direction(
- Event Player.facingDirWhenMenuOpened) + -90, 0);
- End;
- If(Event Player.menuBottonColumns[Event Player.n] == 1 || Event Player.menuBottonColumns[Event Player.n] == 5);
- Event Player.menuButtonHorOffsets[Event Player.n] = Global.menuGridSize * 2;
- Else If(Event Player.menuBottonColumns[Event Player.n] == 3);
- Event Player.menuButtonHorOffsets[Event Player.n] = 0;
- Else;
- Event Player.menuButtonHorOffsets[Event Player.n] = Global.menuGridSize * 1;
- End;
- "delete?"
- Wait(0.016, Ignore Condition);
- Event Player.menuButtonPositions[Event Player.n] = Position Of(Event Player)
- + Event Player.menuButtonVertOffsets[Event Player.n] * Up + Global.menuButtonDistance * Event Player.facingDirWhenMenuOpened + Event Player.menuButtonHorOffsets[Event Player.n] * Event Player.menuButtonHorDirs[Event Player.n];
- "delete?"
- Wait(0.016, Ignore Condition);
- "define button colour"
- Create Effect(Event Player, Sphere, Blue, Event Player.menuButtonPositions[Event Player.n], Global.menuButtonRadius, None);
- Event Player.menuButtonEffects[Event Player.n] = Last Created Entity;
- "delete?"
- Wait(0.016, Ignore Condition);
- Event Player.menuButtonTextPositions[Event Player.n] = Vector(0, Global.menuTextPadding, 0)
- + Event Player.menuButtonPositions[Event Player.n];
- "define label text/colour"
- Create In-World Text(Event Player, Custom String("top left blue"), Event Player.menuButtonTextPositions[Event Player.n],
- Global.menuTextScale, Do Not Clip, None, Blue, Default Visibility);
- "END?"
- Event Player.menuButtonTexts[Event Player.n] = Last Text ID;
- Wait(0.016, Ignore Condition);
- "START NEW BUTTON"
- Event Player.n += 1;
- "delete?"
- Wait(0.016, Ignore Condition);
- "define button row (1-3)"
- Event Player.menuButtonRows[Event Player.n] = 2;
- "define button col (1-5)"
- Event Player.menuBottonColumns[Event Player.n] = 3;
- Event Player.menuButtonVertOffsets[Event Player.n] = 0.500 + (3 - Event Player.menuButtonRows[Event Player.n])
- * Global.menuGridSize;
- If(Event Player.menuBottonColumns[Event Player.n] < 2);
- Event Player.menuButtonHorDirs[Event Player.n] = Direction From Angles(Horizontal Angle From Direction(
- Event Player.facingDirWhenMenuOpened) + 90, 0);
- Else;
- Event Player.menuButtonHorDirs[Event Player.n] = Direction From Angles(Horizontal Angle From Direction(
- Event Player.facingDirWhenMenuOpened) + -90, 0);
- End;
- If(Event Player.menuBottonColumns[Event Player.n] == 1 || Event Player.menuBottonColumns[Event Player.n] == 5);
- Event Player.menuButtonHorOffsets[Event Player.n] = Global.menuGridSize * 2;
- Else If(Event Player.menuBottonColumns[Event Player.n] == 3);
- Event Player.menuButtonHorOffsets[Event Player.n] = 0;
- Else;
- Event Player.menuButtonHorOffsets[Event Player.n] = Global.menuGridSize * 1;
- End;
- "delete?"
- Wait(0.016, Ignore Condition);
- Event Player.menuButtonPositions[Event Player.n] = Position Of(Event Player)
- + Event Player.menuButtonVertOffsets[Event Player.n] * Up + Global.menuButtonDistance * Event Player.facingDirWhenMenuOpened + Event Player.menuButtonHorOffsets[Event Player.n] * Event Player.menuButtonHorDirs[Event Player.n];
- "delete?"
- Wait(0.016, Ignore Condition);
- "define button colour"
- Create Effect(Event Player, Sphere, Red, Event Player.menuButtonPositions[Event Player.n], Global.menuButtonRadius, None);
- Event Player.menuButtonEffects[Event Player.n] = Last Created Entity;
- "delete?"
- Wait(0.016, Ignore Condition);
- Event Player.menuButtonTextPositions[Event Player.n] = Vector(0, Global.menuTextPadding, 0)
- + Event Player.menuButtonPositions[Event Player.n];
- "define label text/colour"
- Create In-World Text(Event Player, Custom String("middle red"), Event Player.menuButtonTextPositions[Event Player.n],
- Global.menuTextScale, Do Not Clip, None, Red, Default Visibility);
- "END?"
- Event Player.menuButtonTexts[Event Player.n] = Last Text ID;
- Wait(0.016, Ignore Condition);
- "START NEW BUTTON"
- Event Player.n += 1;
- "delete?"
- Wait(0.016, Ignore Condition);
- "define button row (1-3)"
- Event Player.menuButtonRows[Event Player.n] = 3;
- "define button col (1-5)"
- Event Player.menuBottonColumns[Event Player.n] = 5;
- Event Player.menuButtonVertOffsets[Event Player.n] = 0.500 + (3 - Event Player.menuButtonRows[Event Player.n])
- * Global.menuGridSize;
- If(Event Player.menuBottonColumns[Event Player.n] < 2);
- Event Player.menuButtonHorDirs[Event Player.n] = Direction From Angles(Horizontal Angle From Direction(
- Event Player.facingDirWhenMenuOpened) + 90, 0);
- Else;
- Event Player.menuButtonHorDirs[Event Player.n] = Direction From Angles(Horizontal Angle From Direction(
- Event Player.facingDirWhenMenuOpened) + -90, 0);
- End;
- If(Event Player.menuBottonColumns[Event Player.n] == 1 || Event Player.menuBottonColumns[Event Player.n] == 5);
- Event Player.menuButtonHorOffsets[Event Player.n] = Global.menuGridSize * 2;
- Else If(Event Player.menuBottonColumns[Event Player.n] == 3);
- Event Player.menuButtonHorOffsets[Event Player.n] = 0;
- Else;
- Event Player.menuButtonHorOffsets[Event Player.n] = Global.menuGridSize * 1;
- End;
- "delete?"
- Wait(0.016, Ignore Condition);
- Event Player.menuButtonPositions[Event Player.n] = Position Of(Event Player)
- + Event Player.menuButtonVertOffsets[Event Player.n] * Up + Global.menuButtonDistance * Event Player.facingDirWhenMenuOpened + Event Player.menuButtonHorOffsets[Event Player.n] * Event Player.menuButtonHorDirs[Event Player.n];
- "delete?"
- Wait(0.016, Ignore Condition);
- "define button colour"
- Create Effect(Event Player, Sphere, White, Event Player.menuButtonPositions[Event Player.n], Global.menuButtonRadius, None);
- Event Player.menuButtonEffects[Event Player.n] = Last Created Entity;
- "delete?"
- Wait(0.016, Ignore Condition);
- Event Player.menuButtonTextPositions[Event Player.n] = Vector(0, Global.menuTextPadding, 0)
- + Event Player.menuButtonPositions[Event Player.n];
- "define label text/colour"
- Create In-World Text(Event Player, Custom String("bottom right white"), Event Player.menuButtonTextPositions[Event Player.n],
- Global.menuTextScale, Do Not Clip, None, White, Default Visibility);
- "END?"
- Event Player.menuButtonTexts[Event Player.n] = Last Text ID;
- }
- }