이번엔 내부 코드로직부분이 많아서 눈으로 볼만한게 별로 없을거임


7cf3c028e2f206a26d81f6e64e867c68

우선 기존에 Node 하나로 퉁쳐놓은 부분을 BaseNode로 바꾸고 각각

InputNode

ConnectorNode

OutputNode

로 나눠줌.

Input은 graph의 시작점이 될 부분이기때문에 delete옵션을 비활성화 해줘야하고, Output은 어느 분기에서도 나갈수있도록 별도로 unique한 옵션을 주지않을거임.

Connector는 기존 Node와 동일한 기능을 가지게 된다.


BaseNode에서 적당히 상속해서 어느정도 잘 스까놓고



7ff3c028e2f206a26d81f6e445837465

다음으로는 기존 node에 이름을 달아줄수있는 textfield를 추가할것임.

주의할점은 이상태로 보면 안이쁘기때문에(중요) 마우스가 hover될때만 위 이미지처럼 포커스가 잡히게 만들어줌.



7ef3c028e2f206a26d81f6e44287716e

이런식으로 노드에 개별적으로 이름을 달아줄수있고



79f3c028e2f206a26d81f6e14f85706c

평상시에는 외관상 label처럼 보이게 됨.

이름을 아예 지정하지않을시에는 id값을 보여주도록 구현함.


기존 데이터셋은 대강 이런느낌이 된다.


78f3c028e2f206a26d81f6e24e837668

graph view쪽에도 해야할건 많지만 계속 미뤄두고있는 graph flow부분 로직을 집중적으로 작업함.

일일히 설명하긴 애매하니 궁금하면 직접 레포가서 봐도 무방할듯


사실 node에 상단부분 색상지정하는게 뭔가 이상한데

uss로 수정하면 색상변경이 적용이 안됨. 이유는 알수가없음. 내부 구조를 훑어봐도 감이 안잡힘.

아무튼 해당부분의 문제는 그냥 cs내부에서 backgroundColor를 바꿔주면 문제없이 적용된다.


혹시 uss를 사용하면서 유니티 플러그인을 개발하는 사람이라면 색상지정할때

https://www.foundations.unity.com/fundamentals/color-palette

Color Palette

A color palette is a combination of colors used by UI designers when creating interfaces in the Editor. A color palette forms the visual foundation of the user experience, helps maintain consistency, and helps users better navigate the user interface.

www.foundations.unity.com

이 사이트에서 variable name을 직접 참고해서 구현하면 light/dark 양방향으로 문제없이 지원할수있다.


한건 많은데 막상 적을건 없어서 아마 슬슬 일지올리는건 좀 뜸해질듯함.


해당 프로젝트는 오픈소스임.

https://github.com/dunward/Capricorn