private static void OnUpgradeUnitPart(bool success, System.Object content)
    {
        if (success)
        {
            if (--_upgradeTimesLeft > 0)
            {
                UpgradeUnitPart();
            }
        }
        else
        {
        }

        Model_Unit unit = InstancePlayer.instance.model_User.unlockUnits [_upgradeUnitId];

        _upgradedLevels = unit.partLevels[_upgradePartIndex] - _originalPartLevel;

        PBConnect_upgradeUnitPart.DelegateConnectCallback cb = _upgradeCallback;
        if (_upgradeTimesLeft <= 0)
        {
            _upgradeCallback = null;
        }

        cb(success, content);
    }
    public static void UpdateMultyTimes(PBConnect_upgradeUnitPart.DelegateConnectCallback callback, int times,
                                        int unitId, int partIndex)
    {
        Assert.assert(_upgradeCallback == null);


        _upgradeCallback = callback;

        Assert.assert(times > 0);
        _upgradeTimesLeft = times;

        _upgradeUnitId    = unitId;
        _upgradePartIndex = partIndex;


        _originalPartLevel = InstancePlayer.instance.model_User.unlockUnits[unitId].partLevels[partIndex];
        _upgradedLevels    = 0;

        UpgradeUnitPart();
    }