Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Group Spawning #76

Open
24 tasks
rurounijones opened this issue Nov 12, 2021 · 3 comments
Open
24 tasks

Group Spawning #76

rurounijones opened this issue Nov 12, 2021 · 3 comments
Labels
enhancement New feature or request

Comments

@rurounijones
Copy link
Contributor

rurounijones commented Nov 12, 2021

This issue is the master issue for getting group spawning working and will probably have more things added to it over time as we realise what needs to be done:

The API for spawning addGroup in lua is basically "Pass in a huge lua table and hope you get it right" which is not the most user-friendly experience. Therefore we should try and add validation to our gRPC API (still in lua) where possible to remove some of the uncertainty around calling it.

Ground Groups

  • Group
  • Units
  • Waypoints
  • Tasks
  • Validation

Helicopter Groups

  • Group
  • Units
  • Waypoints
  • Tasks
  • Fuel/Guns/countermeasures etc.
  • Pylon setup
  • Validation

Plane Groups

  • Group
  • Units
  • Waypoints
  • Tasks
  • Fuel/Guns/countermeasures etc.
  • Pylon setup
  • Validation

Sea Groups

  • Group
  • Units
  • Waypoints
  • Tasks
  • Validation
@rurounijones
Copy link
Contributor Author

rurounijones commented Nov 18, 2021

We can currently spawn a static SAM site (See #64 (comment) ) however I am not checking anything as complete in the ground group until I have had more time to do testing.

@rurounijones
Copy link
Contributor Author

rurounijones commented Nov 18, 2021

@Wizxrd Suggested that we pass in an abstraction for the waypoint type and then have the lua fill in the rest: i.e.

actions = {
  turningPoint      = { name=_('Turning point'),            type='Turning Point',     action='Turning Point' },
  flyOverPoint      = { name=_('Fly over point'),           type='Turning Point',     action='Fly Over Point' },
  finPoint          = { name=_('Fin point (N/A)'),          type='Fin Point',         action='Fin Point' },
  takeoffRunway  	= { name=_('Takeoff from runway')	  , type='TakeOff',           action='From Runway' },
  takeoffParking	= { name=_('Takeoff from parking')	  , type='TakeOffParking',    action='From Parking Area' },
  takeoffParkingHot = { name=_('Takeoff from parking hot'), type='TakeOffParkingHot', action='From Parking Area Hot' },
  LandingReFuAr 	= { name=_('LandingReFuAr')			  , type='LandingReFuAr',     action='LandingReFuAr' },
  
  takeoffGround	    = { name=_('Takeoff from ground')	   ,type='TakeOffGround',     action='From Ground Area' },
  takeoffGroundHot  = { name=_('Takeoff from ground hot'),  type='TakeOffGroundHot',  action='From Ground Area Hot' },
  
  landing 		    = { name=_('Landing'),                  type='Land',              action='Landing' },
  offRoad 		    = { name=_('Offroad'),                  type='Turning Point',     action='Off Road' },
  onRoad 		    = { name=_('On road'),                  type='Turning Point',     action='On Road' },
  rank 			    = { name=_('Rank'),                     type='Turning Point',     action='Rank' },
  cone 			    = { name=_('Cone'),                     type='Turning Point',     action='Cone' },
  vee 			    = { name=_('Vee'),                      type='Turning Point',     action='Vee' },
  diamond 		    = { name=_('Diamond'),                  type='Turning Point',     action='Diamond' },
  echelonL 		    = { name=_('Echelon Left'),             type='Turning Point',     action='EchelonL' },
  echelonR 		    = { name=_('Echelon Right'),            type='Turning Point',     action='EchelonR' },
  customForm 	    = { name=_('Custom'),                   type='Turning Point',     action='Custom' },
  onRailroads 	    = { name=_('On railroads'),             type='On Railroads',      action='On Railroads' },
}

Where we could use Protobuf enums for the actions key.

@rurounijones
Copy link
Contributor Author

I have a branch that uses the above actions and am working on adding the ability to create routes but it will take a bit I think. This spawn API is hurting my brain.

@rurounijones rurounijones added the enhancement New feature or request label May 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant