반응형
1. 버튼을 눌르면 팝업창 뜨기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class Button
{
public delegate void OnClickBtton();
public OnClickBtton onClick;
public Button()
{
}
public void Click()
{
Console.WriteLine("[Button] 클릭을 하였습니다.");
this.onClick();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class App
{
public App() {
Button btn = new Button();
//버튼을 눌럿다면 알려줘
btn.onClick = this.OnClickButton;
//유저가 버튼을 누럴ㅆ다.
btn.Click();
}
public void OnClickButton() {
//설정 팝업을 연다.
Console.WriteLine("[App]설정 팝업을 엽니다.");
}
}
}
2.건설완료 알기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class Building
{
public delegate void OnComplete();
public OnComplete onComplete;
public Building()
{
}
public void Build() {
Console.WriteLine("[Building] 건물을 짓기 시작합니다.");
this.onComplete();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class App
{
public App() {
Building building = new Building();
building.onComplete = this.OnComplete;
building.Build();
}
private void OnComplete()
{
Console.WriteLine("[app] 건물이 완료 되었습니다.");
}
}
}
3.파일열기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class FileManager
{
public delegate void OnOpenComplete();
public OnOpenComplete onOpenComplete;
public FileManager() {
}
public void Open(string file) {
Console.WriteLine("[manager] {0}의 경로의 파일을 엽니다.",file);
this.onOpenComplete();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class App
{
public App() {
FileManager fileManager = new FileManager();
fileManager.onOpenComplete = this.OnOpenComplete;
fileManager.Open("C 드라이브");
}
public void OnOpenComplete()
{
Console.WriteLine("[App]파일이 열려씁니다.");
}
}
}
4.씬 장면 로드하기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class SceneManager
{
public delegate void OnLoaded();
public OnLoaded onLoaded;
public SceneManager()
{
}
public void OnLoadedNew()
{
Console.WriteLine("[SceneManager] 새로운 씬을 로드합니다.");
this.onLoaded();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class App
{
public App() {
SceneManager sceneManager = new SceneManager();
sceneManager.onLoaded = this.OnLoaded;
sceneManager.OnLoadedNew();
}
private void OnLoaded()
{
Console.WriteLine("[App] 씬이 모두 로드 되었습니다.");
}
}
}
5. 게임 시작하고 끝내기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class Launcher
{
public delegate void OnEndGame();
public OnEndGame onEndGame;
public Launcher()
{
}
public void StartGame() {
Console.WriteLine("[Laucher] 게임이 시작 되었습니다.");
Console.WriteLine("[Laucher] 캐릭터가 죽었습니다.");
this.onEndGame();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class App
{
public App() {
Launcher launcher = new Launcher();
launcher.onEndGame = this.EndGame;
launcher.StartGame();
}
private void EndGame() {
Console.WriteLine("[App] 게임을 종료합니다.");
}
}
6.업그레이드 완료알기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class Upgrade
{
public delegate void OnUpgrade();
public OnUpgrade onUpgrade;
public Upgrade() {
}
public void StartUpgrade()
{
Console.WriteLine("[Upgrade] 업그레이드를 시작합니다.");
this.onUpgrade();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study10
{
public class App
{
public App() {
Upgrade upgrade = new Upgrade();
upgrade.onUpgrade = this.EndUpgrade;
upgrade.StartUpgrade();
}
public void EndUpgrade()
{
Console.WriteLine("[App] 업그레이드가 완료 되었습니다.");
}
}
}
반응형
'C# > C#언어' 카테고리의 다른 글
0324_ ★ 이벤트의 구조 !! (0) | 2021.03.24 |
---|---|
0324 _ 복습 // (0) | 2021.03.24 |
0318_ 다차원 _ 2차원 배열 isometric view (0) | 2021.03.18 |
0318 _ 다차원 배열 _ 맵 바꾸기 예제 (0) | 2021.03.18 |
0318 _ 다차원 연습 문제 1 _ 10개 (0) | 2021.03.18 |