게임 알고리즘

3일차 람다식 연습문제 1

park-gom 2024. 8. 16. 16:55

namespace Study01
{
    public class App
    {
        //생성자 
        public App()
        {
            Console.WriteLine("App클래스 생성자 호출됨");
            SiegeTank tank = new SiegeTank(SiegeTank.Mode.Tank);

            tank.onChangeMode = (beforeMode, afterMode) => {
                Console.WriteLine($"{beforeMode} -> {afterMode}");
            };

            tank.ChangeMode(SiegeTank.Mode.Siege);
        }

    }

}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Study01.SiegeTank;

namespace Study01
{
    public class SiegeTank
    {

        public enum Mode
        {
            Tank,
            Siege
        }

        public Mode state;
        public Action<Mode, Mode> onChangeMode;

        public SiegeTank(Mode mode) 
        {
            this.state = mode;
            Console.WriteLine($"시즈 탱크가 생성되었습니다. 모드:{this.state}");
            
        }
        
        public void ChangeMode(Mode mode)
        {
            Mode brforeMode = this.state;

            this.state = mode;

            this.onChangeMode(brforeMode, this.state);
        }

    }
}