- Program
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ramda5
{
internal class Program
{
static void Main(string[] args)
{
new App();
}
}
}
- App
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ramda5
{
public class App
{
//생성자
public App()
{
Console.WriteLine("람다5 생성자 실행");
ToggleButton toggleButton = new ToggleButton();
toggleButton.Push((status) => { //람다에 넣을 매개변수 status
Console.WriteLine(status); //Status 열거형식 (맴버 : On, Off)
});
}
}
}
- ToggleButton
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ramda5
{
public class ToggleButton
{
public enum Status
{
On,
Off
}
//맴버 변수
public Action<Status> action;
public Status status;
//생성자
public ToggleButton()
{
Console.WriteLine("토글 버튼 생성자 실행");
status = Status.Off; // 꺼진 상태로 시작
Console.WriteLine($"지금 불은 {status}");
}
public void Push(Action<Status> action)
{
if (this.status == Status.On)
{
action(Status.Off);
Console.WriteLine("버튼 온 -> 오프됨");
this.status = Status.Off;
}
else
{
action(Status.On);
Console.WriteLine("버튼 오프 -> 온됨");
this.status = Status.On;
}
}
}
}
'게임 알고리즘' 카테고리의 다른 글
영원히 업데이트 될 오류 모음 (0) | 2024.08.20 |
---|---|
구조체, 스택, 힙, 값 형식, 참조 형식 (0) | 2024.08.19 |
Action_아이템 강화 (0) | 2024.08.19 |
Action_마린이 맞아 죽음 (0) | 2024.08.19 |
Action_버튼 누르기 (0) | 2024.08.19 |