Пример #1
0
    public void Cmd_UCE_WarpTravelroute(int index)
    {
        if (UCE_myTravelrouteArea)
        {
            int price = 0;
            List <UCE_Travelroute> travelroutesAvailable = UCE_TravelroutesVisibleForPlayer();
            UCE_Travelroute        targetTravelroute     = travelroutesAvailable[index];
            string name = "";

            if (targetTravelroute.teleportationTarget.Valid)
            {
                name = targetTravelroute.teleportationTarget.name;
            }

            if (!string.IsNullOrWhiteSpace(name) && UCE_travelroutes.Any(t => t.name == name))
            {
#if _iMMOHONORSHOP
                if (!UCE_checkHonorCost(index))
                {
                    return;
                }
                UCE_payHonorCost(index);
#endif
                price = UCE_getTravelCost(index);

                if (gold >= price)
                {
                    gold -= price;

                    targetTravelroute.teleportationTarget.OnTeleport(this);
                }
            }
        }
    }
Пример #2
0
    // -----------------------------------------------------------------------------------
    // UCE_getTravelCost
    // -----------------------------------------------------------------------------------
#if _iMMOHONORSHOP
    public bool UCE_checkHonorCost(int index)
    {
        bool valid = false;

        if (UCE_myTravelrouteArea)
        {
            List <UCE_Travelroute> travelroutesAvailable = UCE_TravelroutesVisibleForPlayer();
            UCE_Travelroute        targetTravelroute     = travelroutesAvailable[index];

            if (targetTravelroute != null)
            {
                if (targetTravelroute.currencyCost.Length == 0)
                {
                    return(true);
                }

                foreach (UCE_HonorShopCurrencyCost currency in targetTravelroute.currencyCost)
                {
                    int price = (int)(targetTravelroute.teleportationTarget.getDistance(UCE_myTravelrouteArea.transform) * currency.amount);

                    if (UCE_GetHonorCurrency(currency.honorCurrency) >= price)
                    {
                        valid = true;
                    }
                    else
                    {
                        valid = false;
                        break;
                    }
                }
            }
        }

        return(valid);
    }
Пример #3
0
    // -----------------------------------------------------------------------------------
    // UCE_getTravelCost
    // -----------------------------------------------------------------------------------
    public int UCE_getTravelCost(int index)
    {
        int price = 0;

        if (UCE_myTravelrouteArea)
        {
            List <UCE_Travelroute> travelroutesAvailable = UCE_TravelroutesVisibleForPlayer();
            UCE_Travelroute        targetTravelroute     = travelroutesAvailable[index];

            if (targetTravelroute != null && targetTravelroute.GoldPricePerUnit > 0)
            {
                price = (int)(targetTravelroute.teleportationTarget.getDistance(UCE_myTravelrouteArea.transform) * targetTravelroute.GoldPricePerUnit);
            }
        }

        return(price);
    }
Пример #4
0
    // -----------------------------------------------------------------------------------
    // UCE_getTravelCost
    // -----------------------------------------------------------------------------------
#if _iMMOHONORSHOP
    public void UCE_payHonorCost(int index)
    {
        if (UCE_myTravelrouteArea)
        {
            List <UCE_Travelroute> travelroutesAvailable = UCE_TravelroutesVisibleForPlayer();
            UCE_Travelroute        targetTravelroute     = travelroutesAvailable[index];

            if (targetTravelroute != null)
            {
                foreach (UCE_HonorShopCurrencyCost currency in targetTravelroute.currencyCost)
                {
                    int price = (int)(targetTravelroute.teleportationTarget.getDistance(UCE_myTravelrouteArea.transform) * currency.amount);

                    UCE_AddHonorCurrency(currency.honorCurrency, price * -1);
                }
            }
        }
    }