public static ReplaceEquipmentInfo GetReplaceEquipmentInfo(this EquipmentCollectData equipmentCollectData) { if (equipmentCollectData != null) { EquipmentConfigId equipmentConfigId = equipmentCollectData.EquipmentConfigId; return(new ReplaceEquipmentInfo(equipmentConfigId.VisualId, equipmentConfigId.Rarity)); } return(new ReplaceEquipmentInfo()); }
public ChangeWeaponMaterialLogic(VfxAction.ChangeWeaponMaterialVfx config, float timeToLive, Character caster, Environment environment) { this.config = config; this.timeToLive = timeToLive; this.caster = caster; this.environment = environment; Entity entity = caster.GameObject().GetComponent <EntityReference>().Entity; CustomizeVisualComponent cvc = entity.GetComponent <CustomizeVisualComponent>(); EquipmentCollectData equipmentCollectData = cvc.EquipmentCollectData; if (equipmentCollectData == null) { material = environment.FindDefaultMaterialById( caster.CharacterId(), config.id ); } else { material = environment.FindMaterialById( caster.CharacterId(), equipmentCollectData.EquipmentConfigId.VisualId, config.id ); } if (material == null) { Interrupt(); return; } EntityGameObjectComponent egoc = entity .GetComponent <EntityGameObjectComponent>(); affectedRenderer = ((GameObjectComponent)egoc).WeaponRenderer; if (material != null) { originalMaterials = new SsarTuple <Material, Material[]>(affectedRenderer.material, affectedRenderer.materials); affectedRenderer.material = material; List <Material> materials = new List <Material>(); materials.Add(material); for (int kIndex = 0; kIndex < config.valueModifiers.Count; kIndex++) { VfxAction.MaterialValueModifier mvm = config.valueModifiers[kIndex]; valueModifiers.Add(new ValueModifier(mvm, materials)); } for (int kIndex = 0; kIndex < config.colorModifiers.Count; kIndex++) { VfxAction.MaterialColorModifier mcm = config.colorModifiers[kIndex]; colorModifiers.Add(new ColorModifier(mcm, materials)); } } }
public static ReplaceEquipmentInfo GetReplaceEquipmentInfo(this MainCharacterData mainCharacterData, EquipmentType equipmentType) { EquipmentCollectData equipmentCollectData = mainCharacterData.InventoryData.GetEquipment(mainCharacterData .PresetData(Preset.Pve).GetEquippedEquipmentCollectId(equipmentType).ToEquipmentCollectId()); if (equipmentCollectData != null) { EquipmentConfigId equipmentConfigId = equipmentCollectData.EquipmentConfigId; return(new ReplaceEquipmentInfo(equipmentConfigId.VisualId, equipmentConfigId.Rarity)); } return(new ReplaceEquipmentInfo()); }