Exemplo n.º 1
0
        internal static List <string> LoadBasicAssets(CitizenWealthDefinition definition)
        {
            var basicAssetsList = new List <string>();

            for (uint num = 0u; num < (ulong)PrefabCollection <VehicleInfo> .PrefabCount(); num += 1u)
            {
                VehicleInfo prefab = PrefabCollection <VehicleInfo> .GetPrefab(num);

                if (!(prefab == null) && definition.isFromSystem(prefab) && !VehicleUtils.IsTrailer(prefab))
                {
                    basicAssetsList.Add(prefab.name);
                }
            }
            return(basicAssetsList);
        }
        protected static void GetVehicleInfoPost(ref CitizenInstance citizenData, ref VehicleInfo __result)
        {
            if (__result == null || __result.m_vehicleType != VehicleInfo.VehicleType.Car || __result.m_class.m_service == ItemClass.Service.PublicTransport || (citizenData.m_flags & CitizenInstance.Flags.OnTour) != CitizenInstance.Flags.None)
            {
                return;
            }

            LogUtils.DoLog($"Selecting car for: {citizenData.Info.m_citizenAI}");

            var definition = CitizenWealthDefinition.from(CitizenManager.instance.m_citizens.m_buffer[citizenData.m_citizen].WealthLevel);

            LogUtils.DoLog($"definition: {definition}");
            IVWVehiclesWealthExtension ext = definition.GetVehicleExtension();

            LogUtils.DoLog($"ext: {ext}");
            if (!ext.IsModelCompatible(__result))
            {
                __result = ext.GetAModel();
            }
        }