Пример #1
0
    void LoadLocalValueAmount()
    {
        if (Data.ammoType != ItemUseableData.AmmoType.Local)
        {
            return;
        }

        if (ammoAmountLocal.IsInitialized)
        {
            return;
        }

        ammoAmountLocal = null;

        //need to serialize and copy local data to the item
        ammoAmountLocal = new ValueAmountLocal();
        if (Data.localAmmo.data)
        {
            ammoAmountLocal.CopyValues(Data.localAmmo);
            ammoAmountLocal.Initialize(this);
        }
        else
        {
            Debug.Log("No data found on " + gameObject + " in " + Data);
        }
    }
Пример #2
0
    void LoadUnitValueAmount()
    {
        if (Data.ammoType != ItemUseableData.AmmoType.Unit)
        {
            return;
        }
        if (ammoAmountLocal.IsInitialized)
        {
            return;
        }

        ammoAmountLocal = null;

        var ind = Data.globalAmmo.indexValue;

        if (dropped)
        {
            ammoAmountLocal = lastUnitOwner.GetLocalValue(ind);
        }
        else
        {
            //get the ammo from the unit
            ammoAmountLocal = curUnitOwner.GetLocalValue(ind);
        }
        if (ammoAmountLocal != null)
        {
            Debug.Log("Loaded " + ammoAmountLocal.valueName + " onto " + gameObject);
        }
        else
        {
            Debug.Log("Could not find local ammo value!");
        }
    }
Пример #3
0
 protected virtual void LoadVitalities(ValueAmountLocal[] _valueAmounts)
 {
     valueAmountLocals = new ValueAmountLocal[_valueAmounts.Length];
     for (int i = 0; i < valueAmountLocals.Length; i++)
     {
         valueAmountLocals[i] = new ValueAmountLocal();
         valueAmountLocals[i].CopyValues(_valueAmounts[i]);
         valueAmountLocals[i].Initialize(this);
         valueAmountLocals[i].RefreshUI();
     }
 }
Пример #4
0
    public void LoadValueData()
    {
        //initialize array size
        var size = managerData.valueAmountLocals.Length;

        valueLocals = new ValueAmountLocal[size];
        //serialize or "copy" the local values from the data to this script.
        for (int i = 0; i < size; i++)
        {
            var localAmmo = managerData.valueAmountLocals[i];
            valueLocals[i] = new ValueAmountLocal();
            valueLocals[i].CopyValues(localAmmo);
        }
    }
Пример #5
0
    public void CopyValues(ValueAmountLocal _local)
    {
        //public values
        valueName            = _local.valueName;
        data                 = _local.data;
        maxCount             = _local.maxCount;
        unlimitedTotalAmount = _local.unlimitedTotalAmount;

        //private
        curSize     = _local.Size;
        curAmount   = _local.CurAmount;
        curInd      = _local.CurIndex;
        totalAmount = _local.totalAmount;
        reloading   = _local.IsReloading;
        recharging  = _local.IsRecharging;
        empty       = _local.IsEmpty;
        if (_local.CurUI)
        {
            CurUI = _local.CurUI;
            RefreshUI();
        }
    }