2011-12-03 5 views
2

작은 XNA 게임을 만들고 "포털"이있는 맵을 변경하려면이 포털에 대한 정보를 XML 파일에 저장했습니다. 은 Game1.cs에서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> 

은 내가 변수

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 

    } 
} 

답변

5

물론 같은 값을 얻고 있습니다. 속성에서 정적 필드를 백업 저장소로 사용하고 있습니다. 정적 멤버는 클래스의 모든 인스턴스에서 공유됩니다.

+0

간단 할 것입니다. 고마워. –

관련 문제