@@ -19,6 +19,13 @@ namespace WOLF
19
19
public class WOLF_CrewTransferScenario : ScenarioModule , ICrewTransferController
20
20
{
21
21
private const float TERMINAL_RANGE = 500f ;
22
+ private static readonly List < PrefabDefinition > _prefabDefs = new List < PrefabDefinition >
23
+ {
24
+ new PrefabDefinition < FlightSelector > ( PrefabType . Prefab ) ,
25
+ new PrefabDefinition < KerbalSelector > ( PrefabType . Prefab ) ,
26
+ new PrefabDefinition < WarningPanel > ( PrefabType . Prefab ) ,
27
+ new PrefabDefinition < TerminalWindow > ( PrefabType . Window ) ,
28
+ } ;
22
29
23
30
private readonly ArrivalWarnings _arrivalWarnings = new ArrivalWarnings ( ) ;
24
31
private readonly Dictionary < string , WarningMetadata > _activeWarnings
@@ -729,7 +736,10 @@ public override void OnAwake()
729
736
base . OnAwake ( ) ;
730
737
731
738
GetLocalizedTextValues ( ) ;
739
+ }
732
740
741
+ private void Start ( )
742
+ {
733
743
var wolfScenario = FindObjectOfType < WOLF_ScenarioModule > ( ) ;
734
744
_wolf = wolfScenario . ServiceManager . GetService < IRegistryCollection > ( ) ;
735
745
@@ -738,30 +748,16 @@ public override void OnAwake()
738
748
{
739
749
var serviceManager = usiTools . ServiceManager ;
740
750
var windowManager = serviceManager . GetService < WindowManager > ( ) ;
751
+ var prefabManager = serviceManager . GetService < PrefabManager > ( ) ;
741
752
742
753
try
743
754
{
744
- // Setup UI prefabs
755
+ // Load and register UI prefabs
745
756
var filepath = Path . Combine ( KSPUtil . ApplicationRootPath ,
746
757
"GameData/UmbraSpaceIndustries/WOLF/Assets/UI/CrewTransferWindow.prefabs" ) ;
747
- var prefabs = AssetBundle . LoadFromFile ( filepath ) ;
748
- var flightSelectorPrefab = prefabs . LoadAsset < GameObject > ( "FlightSelector" ) ;
749
- var kerbalSelectorPrefab = prefabs . LoadAsset < GameObject > ( "KerbalSelector" ) ;
750
- var terminalWindowPrefab = prefabs . LoadAsset < GameObject > ( "TerminalWindow" ) ;
751
- var warningPanelPrefab = prefabs . LoadAsset < GameObject > ( "WarningPanel" ) ;
752
-
753
- // Register prefabs with window manager
754
- windowManager
755
- . RegisterPrefab < FlightSelector > ( flightSelectorPrefab )
756
- . RegisterPrefab < KerbalSelector > ( kerbalSelectorPrefab )
757
- . RegisterPrefab < WarningPanel > ( warningPanelPrefab )
758
- . RegisterWindow < TerminalWindow > ( terminalWindowPrefab ) ;
758
+ prefabManager . LoadAssetBundle ( filepath , _prefabDefs ) ;
759
759
}
760
760
catch ( ServiceAlreadyRegisteredException ) { }
761
- catch ( NullReferenceException )
762
- {
763
- // TODO - Create an asset bundle loader service in USITools
764
- }
765
761
catch ( Exception ex )
766
762
{
767
763
Debug . LogError ( $ "[WOLF] { ClassName } : { ex . Message } ") ;
0 commit comments