// Use this for initialization void Start() { player = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerController>(); BB = GetComponentInParent <BouncingBullet>(); damage = 2.9f * player.playerDamageMultiplier; UID = "BouncingBastard" + UnityEngine.Random.value.ToString(); hitbox = GetComponent <CircleCollider2D>(); }
public static Projectile CreateProjectile(Dictionary <string, object> projectileProperties) { Projectile projectile = null; string textureName = (string)projectileProperties["textureName"]; Texture2D texture = TextureFactory.GetTexture(textureName); string colorName = (string)projectileProperties["color"]; Color color = System.Drawing.Color.FromName(colorName).ToXNA(); MovementPattern movement = MovementPatternFactory.CreateMovementPattern((Dictionary <string, object>)projectileProperties["movementPattern"]); int damage = Convert.ToInt32((float)projectileProperties["damage"]); switch (projectileProperties["projectileType"]) { case "bullet": projectile = new Bullet(texture, color, movement, damage); break; case "bouncingBullet": projectile = new BouncingBullet(texture, color, movement, damage); break; case "bounceBullet": int numberOfTimesToBounce = (int)projectileProperties["bounceTimes"]; projectile = new BounceBullet(texture, color, movement, damage, numberOfTimesToBounce); break; case "pushBullet": projectile = new PushBullet(texture, color, movement, damage); break; default: throw new Exception("Invalid Projectile Type"); } return(projectile); }