Advertisement
Guest User

Untitled

a guest
Feb 12th, 2023
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.03 KB | None | 0 0
  1. Говно (ошибка ):
  2. Dictionary <int, Projectile> ProjectileTypes { get; set; }
  3. public int CurrentProjectileId { get; set; }
  4.  
  5. public override void _Ready()
  6. {
  7.     ProjectileTypes = new Dictionary<int, Projectile>()
  8.         {
  9.             {1, (Fireball)FireballScene.Instantiate()},
  10.             {2, (Iceball)IceballScene.Instantiate()}
  11.         };
  12.     CurrentProjectileId = 1;
  13.     Shoot();
  14. }
  15.  
  16. public void Shoot()
  17. {
  18. //Когда стреляю второй раз одним и тем же прожектайлом - Unable to cast object of type 'Godot.GodotObject' to type 'Game.Models.Projectile'.
  19.     Projectile projectileInstance = ProjectileTypes[CurrentProjectileId];
  20.     projectileInstance.DoSomething();
  21. }
  22.  
  23. Норм:
  24. public void Shoot()
  25. {
  26.     Projectile projectileInstance = null;
  27.         switch (CurrentProjectileId)
  28.         {
  29.             case 1:
  30.                 projectileInstance = (Fireball)FireballScene.Instantiate();
  31.                 break;
  32.             case 2:
  33.                 projectileInstance = (Iceball)IceballScene.Instantiate();
  34.                 break;
  35.             default:
  36.                 break;
  37.         }
  38.     projectileInstance.DoSomething();
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement