2016-11-23 5 views
0

MonoGame을 사용 중이며 XML을 사용하여 일부 텍스처에 일부 메타 데이터를 첨부하고 싶습니다. 다음 클래스를 만들었습니다.MonoGame은 XML에서 같은 프로젝트의 유형을 사용합니다.

public class TextureData 
    { 
     public float FrameWidth; 
     public float FrameHeight; 
    } 

이제 콘텐츠 파이프 라인에 XML을 만들고로드하려고합니다. 나는 다음과 같은 XML 작성 시도 :

<?xml version="1.0" encoding="utf-8"?> 
<XnaContent xmlns:ns="Microsoft.Xna.Framework"> 

    <Asset Type="TextureData"> 
    <FrameWidth>0.2</FrameWidth> 
    <FrameHeight>0.2</FrameHeight> 
    </Asset> 

</XnaContent> 

을 그리고 다음과 같은 오류 있어요 :

error : Importer 'XmlImporter' had unexpected failure! 
1> Microsoft.Xna.Framework.Content.Pipeline.InvalidContentException: Could not resolve type 'TextureData'. 

좀 자습서를 읽어을하고 사용자 정의 형식을 사용할 때마다 그들 모두에 그들은 외부 DLL 참조에서 가져 그것. 그래서 클래스를 외부 DLL로 옮기고 거기에서 사용하려고 노력했습니다. 그러나 그것은 XML에서 클래스를 참조하기 위해 내 원래 프로젝트 내에서 전체 클래스 라이브러리를 작성하는 것이 매우 성가시다.

내 질문은 다음과 같습니다. XML 내에서 MonoGame 프로젝트 자체의 사용자 정의 유형을 사용할 수 있습니까? 함유량? 예를 들어 외부 dll없이 참조 할 수 있습니까?

감사!

+1

하나의 중앙 게임 프로젝트를 몇 개로 분리하는 것은 지저분하지 않습니다. 내 게임에는 "이 게임에 고유하지 않은 것은 무엇이며 다른 게임에서 사용할 수 있습니까?"라는 아이디어를 바탕으로 만들어진 Engine.csproj가 있습니다. 약 6 개의 콘텐츠 파이프 라인 확장을 사용하며 Engine 프로젝트는 매우 유용합니다. – Jarryd

+0

@ Jarryd 나는 당신의 경우에는 전혀 지저분하지 않다고 동의하지만, 나는 DLL로 제공되는 GUI 라이브러리를 작성하고있다. 그래서 이제 하나의 dll + content 대신에 2 dlls + content + 중 하나에 대한 참조를 추가해야한다. DLL. –

답변

0

소스에서 MonoGame을 컴파일 할 수 있지만 UI 프로젝트와 동일한 프로젝트에 포함시킬 수 있습니다. 어쩌면 Vector2와 Point 등 필요한 유형을 잡을 수 있습니다.

+0

안녕하세요 Jarryd, 제 질문은 특별히 ** 외부 dll **이없고 ** 굵게 표시됩니다. :) 어쨌든 나는 이미 MG 포럼에서 내용 작성 프로세스로 인해 불가능하다는 것을 이해했습니다. 나는 그것이 실제로 질문을 다루지 않고 유용한 데이터를 추가하지 않기 때문에 귀하의 답변을 그대로 받아 들일 수 없습니다. 그러나 조금 향상 시키려면 받아 들여 upvote 해 드리겠습니다. –