program.cs

来自「GOF23种设计模式详细例子!附有详细的代码噢!」· CS 代码 · 共 75 行

CS
75
字号
using System;
using System.Collections.Generic;
using System.Text;

namespace AdapterExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Lobby lobby = new Lobby();
            lobby.CreateRoom("HalfPaper");
            lobby.StartGame();
        }
    }

    interface IGame
    {
        void StartScene(string sceneName);
        void EnterPlayer(string playerName);
    }

    class Lobby
    {
        private string sceneName;

        public void CreateRoom(string sceneName)
        {
            this.sceneName = sceneName;
        }
        public void StartGame()
        {
            IGame game = new GameAdapter();
            game.StartScene(sceneName);
            game.EnterPlayer("yzhu");
        }
    }

    class Game
    {
        public void LoadScene(string sceneName, string token)
        {
            if (token == "Abcd1234")
                Console.WriteLine("Loading " + sceneName + "...");
            else
                Console.WriteLine("Invalid token!"); 
        }

        public void EnterPlayer(int playerID)
        {
            Console.WriteLine("player:" + playerID + " entered");
        }
    }

    class GameAdapter : IGame
    {
        private Game game = new Game();

        public void StartScene(string sceneName)
        {
            game.LoadScene(sceneName, "Abcd1234");
        }

        public void EnterPlayer(string playerName)
        {
            game.EnterPlayer(GetPlayerIDByPlayerName(playerName));
        }

        private int GetPlayerIDByPlayerName(string playerName)
        {
            return 12345;
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?