コード例 #1
0
 static void Main(string[] args)
 {
     ATMMachine machine = new ATMMachine(new CardNotInsertedState());
     machine.SubmitForRequest();
     machine.SubmitForRequest();
     machine.SubmitForRequest();
     machine.SubmitForRequest();
     machine.SubmitForRequest();
 }
コード例 #2
0
        static void Main(string[] args)
        {
            ATMMachine machine = new ATMMachine(new CardNotInsertedState());

            machine.SubmitForRequest();
            machine.SubmitForRequest();
            machine.SubmitForRequest();
            machine.SubmitForRequest();
            machine.SubmitForRequest();
        }
コード例 #3
0
        // Use this for initialization
        void OnEnable()
        {
            Debug.Log ("------------------");
            Debug.Log ("PROXY DESIGN PATTERN");

            GetATMData realATMMachine = new ATMMachine();
            GetATMData atmProxy = new ATMProxy();
            Debug.Log ("Current State: " + atmProxy.GetCurrentState());
            Debug.Log ("Current Cash in Machine: " + atmProxy.GetCashInMachine());

            //atmProxy.setCashInMachine << not possible because not defined in the interface
        }
コード例 #4
0
        static void Main(string[] args)
        {
            ATMMachine atmMachine = new ATMMachine();

            atmMachine.InsertCard();
            atmMachine.EjectCard();
            atmMachine.InsertCard();
            atmMachine.InsertPin(1234);
            atmMachine.RequestCash(2000);
            atmMachine.InsertCard();
            atmMachine.InsertPin(1234);

            Console.ReadKey();
        }
コード例 #5
0
        void OnEnable()
        {
            Debug.Log("------------------");
            Debug.Log("STATE DESIGN PATTERN");

            ATMMachine atm = new ATMMachine();

            atm.InsertCard();
            atm.EjectCard();
            atm.InsertCard();
            atm.InsertPin(1234);
            atm.RequestCash(2000);
            atm.InsertCard();
            atm.InsertPin(1234);
        }
コード例 #6
0
 public HasPin(ATMMachine newATMMachine)
 {
     atmMachine = newATMMachine;
 }
コード例 #7
0
 public override void ProcessState(ATMMachine machine)
 {
     Console.WriteLine("Pin inserted state");
     machine.CurrentState = new MoneyWithdrawnState();
 }
コード例 #8
0
 public override void ProcessState(ATMMachine machine)
 {
     Console.WriteLine("receipt print state");
 }
コード例 #9
0
 public override void ProcessState(ATMMachine machine)
 {
     Console.WriteLine("receipt print state");
 }
コード例 #10
0
        void OnEnable()
        {
            Debug.Log ("------------------");
            Debug.Log ("STATE DESIGN PATTERN");

            ATMMachine atm = new ATMMachine();
            atm.InsertCard();
            atm.EjectCard();
            atm.InsertCard();
            atm.InsertPin(1234);
            atm.RequestCash(2000);
            atm.InsertCard();
            atm.InsertPin(1234);
        }
コード例 #11
0
 public NoCash(ATMMachine atm)
 {
     this.atm = atm;
 }
コード例 #12
0
 //public ATMMachine AtmMachine
 //{
 //    get; set;
 //}
 public abstract void ProcessState(ATMMachine machine);
コード例 #13
0
 public override void ProcessState(ATMMachine machine)
 {
     Console.WriteLine("Card Inserted State");
     machine.CurrentState = new PINInsertedState();
 }
コード例 #14
0
 public override void ProcessState(ATMMachine machine)
 {
     Console.WriteLine("Pin inserted state");
     machine.CurrentState = new MoneyWithdrawnState();
 }
コード例 #15
0
 public HasCard(ATMMachine atm)
 {
     this.atm = atm;
 }
コード例 #16
0
 public override void ProcessState(ATMMachine machine)
 {
     Console.WriteLine("Card Not Inserted State");
     machine.CurrentState = new CardInsertedState();    
 }
コード例 #17
0
 public HasCard(ATMMachine newATMMachine)
 {
     atmMachine = newATMMachine;
 }
コード例 #18
0
 public override void ProcessState(ATMMachine machine)
 {
     Console.WriteLine("Money withdrawn state");
     machine.CurrentState = new ReceiptPrintState();
 }
コード例 #19
0
 public ATMState GetCurrentState()
 {
     ATMMachine atm = new ATMMachine();
     return atm.GetCurrentState();
 }
コード例 #20
0
 public int GetCashInMachine()
 {
     ATMMachine atm = new ATMMachine();
     return atm.GetCashInMachine();
 }
コード例 #21
0
 public HasPin(ATMMachine atm)
 {
     this.atm = atm;
 }
コード例 #22
0
 public HasCard(ATMMachine atm)
 {
     this.atm = atm;
 }
コード例 #23
0
 public NoCash(ATMMachine atm)
 {
     this.atm = atm;
 }
コード例 #24
0
 public HasPin(ATMMachine atm)
 {
     this.atm = atm;
 }
コード例 #25
0
 public NoCash(ATMMachine newATMMachine)
 {
     atmMachine = newATMMachine;
 }
コード例 #26
0
 public override void ProcessState(ATMMachine machine)
 {
     Console.WriteLine("Money withdrawn state");
     machine.CurrentState = new ReceiptPrintState();
 }