Exemple #1
0
        private void RefreshAssets()
        {
#if !UnitTest
            if (Logger.IsDebugEnabled)
            {
                Logger.DebugFormat("RefreshAssets cur {0} last {1}", _weapon.Asset, _lastWeapon.Asset);
            }
#endif
            if (_weapon.Id != _lastWeapon.Id)
            {
                if (HasLastWeapon())
                {
                    _weaponModelLoadController.Unload(_lastWeapon.Asset);
                }
                _weaponModelLoadController.LoadWeapon(_weapon.Asset);
            }

            foreach (var partPair in _weaponPartDic)
            {
                var lastPart = _lastWeaponPartDic[partPair.Key];
                if (partPair.Value.Id != lastPart.Id)
                {
                    _weaponModelLoadController.Unload(_lastWeaponPartDic[partPair.Key].Asset);
                    if (partPair.Value.Id > 0)
                    {
                        var location = WeaponTypeConvertUtil.GetLocationByPartType(partPair.Key);
                        _weaponModelLoadController.LoadPart(_weaponPartDic[partPair.Key].Asset, location);
                    }
                }
            }

            _weapon.CopyTo(_lastWeapon);
            foreach (var partPair in _weaponPartDic)
            {
                partPair.Value.CopyTo(_lastWeaponPartDic[partPair.Key]);
            }
        }