본문 바로가기
유니티/C#

8. C# 기초 수업 -8

by 찡사랑방 2023. 3. 29.
728x90
728x90

8 번째 수업 필기

 

 

일반화 ->제네릭(generic) -> 메소드, 클래스 -> 중복방지   

<> -> 제네릭
using System.Collections; 
using System.Diagnostics; 

class MyClass<T> 
{ 
    T[] array; 
    string name; 
    float speed; 
} 

internal class Program 
{ 
    private static void Main(string[] args) 
    { 
        MyClass<int> array_Int = new MyClass<int>(); 
        MyClass<float> array_Float = new MyClass<float>(); 

        ArrayList list = new ArrayList(); 
        list.Add(10); 
        list.Add(3.5f); 
        list.Add("abc"); 



        List<int> itemList = new List<int>() { 1, 2, 3 }; 
        itemList.Add(4); 
        //itemList.Add(3.5f); //int만 가능 해서 안댐 
        itemList.Insert(0, 0); 
        itemList.RemoveAt(0); 
        itemList.Remove(4); 

        Dictionary<String, string> students 
            = new Dictionary<String, string>(); 
        students["user1"] = "ab1234"; 
        students["user2"] = "1234ba"; 
        string password = students["user1"]; 
         
    }

---------------------------------------------------------------------------- 

 

1.Delegate -> 대리자 -> 변수 ->값(X), 메소드 저장

 

    //델리게이트 -> 사용자 정의 자료형 -> 메소드를 저장가능 -> 변수선언(대리자) 
    //콜백기능 -> 다른 메소드의 매개변수로 델리게이트 선언 

    public delegate void OnPlayerDead();   // -> 자료형 
    public OnPlayerDead onPlayerDead;      // -> 

    public Action onPlayerDead;

 

대문자 갈색 - 메소드 () 적어주기

대문자 하늘색 - 점찍기 . 

 

2.

private void Awake() //초기값 -> 1회만 실행 , 스크립트가 비활성화여도 호출 
    { 
        print("Awake"); 
    } 

    private void OnEnable() //초기값, 이벤트, 활성시마다 반복실행(유일함) 

    { 
        print("OnEnable"); 
        player = GameObject.Find("Player").GetComponent<PlayerMove>(); // -> 위아래 같음  
        player = FindObjectOfType<PlayerMove>();                       // -> 같음 
        player.onPlayerDead += PlayerDead; 
    } 

    void Start() //초기값 
    { 
        myRenderer = GetComponent<SpriteRenderer>(); 
    }
728x90

'유니티 > C#' 카테고리의 다른 글

10. 간단한 로그라이크 게임 만들기 Start  (0) 2023.03.31
9. C# 기초 수업 -9  (0) 2023.03.30
7. C# 기초 수업 -7  (0) 2023.03.28
6. C# 기초 수업 -6  (0) 2023.03.27
5. C# 기초 수업 -5  (0) 2023.03.24