Quantcast
Channel: Forum - Space-Engineers.de
Viewing all articles
Browse latest Browse all 555

Rollin'Stones - es funktioniert zwar, ABER...

$
0
0
...etwas hab' ich noch nicht gerafft.

Um zu prüfen, ob mein Steinauswurf an der Basis auch alles Geröll aus dem Inventar entfernt hat,
hab' ich mir diese kleine Funktion gebastelt:

C#-Quellcode

  1. float GetStones ()
  2. { // ermittelt die Menge der eingelagerten Steine
  3. float STONES = 0; // Default Rückgabewert
  4. var INVENTORY = new List <IMyTerminalBlock> ();
  5. GridTerminalSystem.GetBlocksOfType <IMyInventoryOwner> (INVENTORY);
  6. for (int Z = 0; Z < INVENTORY.Count; Z++)
  7. {
  8. for (int Y = 0; Y < (
  9. (
  10. INVENTORY [Z].GetInventory (0)
  11. ).GetItems ()
  12. ).Count; Y++)
  13. {
  14. if (
  15. (
  16. (
  17. INVENTORY [Z].GetInventory (0)
  18. ).GetItems () [Y]
  19. ).Content.TypeId.ToString ().Split ('_') [1] == "Ore"
  20. )
  21. {
  22. if (
  23. (
  24. (
  25. INVENTORY [Z].GetInventory (0)
  26. ).GetItems () [Y]
  27. ).Content.SubtypeName == "Stone"
  28. )
  29. {
  30. STONES += (float)
  31. (
  32. (
  33. INVENTORY [Z].GetInventory (0)
  34. ).GetItems () [Y]
  35. ).Amount;
  36. }
  37. }
  38. }
  39. }
  40. return STONES;
  41. }
Alles anzeigen

Funktioniert auch so, aber ich dachte eigentlich,
dass das Casten von (IMyInventoryOwner) bei der IMyTerminalBlock-Schnittstelle (?)
inzwischen nicht mehr notwendig wäre - oder etwa doch?

Zuvor wollte ich die Abfrage in Zeile 8 mit "GridTerminalSystem.GetBlocks ()..." erledigen,
was zwar problemlos kompiliert - aber einen Fehler beim ausführen geliefert hat.

Soviel ich noch in Erinnerung habe, ist er bei den Timerblöcken hängengeblieben...
Okay, diese haben natürlich kein Inventar,
aber warum wird dann bei der Abfrage mit "...GetItems () [Y]).Amount;"
nicht einfach 0 zurückgegeben, wie bei den anderen Blöcken ohne Inventar auch?

*irritiert bin* :S

Wahrscheinlich ist meine Frage selten dämlich und ich seh' den Wald vor lauter Bäumen nich' ...
Kann mich da jemand aus meinen Irrungen befreien?

space-engineers.de/index.php/A…78215c37593dab8319a09bb14

Viewing all articles
Browse latest Browse all 555