/// <summary> /// Listener del evento "OnScore" para el modo TimeAttack /// </summary> /// <param name="cargo"></param> void TimeAttackOnScoreListener(CargoType cargo) { //Checkeamos si se cumplió alguna misión! CargoDelivered CD = _cargosDelivered.Find(x => x.type == cargo); if (CD == null) { Debug.LogError("Cannot Find CargoType: " + cargo.ToString()); return; } int cargoamount = CD.delivered; bool b = false; foreach (Quest q in myLevel.quests) { if (q.CheckQuest(cargoamount, WinCondition.Delivered, cargo)) { b = true; } } //Si se cumplió alguna misión lanzamos el evento de misión completada (que tal vez complete otras misiones) if (b && OnCompeletedQuest != null) { OnCompeletedQuest(TimeController.s.timeSpent); } //foreach (QuestSlate qsd in FindObjectsOfType<QuestSlate>()) qsd.UpdateGUI(); }
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); }