Releases: allista/AT_Utils
Releases · allista/AT_Utils
v1.8.3
- Changed default Min/Max Size/Aspect of APR to [0.1, 1000]
- ToggleAction of MultiAnimators syncs with its action group if it's set
- In MultiGeometryAnimator made drag cube names configurable
to be able to use predefined cubes. - Added OnHoverTrigger UI component
- Add the trash icon to at_utils_ui asset bundle
- Added Indicator UI component
- Added ClickableLabel UI component
- Made UIWindowBase.SyncState virtual
- Added UIWindowBase.onGamePause/Unpause virtual methods that are called
when corresponding GameEvents are fired - Considering a vessel to be OnPlanet only when its orbit radius is less
than MinPeR - Allow for cancellation of a ComputationBalancer.Task
v1.8.2
- Extracted SpatialSensor from SpawnSpaceManager.SpawnSpaceSensor.
Added several factories to add the sensor to GO starting from
different components like MeshFilter or Collider. - Added on_vessel_positioned callback to VesselSpawner.SpawnProtoVessel
- Ignoring GForces while vessel goes off rails in VesselSpawner
- VesselSpawner calls on_vessel_off_rails before switching to it
- SpawnSpaceManager supports SpawnOffset AND AutoPositionVessel at the same
time. - Braking change: removed GetSpawnOffset methods. Instead, GetSpawnTransform
returns out spawn_offset parameter. - Added additional_rotation argument to GetSpawnTransform methods
- Removed AutoPositionVessel option from SpawnSpaceManager
- Instead, added GetSpawnRotation and GetOptimalRotation methods that
allow calculation of the rotation that was used when AutoPositionVessel was used. - Renamed additional_rotation argument of GetSpawnTransform to just
rotation.
- Instead, added GetSpawnRotation and GetOptimalRotation methods that
- Fixed NRE in ToggleColorizer
- Optimized initial positioning of the panel; still doesn't work though)
- Fixed NRE during spawning of a vessel that is quickly destroyed
- Corrected some typos
- Fixed the crash on right click on toolbar buttons
- Fixed NRE when calling SaveState on an Instance that's no longer there
- Hiding subwindows if a parent window is not shown
- Checking for null return value when adding component to a GO
- Better logging from AppToolbar
- Checking for null value when running Show coro of UIWindowBase on a MB
- Initialize UIWindow Controller position without waiting for it to resize
itself, because sometimes it doesn't do this and the waiting is infinite. - Saving state of a UIWindow when it is closed.
- Added NIGHTBUILD build configuration
- Separated extension classes to their own files under Extensions directory
- Added Part.TryUseResource extension method
- Added Utils.GetLayer/GetLayers method to resolve layer masks from layer
names and cache the results. - Changed target framework to .NET-4.5
- Added required Unity-2019 Module dlls
- Using new EventType constants
- Using MonoUtilities.RefreshPartContextWindow per SQUAD request
- Fixed ArgumentException and NREs caused by not-found material
- Fixed Additive material path
- Storing background textures for styles in Styles class.
- Background textures in Unity 2019 should be persisted outside of the
GUISyleState.background
- Background textures in Unity 2019 should be persisted outside of the
- Moving GUIContent instances to static members for performance.
- Added Toggle.SetIsOnAndColorWithoutNotify extension.
v1.8.1
- Made UIBundle reusable for different bundles. Extracted UIWindowBase code from Styles
- Derived ColorListWindow from UIWindowBase, both being extracted from Styles; UIWindowBase will be the base for the new UI framework on uGUI.
- Added UI folder for the new framework
- Fixed ScreenBoundRect, extracted static ClampToScreen method from OnDrag
- Changed mku to μu in formatUnits
- Fixed references to UnityEngine+.UI; should not make lockal copies of them
- Added PanelledUI and FloatValueUI base classes and FloatController UI prefab
- Added TooltipView+TooltipTrigger framework
- Added AT_Utils.UI.FormatUtils.cs with the code from MiscUtils for formatting
- Added CommonEvents.cs with UnityEvents subclasses for common use
- Added Extensions class and backported Toggle.SetIsOnWithoutNotify
- Added PluginState static class that handles persistent configs
- The code was extracted from GUIWindowBase. Now everything that needs to persist its configs have to use PluginState.
- For that there are two attributes: ConfigOption for fields and PersistState for classes. The former marks fields that should be saved and restored, the later is used to recursively save/load state of a tree of objects.
- Added ICachedState interface to PluginState framework to allow classes to sync their runtime state before saving it to config.xml
- Made ToggleColorizer.UpdateColor public
- To change toggle color when isOn is set without calling the callback
- Added TooltipView via TooltipWindow to TooltipManager addon
- Added Label prefab that is a Panel->Text composite
- Fixed DragableRect in case of parents changing midflight
- Fixed DragableRect position calculation; using IBeginDragHandler to catch the start
- Added PanelledUI.IsActive property
- Added EmptyPanel prefab
- Added Panel prefab
- Added ColorSetting.Alpha method to return the Color with changed alpha value
- SpawnSpaceManager adds separate GO for AutoPosition transform
v1.8.0
- APR: Updating AttachNodes with the model OnLoad
- Added DebugUtils.SetupHullMeshes Vessel extension method.
- Fixed ConvexHull3D calculation that added zero vector to the hull in some cases
- SimpleDialog and subclasses accept one-time callbacks
- Added WorldSpaceTrace script to add temporary markers to WorldSpace
- Added BoundTriangles to easily create meshes from BoundCorners output.
- Added Utils.standard_material and comments on how to set up the Standard Unity shader
- Reimplemented SimpleDialog and its subclasses to use callbacks and OnGUI
- SimpleScrollView is hidden by default.
- SimpleScrollView is drawn in its own OnGUI method.
- Added ButtonSwitch(GUIContent) methods
v1.7.0
- Added Styles.onSkinInit callback
- Added Styles.ToggleStylesUI MonoBehaviour extension method
- Added Styles.MakeButton(Color) method to unify button creation.
- Added AppToolbar addon to generalize handling of AppLaucher/Toolbar buttons
- Moved ToolbarWrapper to GUI
- Added ConfigNodeObject.SavePartial to programmatically manage .user override files
- GC49 added dmFlexoTube parts to BadParts list
- Removed ResourceHack config
- Added AT_Utils.UI - new UI framework based on uGUI
- Using AT_Utils.UI.Colors framework to change UI colors at runtime
- Moved static CurrentCamera prop from Markers to GraphicsUtils
- Added VectorsityLineRenderer and UnityLineRenderer to simplify 3D-spline usage
- Removed Draw methods using dynamic Meshes
v1.6.3
- Added ShipConstruct.SelectPart(flagURL)
- Added PartMaker to make a part from the name and a ShipConstruct from the part
- Added PartSelector: like SubassemblySelector, but selects AvailableParts
- Added Utils.PartIsPurchased(AvailablePart)
- Try and catch everything while creating a part in PartMaker.
- Also, consider the possibility of unequal module nodes and modules counts.
- And of modules that add other modules (like CC does).
- Safer ForEach extension; fixed NRE in StartState.
- PartSelector uses pagination, async loading and title filter.
- Fixed Out of memory exception in ComputationBalancer on scene change
- ResourcePump.request is double, which fixes some issues with KSP-1.6
v1.6.2
- Added StringID extensions for classes in ksp object's hierarchy.
- To better track what happens where during debugging.
- Fixed SelectMax; .Log extensions use GetID() for prefixes.
- Added NamedDockingPort module
- Vector3d and Orbit are serialized in CNO. Added bin->base64 de/serialization.
- Added SimpleScrollView GUI component
- Added default constructor to ResourceInfo
- Fixed NRE in UnlockControls and OnDestroy.
- Apparently, reference type fields should be initialized in Awake, not in class definition.
- Fixed check for bad parts in Metric; added MKS drills' names to the list.
- Fixed UpdateAttachedPartPos extensions.
- Now they distinguish between flight and editor and do not mess with the orbits.
- Fixed staging of spawned ship constructs.
v1.6.1
- Added DebugUtils.formatPartJointsTree
- Fixed Local2Local; fixed UpdateAttachedPartPos*
- Fixed messed up part rotation when animating part resizing
- Added Transform.(Inverse)TransformPointUnscaled extensions
- Fixed VesselSpawner.SpawnShipConstruct positioning.
- Consider disabled renderers when searching for AffectedObjects in STS
v1.6.0.1
v1.6.0
- Added ShipConstructLoader component that loads both complete .crafts and subsassemblies.
- GUIWindowBase.HUD_enabled takes into account level_loaded flag.
- Added SlowUpdate coroutine helper.
- Both IShipConstruction.Bounds and Metric support world-space calculation.
- Added variants of ButtonSwitch that change the label on switch as well as style.
- Merged HangarSpaceManager into SpawnSpaceManager, which now uses .Init instead of .Load to get spawn transform/mesh.
- Added more variants of GetSpawnTransform/Offset.
- Added an option to setup a sensor collider to SpawnSpace.
- Added VesselSpawner class that generalizes Hangar's algorithm to launch vessels in flight from both ProtoVessels and ShipConstructs, and also to launch ShipConstructs to ground, as GC does.
- Added ATGroundAnchor module that combines GC's and Hangar's anchors.
- Added ATMagneticDamper module that slows down parts inside a trigger collider defined on the specified mesh.
- Removed ModuleAsteroidFix
- Added check_module static method to SimplePartFilter.
- Fixed Metric and Bounds for RadialDrill via explicit workaround.
- Adde MeshesToSkip and BadParts lists to AT_UtilsGlobals.
- Optimized IShipConstruct.Bounds.
- Added Part.AllModelMeshes extension; used in Metric.
- Added MeshFilter.AddCollider extension; used in SpawnSpaceManager and ATMagneticDamper.
- Added MetricDebug module to visualize both Metric and .Bounds