示例#1
0
    public override void TruckOnPointListener(CardinalPoint cp, Cargo cargo, CargoBuilding building)
    {
        if (!direction.Contains(cp))
        {
            return;                          //Si no ha pasado por nuestro lado no hacemos nada
        }
        if (cargo.cargo != CargoType)
        {
            return;                           //Si est� vacio no hacemos nada
        }
        if (myCargoSpriteReference == null)
        {
            return;                                 //FAILSAFE, en caso de que no haya referencia escrita por ManagesCargo
        }
        if (myBuilding != building)
        {
            return;                         //We check the building
        }
        CargoDelivered CD = GameController.s.CargosDelivered.Find(x => x.type == cargo.cargo);

        if (CD == null)
        {
            Debug.LogError("UNLOAD: Cannot Find CargoType: " + cargo.ToString());
            return;
        }
        GameController.s.CargosDelivered[0].delivered += 1; //Cargo of type "none" (all cargo delivered)
        CD.delivered += 1;
        building.TruckGotUnloaded(cp, cargo);
        GameController.s.FloatingTextSpawn(building.TriggersTransform[(int)cp], "+1", enumColor.Green, "CargoSpritev2_Load", GameConfig.s.cargoColors[(int)cargo.cargo], 0f);
        cargo.cargo             = CargoType.None; //Cargamos el vehiculo
        GameController.s.money += moneyGained;
        GameController.s.FloatingTextSpawn(building.TriggersTransform[(int)cp], "+" + moneyGained.ToString(), enumColor.Green, "Money", Color.black, 1.5f);
    }
示例#2
0
    public override void TruckOnPointListener(CardinalPoint cp, Cargo cargo, CargoBuilding building)
    {
        if (!direction.Contains(cp))
        {
            return;                           //Si no ha pasado por nuestro lado no hacemos nada
        }
        if (cargo.cargo != CargoType.None)
        {
            return;                                //Si est� lleno no hacemos nada
        }
        if (myCargoSpriteReference == null)
        {
            return;                                 //FAILSAFE, en caso de que no haya referencia escrita por ManagesCargo
        }
        if (infiniteAmount == false && amountOfItems == 0)
        {
            return;                                                //Si no hay items disponibles no hacemos nada
        }
        if (myBuilding != building)
        {
            return;              // Check the building
        }
        cargo.cargo = CargoType; //Cargamos el vehiculo
        bool startcd = false;

        if (amountOfItems == maxProduced)
        {
            startcd = true;
        }

        if (!infiniteAmount)
        {
            amountOfItems--;                 //Restamos uno a la cantidad de items que tenemos
        }
        if (startcd)
        {
            StartCooldown();
        }
    }
示例#3
0
 public void TruckOnPointListenerINCOME(CardinalPoint cp, Cargo cargo, CargoBuilding building)
 {
     if (cargo.cargo != cargoNeededForIncome)
     {
         return;                                      //Si est� vacio no hacemos nada
     }
     if (myCargoSpriteReference == null)
     {
         return;                                 //FAILSAFE, en caso de que no haya referencia escrita por ManagesCargo
     }
     if (myBuilding != building)
     {
         return;                         //We check the building
     }
     IncomeActive = true;
     secondToStop = TimeController.s.AdvanceTimeXSeconds(duration);
     TimeController.s.timer.AddAction(secondToStop, (() => {
         if (TimeController.s.GiveCurrentStep() == secondToStop)
         {
             IncomeActive = false;
         }
     }));
 }
示例#4
0
 public abstract void TruckOnPointListener(CardinalPoint cp, Cargo cargo, CargoBuilding building);