foreach
ループに問題があり、List<T>
foreach (DefenceTerminal defence in DefenceManager.defenceCollection)
{
defence.ReadNetworkPacket(packetReader);
//this is a very simple function that just sets defence.damage = to whatever
//it properly sends the value and sets it
//defence.damage is a int
}
ループを離れると、値が...消えます。(変更に失敗します)
ループが終了すると、すべての値は変更されません
リストは同様の方法で更新時にアクセスされます。
代わりにループも使用したので、他の何よりも問題for
だと思います。List<T>
ただし、リストを使用し続けることをお勧めします。提案?
そして、これは非常に単純な機能が必要な人のための非常に単純な機能です
public void ReadNetworkPacket(PacketReader packetReader)
{
damage = packetReader.ReadInt32();
}
IT は機能しますが、リストとループは機能しません。
繰り返しますが、ループ内ではすべてが正常に機能します。何度もチェックしましたが、うまくいきません...独自の小さな個人的なリストを作成して混乱させ、完了後にドロップするように、これは役に立たない場合に役立ちますリストを更新しようとしています。リストと関係があるのは奇妙な特異性だと思います。
その他のがらくた:
public static List<DefenceTerminal> defenceCollection = new List<DefenceTerminal>();
for (int i = 0; i < factionCount; i++)
{
DefenceTerminal d = new DefenceTerminal();
for (int j = 0; j < defenceLimit; j++)
{
defenceCollection.Add(d);
}
}