public void Initialize(PowerupTypeDefinition typeDef, Vector2 position) { TypeDefinition = typeDef; gameObject.transform.position = position; GetComponent <Rigidbody2D>().AddForce(Vector2.down * 2.0f, ForceMode2D.Impulse); GetComponent <Rigidbody2D>().AddTorque(3.0f, ForceMode2D.Impulse); gameObject.GetComponent <SpriteRenderer>().sprite = TypeDefinition.Sprite; }
private void GenerateTypeMap() { //this is all throwaway code //this would be much better suited in data rather than hard-coded if (typeDefinitionMap.Count == 0) { float runningOdds = 0.0f; { var powerup = new PowerupTypeDefinition(); powerup.PowerupType = PowerupType.Health; powerup.Sprite = healthSprite; powerup.OnCollectMethod = OnCollectHealth; powerup.OddsOfSpawning = 15; runningOdds += (powerup.OddsOfSpawning / 100.0f); typeDefinitionMap.Add(new KeyValuePair <float, PowerupTypeDefinition>(runningOdds, powerup)); } { var powerup = new PowerupTypeDefinition(); powerup.PowerupType = PowerupType.ExtraLife; powerup.Sprite = extraLifeSprite; powerup.OnCollectMethod = OnExtraLife; powerup.OddsOfSpawning = 6; runningOdds += (powerup.OddsOfSpawning / 100.0f); typeDefinitionMap.Add(new KeyValuePair <float, PowerupTypeDefinition>(runningOdds, powerup)); } { var powerup = new PowerupTypeDefinition(); powerup.PowerupType = PowerupType.MachineGun; powerup.Sprite = machineGunSprite; powerup.OnCollectMethod = OnCollectMachineGun; powerup.OddsOfSpawning = 10; runningOdds += (powerup.OddsOfSpawning / 100.0f); typeDefinitionMap.Add(new KeyValuePair <float, PowerupTypeDefinition>(runningOdds, powerup)); } { var powerup = new PowerupTypeDefinition(); powerup.PowerupType = PowerupType.SpreadGun; powerup.Sprite = spreadGunSprite; powerup.OnCollectMethod = OnCollectSpreadGun; powerup.OddsOfSpawning = 10; runningOdds += (powerup.OddsOfSpawning / 100.0f); typeDefinitionMap.Add(new KeyValuePair <float, PowerupTypeDefinition>(runningOdds, powerup)); } } }