Пример #1
0
    /// <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();
    }
Пример #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)
        {
            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);
    }