public GameObject SpawnCannedOnPlayer(CannedEffect can, Player player, Player other) { GameObject obj = Instantiate(prefabs[can.effect]); obj.transform.parent = player.transform; obj.transform.localPosition = can.pos; obj.transform.localPosition *= new Vector2(1, player.right_facing ? 1 : -1); obj.transform.localRotation = player.right_facing ? Quaternion.identity : Quaternion.Euler(0f, 0f, 180f); obj.transform.localScale = can.scale; activeEffects.Add(obj); return(obj); }
public GameObject SpawnEffectOnPlayer(string effect_name, Player player, Player other) { Debug.Log(effect_name); if (effect_name == "beam") { float start = player.right_facing ? 1f : -1f; float end = (other.transform.position - player.transform.position).x; float center = (start + end) / 2; float xscale = Mathf.Abs(end - start) * 20; CannedEffect can = new CannedEffect(Effect.Fireball, new Vector2(center, 0), new Vector2(xscale, 3) / player.transform.localScale); return(SpawnCannedOnPlayer(can, player, other)); } return(SpawnCannedOnPlayer(vfxLibrary[effect_name], player, other)); }