41 void Initialize(FSubsystemCollectionBase& Collection)
override;
43 void Deinitialize()
override;
45 void RegisterLight(UCarlaLight* CarlaLight);
47 void UnregisterLight(UCarlaLight* CarlaLight);
49 UFUNCTION(BlueprintCallable)
50 bool IsUpdatePending()
const;
52 UFUNCTION(BlueprintCallable)
53 int32 NumLights()
const {
57 std::vector<carla::rpc::LightState> GetLights(FString Client);
61 std::vector<carla::rpc::LightState> LightsToSet,
62 bool DiscardClient =
false);
64 UCarlaLight* GetLight(
int Id);
71 void SetDayNightCycle(
const bool active);
75 return bDayNightCycle;
81 bOutIsDay = bLastIsDay;
82 return bHasDayTimeState;
85 UPROPERTY(BlueprintCallable, BlueprintAssignable, Category =
"DayTimeChangeEvent")
86 FDayTimeChanged DayTimeChangeEvent;
93 void NotifyDayTimeChange(
bool bIsDay);
100 void SetClientStatesdirty(FString ClientThatUpdate);
107 TMap<
int, UCarlaLight* > Lights;
110 void ScheduleDayTimeState(UCarlaLight* CarlaLight);
111 bool bHasDayTimeState = false;
112 bool bLastIsDay = true;
114 bool bDayNightCycle = true;
115 TSet<TWeakObjectPtr<UCarlaLight>> PendingDayTimeLights;
118 TMap<FString,
bool> ClientStates;