Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Говно (ошибка ):
- Dictionary <int, Projectile> ProjectileTypes { get; set; }
- public int CurrentProjectileId { get; set; }
- public override void _Ready()
- {
- ProjectileTypes = new Dictionary<int, Projectile>()
- {
- {1, (Fireball)FireballScene.Instantiate()},
- {2, (Iceball)IceballScene.Instantiate()}
- };
- CurrentProjectileId = 1;
- Shoot();
- }
- public void Shoot()
- {
- //Когда стреляю второй раз одним и тем же прожектайлом - Unable to cast object of type 'Godot.GodotObject' to type 'Game.Models.Projectile'.
- Projectile projectileInstance = ProjectileTypes[CurrentProjectileId];
- projectileInstance.DoSomething();
- }
- Норм:
- public void Shoot()
- {
- Projectile projectileInstance = null;
- switch (CurrentProjectileId)
- {
- case 1:
- projectileInstance = (Fireball)FireballScene.Instantiate();
- break;
- case 2:
- projectileInstance = (Iceball)IceballScene.Instantiate();
- break;
- default:
- break;
- }
- projectileInstance.DoSomething();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement