Я делаю небольшую игру XNA, и для смены карт у меня есть «порталы», я храню информацию об этих порталах в файле XML.
<?xml version="1.0" encoding="utf-8"?>
<XnaContent>
<Asset Type ="Vars.Portals[]">
<Item>
<Position>319</Position>
<Destination>Map002</Destination>
</Item>
<Item>
<Position>139</Position>
<Destination>Map001</Destination>
</Item>
<Item>
<Position>319</Position>
<Destination>Map001</Destination>
</Item>
</Asset>
</XnaContent>
в файле Game1.cs, который я объявил "порталом" как переменную
Portals[] portal;
и затем в области loadContent загрузили файл XML в портал.
portal = Content.Load<Portals[]>("Portals/Test");
К сожалению, это где моя проблема возникает, так как, когда я пытаюсь использовать
portal[].position
с любым числом в [] мне дают то же значение, которое является последним значением в моем списке. Я посмотрел на все значения во время работы с визуальными основами, и все они кажутся одинаковыми. Есть что-то очевидное, что я здесь упускаю. Я новичок в использовании XML. Данные хранятся в моем пространстве имен Vars.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Vars
{
public class Portals
{
#region Position
private static int StorePosition = 0;
public int Position
{
get { return StorePosition; }
set { StorePosition = value; }
}
#endregion
#region Destination
private static string StoreDestination = "";
public string Destination
{
get { return StoreDestination; }
set { StoreDestination = value; }
}
#endregion
}
}