private void UpdateSpeed(RFX1_EffectAnimatorProperty effect) { oldSpeed = Speed; //var projectile = effect.CurrentInstance.GetComponent<RFX1_EffectSettingProjectile>(); //if (projectile == null) projectile = effect.CurrentInstance.AddComponent<RFX1_EffectSettingProjectile>(); //projectile.SpeedMultiplier *= Speed; }
void InstantiateEffect(RFX1_EffectAnimatorProperty effect) { if (effect.Prefab == null) { return; } effect.CurrentInstance = Instantiate(effect.Prefab, effect.BonePosition.position, effect.BoneRotation.rotation); if (HUE > -0.9f) { UpdateColor(effect); } if (Speed > -0.9f) { UpdateSpeed(effect); } if (Target != null) { var target = effect.CurrentInstance.GetComponent <RFX1_Target>(); if (target != null) { target.Target = Target; } } if (effect.DestroyTime > 0.001f) { Destroy(effect.CurrentInstance, effect.DestroyTime); } }
private void UpdateColor(RFX1_EffectAnimatorProperty effect) { oldHUE = HUE; var settingColor = effect.CurrentInstance.GetComponent <RFX1_EffectSettingColor>(); if (settingColor == null) { settingColor = effect.CurrentInstance.AddComponent <RFX1_EffectSettingColor>(); } var hsv = RFX1_ColorHelper.ColorToHSV(settingColor.Color); hsv.H = HUE; settingColor.Color = RFX1_ColorHelper.HSVToColor(hsv); }
void UpdateInstance(RFX1_EffectAnimatorProperty effect) { if (effect.CurrentInstance != null && effect.BonePosition != null) { effect.CurrentInstance.transform.position = effect.BonePosition.position; if (HUE > -0.9f && Mathf.Abs(oldHUE - HUE) > 0.001f) { UpdateColor(effect); } if (Speed > -0.9f && Mathf.Abs(oldSpeed - Speed) > 0.001f) { UpdateSpeed(effect); } } }