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); }
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(); } }
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; } })); }
public abstract void TruckOnPointListener(CardinalPoint cp, Cargo cargo, CargoBuilding building);