Skip to content

Config Example SOLARDATA

shadowmage45 edited this page Dec 6, 2017 · 1 revision

Updated solar panel data config format. Will be used both within the SSTU_MODEL system (ModelDefinition/ModelData), as well as in stand-alone PartModules (SSTUSolarPanel)

//the below config node should be nested inside of any MODEL_DATA that includes solar panel functionality
//the same format should also be used inside of any modules implementing stand-alone solar-panel functionality (likely, just a single one in SSTU)
//only a single SOLARDATA block should exist for any single PartModule or ModelDefinition
SOLARDATA
{
	//optional name in case it needs to be referenced in patches; unused internally
	name = ExampleSolarConfig1
	
	//status regarding if can be retracted / single-shot-deploy status are tracked
	//in the animation data node that may optionally accompany the solar data config node
	
	//may have multiple PANEL blocks defined; 
	//each one denotes a single breakable panel with up to two pivot transforms	
	PANEL
	{
		//optional name in case it needs to be referenced in patches; unused internally
		//could be useful to define panel configurations in root-level config nodes, and patch them into PartModules/ModelDefinitions by name.
		name = ExamplePanelConfig1
		
		//name of the transform used for breaking of the panel; this transform and all children will be disabled/discarded when the panel is broken
		//optional, default = empty (cannot be broken)
		breakTransform = solarBreakPoint
		
		//name of the main pivot transform. 
		//optional, default = empty
		mainPivot = mainPivotTransform
		
		//degrees per second that each pivot may rotate
		//optional, default = 10
		mainPivotSpeed = 10
		
		//main axis that will point towards the solar source
		mainSunAxis = ZPlus
		
		//secondary axis, the pivot will rotate around this axis
		mainRotAxis = XPlus
		
		//index of the main pivot within transforms of the same name, as returned by depth-first transform search.
		//optional, default = 0
		mainPivotIndex = 0
		
		//how to increment this index for multi-panel configurations
		//mandatory on multi-panel configurations, default = 1
		mainPivotStride = 1
		
		//name of the secondary pivot transform. Will only be checked if primary transform is populated
		//optional, default = empty
		secondPivot = secondPivotTransform
		
		//degrees per second that each pivot may rotate
		//optional, default = 10
		secondPivotSpeed = 10
		
		//main axis that will point towards the solar source
		secondSunAxis = ZPlus
		
		//secondary axis, the pivot will rotate around this axis
		secondRotAxis = XPlus
		
		//index of the second pivot within transforms of the same name, as returned by depth-first transform search.
		//optional, default = 0
		secondPivotIndex = 0
		
		//how to increment this index for multi-panel configurations
		//mandatory on multi-panel configurations, default = 1
		secondPivotStride = 1
		
		//at least one suncatcher block must be present in every panel configuration if it is to actually generate power
		//they might be omitted if for some reason you just wanted to have a sun-tracking object (radiator?)
		//multiple suncatcher blocks may be specified if the model contains multiple suncatchers
		SUNCATCHER
		{
			//mandatory, name of the suncatcher transform
			suncatcher = suncatcherTransform
			
			//the axis of the suncatcher used for raycasting and sun-angle calculations
			suncatcherAxis = ZPlus
			
			//optional, default = 0
			suncatcherIndex = 0
			
			//how to increment this index for multi-panel configurations
			//mandatory on multi-panel configurations, default = 1
			suncatcherStride = 1
			
			//mandatory, charge rate at the default solar panel scale, default = 0 (no charge)
			chargeRate = 12
		}
	}
}

Clone this wiki locally