• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

GameObject에 작성한 PosInfo, Stat 프로퍼티에 궁금한 게 생겼습니다.

23.07.19 02:42 작성 조회수 228

0

선생님께서 작성하신 GameObject.cs 코드에 이런 부분이 있었습니다.

		public ObjectInfo Info { get; set; } = new ObjectInfo();
		public PositionInfo PosInfo { get; private set; } = new PositionInfo();
		public StatInfo Stat { get; private set; } = new StatInfo();


		public GameObject()
		{
                        // 링크를 이어준다
			Info.PosInfo = PosInfo;
			Info.StatInfo = Stat;
		}

 

근데 위 생성자에서 저 '링크'를 이어줬는데 그 후로

Info.PosInfo = new PositionInfo();

라는 코드를 부주의로 실행시킨다면 링크가 깨지지 않나요?

그 후로는 PosInfo.PosX = 0;

같은 걸 실행해도 PosInfo와 Info.PoInfo는 별개이니 게임오브젝트에 적용이 안 될 것 같은데

이렇게 이해하고 있는데 이게 맞는지 궁금합니다.

그리고 아래처럼 고친다면 이 링크 깨짐 문제가 해결되는지 궁금합니다.

 


        public ObjectInfo Info { get; set; } = new ObjectInfo()
        {
            // 이걸 안 하고 쓰면 크래시가 난다
            PosInfo = new PositionInfo(),
            StatInfo = new StatInfo()
        };

	public PositionInfo PosInfo
	{
		get { return Info.PosInfo; }
		set { Info.PosInfo = value; }
	}

	public StatInfo Stat
	{
		get { return Info.StatInfo; }
		set { Info.StatInfo = value; }
	}

 

 

답변 1

답변을 작성해보세요.

1

네 이런 부분들은 창의적으로 본인의 스타일대로 해주시면 됩니다.