public CameraShakeEffect(CameraShakeEffect _other) { m_shakeDuration = _other.m_shakeDuration; m_shakeAmount = _other.m_shakeAmount; m_decreaseFactor = _other.m_decreaseFactor; m_sphereShake = _other.m_sphereShake; }
public CameraShakeEffect ShakeEffect(string prefabName, Vector3 pos, float strength = 1, float max_strength = 20, float delayTime = 0, float lifeTime = 5) { CameraShakeEffect se = m_Controller.AddEffect(prefabName) as CameraShakeEffect; se.m_Multiplier = Mathf.Clamp(strength * 150 / (pos - camPosition).sqrMagnitude, 0, max_strength); se.Invoke("Shake", delayTime); DestroyTimer dt = se.GetComponent <DestroyTimer>(); dt.m_LifeTime = lifeTime; return(se); }
void Awake() { if (camse == null) { camse = this; DontDestroyOnLoad(camse); } else { Destroy(gameObject); } if (mainCamera == null) { mainCamera = Camera.main; } }
private void Awake() { canvasGroup = GetComponent <CanvasGroup>(); shakeEffect = GetComponent <CameraShakeEffect>(); startEffect = Find <Image>("startEffect"); startButton = Find <Button>("Info/startButton"); startButton.onClick.AddListener(StartClick); //dailyTaskButton = Find<Button>("LeftButtons/dailyTaskButton"); //dailyTaskButton.onClick.AddListener(DailyTaskClick); trophiesButton = Find <Button>("LeftButtons/trophiesButton"); trophiesButton.onClick.AddListener(TrophiesClick); //equipItemButton = Find<Button>("LeftButtons/equipItemButton"); //equipItemButton.onClick.AddListener(EquipItemClick); canvasGroup.alpha = 0f; this.gameObject.SetActive(false); this.startEffect.gameObject.SetActive(false); }
void Update() { if (m_currentShake != null && m_currentShake.m_shakeDuration > 0.0f) { if (m_currentShake.m_sphereShake) { camTransform.position += Random.insideUnitSphere * m_currentShake.m_shakeAmount; } else { camTransform.position += Vector3.up * Random.Range(-1.0f, 1.0f) * m_currentShake.m_shakeAmount; } m_currentShake.m_shakeDuration -= Time.deltaTime * m_currentShake.m_decreaseFactor; } else { m_currentShake = null; } }
override public void ShowGUI (List<ActionParameter> parameters) { shakeIntensityParameterID = Action.ChooseParameterGUI ("Intensity:", parameters, shakeIntensityParameterID, ParameterType.Integer); if (shakeIntensityParameterID < 0) { shakeIntensity = EditorGUILayout.IntField ("Intensity:", shakeIntensity); } durationParameterID = Action.ChooseParameterGUI ("Duration (s):", parameters, durationParameterID, ParameterType.Float); if (durationParameterID < 0) { duration = EditorGUILayout.FloatField ("Duration (s):", duration); } cameraShakeEffect = (CameraShakeEffect) EditorGUILayout.EnumPopup ("Shake effect:", cameraShakeEffect); willWait = EditorGUILayout.Toggle ("Wait until finish?", willWait); AfterRunningOption (); }
// Update is called once per frame void Update() { if (GameManager.IsTimePause()) { m_rigidbody.velocity = Vector3.zero; return; } //explosionPos = transform.position; //colliders = Physics.OverlapSphere(explosionPos, radius); if (!isStart) { return; } aliveTime -= Time.deltaTime; if (aliveTime <= 0) { if (!gameObject.GetComponent <Collider>().isTrigger) { Tools.PlayFollowingParticletByName("BoomEffect", transform); Tools.PlaySoundByName("boom", transform); gameObject.GetComponent <Collider>().isTrigger = true; gameObject.GetComponent <Renderer>().material.color = Color.yellow; } d = transform.localScale; transform.localScale = new Vector3(d.x * boomSpeed, d.y * boomSpeed, d.z * boomSpeed); CameraShakeEffect.shakeScreen(0.5f, 0.5f); if (d.x >= radius) { Destroy(gameObject); } } else if (aliveTime < 1.5f) { d = Random.Range(0.8f, 1.2f) * originScale; transform.localScale = new Vector3(d.x, d.y, d.z); changeColor.ColorA2BCir(gameObject.GetComponent <Renderer>().material, new Color(0.8f, 0, 0, 0.7f), Color.black, 10); } }
public void StartShake(CameraShakeEffect _effect) { m_currentShake = new CameraShakeEffect(_effect); }
public static void ShakeTime(CameraShakeEffect cse, float time, MonoBehaviour mb) { var ncse = new CameraShakeEffect(cse); ncse.Register(mb, time); }
public CameraShakeEffect(CameraShakeEffect cse) : base(cse) { shakePower = cse.shakePower; shakeSpeed = cse.shakeSpeed; }
void Start() { _instance = this; }
public override ExecState Evaluate() { CameraShakeEffect.ShakeTime(controller.shake, 0.5f, controller); return(ExecState.Success); }