public static void UnloadPassengersPost(State __state)
        {
            if (VehicleManager.instance.m_vehicles.m_buffer[__state.vehicleID].m_leadingVehicle != 0)
            {
                return;
            }

            var currentPassengers =
                VehicleUtil.GetTotalPassengerCount(__state.vehicleID, CachedVehicleData.MaxVehicleCount);
            var passengersOut = Mathf.Max(0, __state.currentPassengers - currentPassengers);

            CachedVehicleData.m_cachedVehicleData[__state.vehicleID]
            .DisembarkPassengers(passengersOut, __state.currentStop);
            CachedNodeData.m_cachedNodeData[__state.currentStop].PassengersOut += passengersOut;
        }
        public static bool UnloadPassengersPre(ushort vehicleID, ushort currentStop, out State __state)
        {
            if (VehicleManager.instance.m_vehicles.m_buffer[vehicleID].m_leadingVehicle != 0)
            {
                __state = new State();
                return(true);
            }

            __state = new State()
            {
                vehicleID         = vehicleID,
                currentStop       = currentStop,
                currentPassengers = VehicleUtil.GetTotalPassengerCount(vehicleID, CachedVehicleData.MaxVehicleCount)
            };
            return(true);
        }
Beispiel #3
0
        public static void LoadPassengersPost(State __state)
        {
            var data = VehicleManager.instance.m_vehicles.m_buffer[__state.vehicleID];

            if (data.m_leadingVehicle != 0)
            {
                return;
            }

            var currentPassengers =
                VehicleUtil.GetTotalPassengerCount(__state.vehicleID, CachedVehicleData.MaxVehicleCount);
            var passengersIn = Mathf.Max(0, currentPassengers - __state.currentPassengers);

            CachedVehicleData.m_cachedVehicleData[__state.vehicleID]
            .BoardPassengers(passengersIn, VehicleUtil.GetTicketPrice(__state.vehicleID), __state.currentStop);
            CachedNodeData.m_cachedNodeData[__state.currentStop].PassengersIn += passengersIn;
        }