DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ UpdateLightsClient()

void Car::UpdateLightsClient ( int newGear = -1)
inlineprotected

См. определение в файле CarScript.c строка 1861

1862 {
1863 int gear;
1864
1865 if (newGear == -1)
1866 {
1867 gear = GetGear();
1868 }
1869 else
1870 {
1871 gear = newGear;
1872 }
1873
1874 if (LightIsOn())
1875 {
1876 if (!m_LightsComponent.LightExist("Front") && m_HeadlightsState != CarHeadlightBulbsState.NONE)
1877 m_LightsComponent.EnableLight("Front");
1878
1879 if (m_LightsComponent.LightExist("Front"))
1880 {
1881 switch (m_HeadlightsState)
1882 {
1883 case CarHeadlightBulbsState.LEFT:
1884 m_LightsComponent.AttachLightOnPoint("Front", m_LeftHeadlightPoint, m_LeftHeadlightTargetPoint, VehicleLightMode.SEGREGATED);
1885 break;
1886
1887 case CarHeadlightBulbsState.RIGHT:
1888 m_LightsComponent.AttachLightOnPoint("Front", m_RightHeadlightPoint, m_RightHeadlightTargetPoint, VehicleLightMode.SEGREGATED);
1889 break;
1890
1891 case CarHeadlightBulbsState.BOTH:
1892 vector local_pos_left = GetMemoryPointPos(m_LeftHeadlightPoint);
1893 vector local_pos_right = GetMemoryPointPos(m_RightHeadlightPoint);
1894
1895 vector local_pos_middle = (local_pos_left + local_pos_right) * 0.5;
1896 m_LightsComponent.AttachLightOnObject("Front", local_pos_middle, vector.Zero, VehicleLightMode.AGGREGATED);
1897 break;
1898
1899 default:
1900 m_LightsComponent.DisableLight("Front");
1901 }
1902 }
1903 }
1904 else
1905 {
1906 if (m_LightsComponent.LightExist("Front"))
1907 m_LightsComponent.DisableLight("Front");
1908 }
1909
1910 // brakes & reverse
1911 switch (gear)
1912 {
1913 case CarGear.REVERSE:
1916 m_RearLightType = CarRearLightType.BRAKES_AND_REVERSE;
1917 else
1918 m_RearLightType = CarRearLightType.REVERSE_ONLY;
1919 break;
1920 default:
1922 m_RearLightType = CarRearLightType.BRAKES_ONLY;
1923 else
1924 m_RearLightType = CarRearLightType.NONE;
1925 }
1926
1927 //Debug.Log(string.Format("m_BrakesArePressed=%1, m_RearLightType=%2", m_BrakesArePressed.ToString(), EnumTools.EnumToString(CarRearLightType, m_RearLightType)));
1928
1929 if (!m_LightsComponent.LightExist("Rear") && m_RearLightType != CarRearLightType.NONE && m_HeadlightsState != CarHeadlightBulbsState.NONE)
1930 {
1931 if (EngineIsOn() || m_RearLightType == CarRearLightType.BRAKES_ONLY || m_RearLightType == CarRearLightType.BRAKES_AND_REVERSE)
1932 {
1933 m_LightsComponent.EnableLight("Rear");
1934 m_LightsComponent.AttachLightOnObject("Rear", GetMemoryPointPos(m_ReverseLightPoint), "180 0 0", VehicleLightMode.SEGREGATED);
1935 }
1936 }
1937
1938 // rear lights
1939 if (m_LightsComponent.LightExist("Rear") && m_RearLightType != CarRearLightType.NONE && m_HeadlightsState != CarHeadlightBulbsState.NONE)
1940 {
1941 switch (m_RearLightType)
1942 {
1943 case CarRearLightType.BRAKES_ONLY:
1944 m_LightsComponent.SetLightTypeAndMode("Rear", VehicleLightType.BRAKE, VehicleLightMode.SEGREGATED);
1945 break;
1946
1947 case CarRearLightType.REVERSE_ONLY:
1948 if (EngineIsOn())
1949 m_LightsComponent.SetLightTypeAndMode("Rear", VehicleLightType.REVERSE, VehicleLightMode.SEGREGATED);
1950 else
1951 m_LightsComponent.DisableLight("Rear");
1952
1953 break;
1954
1955 case CarRearLightType.BRAKES_AND_REVERSE:
1956 if (EngineIsOn())
1957 m_LightsComponent.SetLightTypeAndMode("Rear", VehicleLightType.REVERSE_BRAKE, VehicleLightMode.AGGREGATED);
1958 else
1959 m_LightsComponent.SetLightTypeAndMode("Rear", VehicleLightType.BRAKE, VehicleLightMode.SEGREGATED);
1960
1961 break;
1962
1963 default:
1964 m_LightsComponent.DisableLight("Rear");
1965 }
1966 }
1967 else
1968 {
1969 if (m_LightsComponent.LightExist("Rear"))
1970 m_LightsComponent.DisableLight("Rear");
1971 }
1972 }
CarAutomaticGearboxMode
Enumerated automatic gearbox modes. (native, do not change or extend)
Определения Car.c:58
proto native bool EngineIsOn()
Returns true when engine is running, false otherwise.
proto native int GetGear()
Returns the index of the future gear, -1 if there is no engine.
static string m_LeftHeadlightPoint
Определения CarScript.c:166
static string m_ReverseLightPoint
Определения CarScript.c:165
static string m_LeftHeadlightTargetPoint
Определения CarScript.c:168
static string m_RightHeadlightTargetPoint
Определения CarScript.c:169
ref VehicleLightsComponent m_LightsComponent
Определения CarScript.c:187
static string m_RightHeadlightPoint
Определения CarScript.c:167
bool m_BrakesArePressed
Определения CarScript.c:2774

Перекрестные ссылки VehicleLightType::BRAKE, EngineIsOn(), GetGear(), m_BrakesArePressed, m_LeftHeadlightPoint, m_LeftHeadlightTargetPoint, m_LightsComponent, m_ReverseLightPoint, m_RightHeadlightPoint, m_RightHeadlightTargetPoint, VehicleLightType::REVERSE, VehicleLightType::REVERSE_BRAKE и vector::Zero.