private void OnEffect(string eftname) { if (eftname == "lightning") { for (int i = 0; i < 9; i++) { Xffect component = EffectCache.GetObject(eftname).GetComponent <Xffect>(); Vector3 zero = Vector3.zero; zero.x = Random.Range(-2.2f, 2.3f); zero.z = Random.Range(-2.1f, 2.1f); component.SetEmitPosition(zero); component.Active(); } } else if (eftname == "cyclone") { Xffect component = EffectCache.GetObject(eftname).GetComponent <Xffect>(); component.SetDirectionAxis(GetFaceDirection().normalized); component.Active(); } else if (eftname == "crystal") { Xffect component = EffectCache.GetObject("crystal_surround").GetComponent <Xffect>(); component.Active(); component = EffectCache.GetObject("crystal").GetComponent <Xffect>(); component.SetEmitPosition(new Vector3(0f, 1.9f, 1.4f)); component.Active(); component = EffectCache.GetObject("crystal_lightn").GetComponent <Xffect>(); component.SetDirectionAxis(new Vector3(-1.5f, 1.8f, 0f)); component.Active(); component = EffectCache.GetObject("crystal").GetComponent <Xffect>(); component.SetEmitPosition(new Vector3(0f, 1.5f, -1.2f)); component.Active(); component = EffectCache.GetObject("crystal_lightn").GetComponent <Xffect>(); component.SetDirectionAxis(new Vector3(1.4f, 1.4f, 0f)); component.Active(); } else { Xffect component = EffectCache.GetObject(eftname).GetComponent <Xffect>(); component.Active(); } }