public void ResetLights() { currentNPCLightState = NPCLightStateTypes.Off; SetHeadLights(); SetRunningLights(); SetBrakeLights(false); if (FixedUpdateManager != null) { if (turnSignalIE != null) { FixedUpdateManager.StopCoroutine(turnSignalIE); } if (hazardSignalIE != null) { FixedUpdateManager.StopCoroutine(hazardSignalIE); } } SetTurnIndicator(isReset: true); SetIndicatorReverse(false); if (Loader.Instance.Network.IsMaster) { var message = MessagesPool.Instance.GetMessage(4); message.AddressKey = Key; message.Content.PushEnum <NPCControllerMethodName>((int)NPCControllerMethodName.ResetLights); message.Type = DistributedMessageType.ReliableOrdered; BroadcastMessage(message); } }
private void GetDayNightState() { if (EnvironmentEffectsManager.Instance == null) { return; } switch (EnvironmentEffectsManager.Instance.currentDayNightState) { case DayNightStateTypes.Day: currentNPCLightState = NPCLightStateTypes.Off; break; case DayNightStateTypes.Night: currentNPCLightState = NPCLightStateTypes.Low; break; case DayNightStateTypes.Sunrise: currentNPCLightState = NPCLightStateTypes.Off; break; case DayNightStateTypes.Sunset: currentNPCLightState = NPCLightStateTypes.Low; break; default: break; } headLights.ForEach(x => SetNPCLights(x)); headLightRenderers.ForEach(x => SetNPCLightRenderers(x, true)); tailLightRenderers.ForEach(x => SetNPCLightRenderers(x)); brakeLightRenderers.ForEach(x => SetNPCLightRenderers(x)); }
private void OnDayNightChange(DayNightMissive missive) { switch (missive.state) { case DayNightStateTypes.Day: currentNPCLightState = NPCLightStateTypes.Off; break; case DayNightStateTypes.Night: currentNPCLightState = NPCLightStateTypes.Low; break; case DayNightStateTypes.Sunrise: currentNPCLightState = NPCLightStateTypes.Off; break; case DayNightStateTypes.Sunset: currentNPCLightState = NPCLightStateTypes.Low; break; default: break; } headLights.ForEach(x => SetNPCLights(x)); headLightRenderers.ForEach(x => SetNPCLightRenderers(x, true)); tailLightRenderers.ForEach(x => SetNPCLightRenderers(x)); brakeLightRenderers.ForEach(x => SetNPCLightRenderers(x)); }
private void ResetData() { StopAllCoroutines(); currentMapLaneSegmentBuilder = null; currentIntersectionComponent = null; if (prevMapLaneSegmentBuilder?.stopLine?.mapIntersectionBuilder != null) { prevMapLaneSegmentBuilder.stopLine.mapIntersectionBuilder.ExitStopSignQueue(this); } prevMapLaneSegmentBuilder = null; currentNPCLightState = NPCLightStateTypes.Off; allRenderers.ForEach(x => SetNPCLightRenderers(x)); currentSpeed = 0f; currentStopTime = 0f; path = 0f; currentSpeed_measured = 0f; rb.angularVelocity = Vector3.zero; rb.velocity = Vector3.zero; isCurve = false; isLeftTurn = false; isRightTurn = false; isStopLight = false; isStopSign = false; hasReachedStopSign = false; isLaneDataSet = false; }
public void SetLights(int state) { currentNPCLightState = (NPCLightStateTypes)state; SetHeadLights(); SetRunningLights(); if (Loader.Instance.Network.IsMaster) { var message = MessagesPool.Instance.GetMessage(8); message.AddressKey = Key; message.Content.PushInt(state); message.Content.PushEnum <NPCControllerMethodName>((int)NPCControllerMethodName.SetLights); message.Type = DistributedMessageType.ReliableOrdered; BroadcastMessage(message); } }
private void OnTimeOfDayChange(TimeOfDayStateTypes state) { switch (state) { case TimeOfDayStateTypes.Day: currentNPCLightState = NPCLightStateTypes.Off; break; case TimeOfDayStateTypes.Night: currentNPCLightState = NPCLightStateTypes.Low; break; case TimeOfDayStateTypes.Sunrise: currentNPCLightState = NPCLightStateTypes.Low; break; case TimeOfDayStateTypes.Sunset: currentNPCLightState = NPCLightStateTypes.Low; break; } SetLights((int)currentNPCLightState); }
public void GetSimulatorTimeOfDay() { switch (SimulatorManager.Instance.EnvironmentEffectsManager.CurrentTimeOfDayState) { case TimeOfDayStateTypes.Day: currentNPCLightState = NPCLightStateTypes.Off; break; case TimeOfDayStateTypes.Night: currentNPCLightState = NPCLightStateTypes.Low; break; case TimeOfDayStateTypes.Sunrise: currentNPCLightState = NPCLightStateTypes.Low; break; case TimeOfDayStateTypes.Sunset: currentNPCLightState = NPCLightStateTypes.Low; break; } SetLights((int)currentNPCLightState); }
private void OnDisable() { Missive.RemoveListener <DayNightMissive>(OnDayNightChange); currentNPCLightState = NPCLightStateTypes.Off; allRenderers.ForEach(x => SetNPCLightRenderers(x)); }