๋ฌธ์ ์ ์ํฉ
: Bounds์ ๋น์ทํ ํ์์ผ๋ก Min, Max Vector2๋ฅผ ๋ ๊ฐ ๊ฐ๋ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ์ถ์ด์ struct ํ์ ์ MovableArea๋ฅผ ์ ์ธ, min ๋ณ์์ ๊ฐ์ ๋ฃ์ผ๋ ค ํ์ ์๋ฌ ๋ฐ์
public struct MoveableArea
{
public Vector2 min { get; set; }
public Vector2 max { get; set; }
}
public class MovingArea : Singleton<MovingArea>
{
MoveableArea MoveableArea;
private void Start()
{
MoveableArea.min.x = -GameManager.Instance.ScreenRectInWorldSpace.x;
}
}
์์ธ
: get ํ๋กํผํฐ๋ก ์ป์ด์จ min์ ๋ณต์ฌ๋ณธ์ธ๋ฐ ๊ทธ ๋ณต์ฌ๋ณธ์ ์์ ํ๋ ค๊ณ ํด์ ๋ฐ์ํ ๋ฌธ์
ํด๊ฒฐ
public struct MoveableArea
{
public Vector2 min;
public Vector2 max;
}
: get, set ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ทธ๋ฅ Vector2 ์ผ๋ฐ ๋ณ์๋ก ์ ์ธํ๋ฉด ๋จ
+
์๋ ๋น์ฐํ ์ ๋๋ ๋ฌธ์ ์๊ณ (^-^;;), MSDN์์ ์ดํด๋ณธ ์ผ๋ฐ์ ์ธ CS1612์ ์ค๋ฅ ์ํฉ์ ์ด๋ ๋ค.
๋ฌธ์ ์ ์ํฉ
: ๊ตฌ์กฐ์ฒด ๋ฆฌ์คํธ์ ์์์ ๊ฐ์ ์ง์ ์์ ์๋
List<myStruct> list = {…};
list[0].Name = "MyStruct42"; //CS1612
์์ธ
: ๊ตฌ์กฐ์ฒด๋ฅผ ๋ด์ ๋ฆฌ์คํธ์์ [0]๊ณผ ๊ฐ์ด ์ธ๋ฑ์๋ก ์ ๊ทผํ๋ ๊ฒฝ์ฐ ๊ตฌ์กฐ์ฒด๋ ๊ฐ ํ์์ด๋ฏ๋ก ๋ค๋ฅธ ํด๋์ค๋ค์ฒ๋ผ ์ฐธ์กฐ ๊ฐ์ด ์ฃผ์ด์ง๋ ๊ฒ์ด ์๋๋ผ ๋ณต์ฌ๋ณธ์ด ์ฃผ์ด์ง๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๋ณต์ฌ๋ณธ์ ์ค์ ๋ก๋ ๊ฐ์ด ์๋๋ผ ๋ฉ์๋์ด๋ค.
class SampleCollection<T>
{
private T[] arr = new T[100];
public T this[int i]
{
get { return arr[i]; } // ์ด๋ ๊ฒ!
set { arr[i] = value; }
}
}
์ธ๋ฑ์๋ก ์ ๊ทผํ ๊ฒฐ๊ณผ๋ฌผ์ ์ฌ์ค get ํ๋กํผํฐ๋ฅผ ํตํ return์ด๋ฏ๋ก ์ง์ ์์ ํ ์ ์๋ ๊ฒ.
ํด๊ฒฐ
List<myStruct> list = {…};
MyStruct ms = list[0];
ms.Name = "MyStruct42";
list[0] = ms;
: ๋ฆฌ์คํธ์ ์์๊ฐ ๋ ์ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ง๋ค์ด์ ์์์ ๊ฐ์ ๊น์ ๋ณต์ฌํ ๋ค์, ๊ทธ ๊ตฌ์กฐ์ฒด์ ๊ฐ์ ๋ณ๊ฒฝํ์ฌ ๋ค์ ๋ฆฌ์คํธ์ ๋ฃ์ด์ฃผ๊ธฐ
์ฐธ์กฐ
https://learn.microsoft.com/ko-kr/dotnet/csharp/programming-guide/indexers/
'C#' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
enum ๊ฐ์ ๊ตฌํ๊ธฐ (0) | 2022.12.12 |
---|---|
C# ์ต์์๋ฌธ: Main ์์ด ๋ฐ๋ก ์คํํ๊ธฐ (0) | 2022.11.22 |
for๋ฌธ์์ List ์์๋ฅผ ์ญ์ ํ ๋ ์ ์ํ ์ (0) | 2022.11.17 |
๋๊ธ