public void CacheBulletDataUseResource(BulletData bulletData, Player player = null) { if (!(bulletData == null)) { BulletData.BulletBase data = bulletData.data; string effectName = data.GetEffectName(player); if (!effectName.IsNullOrWhiteSpace()) { CacheEffect(RESOURCE_CATEGORY.EFFECT_ACTION, effectName); } CacheEffect(RESOURCE_CATEGORY.EFFECT_ACTION, data.landHiteffectName); if (data.endBullet != null) { CacheBulletDataUseResource(data.endBullet, null); } BulletData.BulletFunnel dataFunnel = bulletData.dataFunnel; if (dataFunnel != null && dataFunnel.bitBullet != null) { CacheBulletDataUseResource(dataFunnel.bitBullet, null); } BulletData.BulletMine dataMine = bulletData.dataMine; if (dataMine != null && dataMine.explodeBullet != null) { CacheBulletDataUseResource(dataMine.explodeBullet, null); } BulletData.BulletTracking dataTracking = bulletData.dataTracking; if (dataTracking != null && dataTracking.emissionBullet != null) { CacheBulletDataUseResource(dataTracking.emissionBullet, null); } BulletData.BulletUndead dataUndead = bulletData.dataUndead; if (dataUndead != null && dataUndead.closeBullet != null) { CacheBulletDataUseResource(dataUndead.closeBullet, null); } BulletData.BulletDig dataDig = bulletData.dataDig; if (dataDig != null && dataDig.flyOutBullet != null) { CacheBulletDataUseResource(dataDig.flyOutBullet, null); } BulletData.BulletActionMine dataActionMine = bulletData.dataActionMine; if (dataActionMine != null && dataActionMine.explodeBullet != null && dataActionMine.actionBullet != null) { CacheBulletDataUseResource(dataActionMine.explodeBullet, null); CacheBulletDataUseResource(dataActionMine.actionBullet, null); CacheEffect(RESOURCE_CATEGORY.EFFECT_ACTION, dataActionMine.appearEffectName); CacheEffect(RESOURCE_CATEGORY.EFFECT_ACTION, dataActionMine.actionEffectName1); CacheEffect(RESOURCE_CATEGORY.EFFECT_ACTION, dataActionMine.actionEffectName2); } } }