private void LateUpdate() { if (targeting) { float targetAngle = CalcAim(); float clamp = maxAimSpeed * Mathf.Deg2Rad * Time.deltaTime; float changeAngle = Mathf.Clamp(targetAngle - currentAim, -clamp, clamp); currentAim += changeAngle; } if (targeting || holding) { Vector3 p = AimPoint.position; float xPos = Mathf.Cos(currentAim) * aimDist; float yPos = Mathf.Sin(currentAim) * aimDist; Vector3 test = new Vector3(p.x + xPos, p.y + yPos, 0); animationTargeter.position = test; } if (attatchedEffects.Count > 0) { for (int i = attatchedEffects.Count - 1; i >= 0; i--) { VisualEffects.IVisualEffect e = attatchedEffects[i]; if (!e.Equals(null)) { e.EffectUpdate(); } } } }
public void SpawnAndAttatchEffect(GameObject prefab) { if (prefab.GetComponentInChildren <VisualEffects.IVisualEffect>() != null) { GameObject obj = Instantiate(prefab); VisualEffects.IVisualEffect attatch = (VisualEffects.IVisualEffect)obj.GetComponent <VisualEffects.IVisualEffect>(); AttatchVisualEffect(attatch); } }
public void SpawnAndAttatchEffectAE(AnimationEvent animationEvent) { if (animationEvent.objectReferenceParameter != null && animationEvent.objectReferenceParameter is GameObject && ((GameObject)animationEvent.objectReferenceParameter).GetComponentInChildren <VisualEffects.IVisualEffect>() != null) { GameObject obj = Instantiate(((GameObject)animationEvent.objectReferenceParameter), aimingPoints[animationEvent.intParameter]); VisualEffects.IVisualEffect attatch = (VisualEffects.IVisualEffect)obj.GetComponent <VisualEffects.IVisualEffect>(); AttatchVisualEffect(attatch); } }
public void DetatchVisualEffect(VisualEffects.IVisualEffect visualEffect) { attatchedEffects.Remove(visualEffect); }
public void AttatchVisualEffect(VisualEffects.IVisualEffect visualEffect) { VisualEffects.IVisualEffect ve = (VisualEffects.IVisualEffect)visualEffect; attatchedEffects.Add(ve); }