2019년 6월 20일 목요일

유니티 delegate 응용(매개변수를 가진 함수 담아두기, 역 옵저버) ex) OnPostRender

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
하게된 이유
OnPostRender는 카메라 밑에 있어야만 가능함
원하는 GL들은 각각의 게임오브젝트가 들고있는상황
온포스트하는 카메라에서는
 public delegate void Draw();
    public static Draw Draws;
이런식으로 각각의 객체에서 오는 함수를 담을 delegate를 만들어놓고
각각의 오브젝트에서는
 private void Start()
    {
        Draw_GL_Line.Draws += LineDraw;
    }
public void LineDraw ()
    {
        //원하는 값을 담은 함수
        //값이 변경되더라도 적용됨 (crrentHeight,Red,currentHeight_StartPos);
        GL_Line_Draw(currentHeight, Red, currentHeight_StartPos);
    }
이런식으로 하면 카메라에서는
 Draws();
이것만 콜하면 모든 게임오브젝트에서 받은 함수를 한번에 콜 한다!
cs

댓글 없음:

댓글 쓰기

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...