⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messagedistribute.svc.cs

📁 经典游戏程序设计:visual c++ 上的杀人游戏源代码
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Utility;

namespace KillingClientUI
{
    // NOTE: If you change the class name "MessageDistribute" here, you must also update the reference to "MessageDistribute" in Web.config.
    [ServiceBehavior]
    public partial class MessageDistribute : IMessageDistribute
    {
        //Server host->Player client
        [OperationBehavior]
        public bool ReceiveNewsMsg(string strMsg)
        {
            

            ReceiveNewsMsgController();

            Console.WriteLine(strMsg);

            return true;
            //TODO:Append this message to textbox board.
            //throw new System.NotImplementedException("ReceiveNewsMsg is not implemented");
        }

        private void ReceiveNewsMsgController()
        {
           
        }

        private void GameStartControllers()
        {
            
        }

        [OperationBehavior]
        public bool GameStart(GameInfo gameInfo)
        {

            return true;


        }
        private void ChangeTimeImageToDay(Utility.TimeFlag timeFlag)
        {
            

            //App.gameMainWindow.imageTimeFlagSun.Visibility = (timeFlag == Utility.TimeFlag.DayTime) ? (System.Windows.Visibility.Visible) : (System.Windows.Visibility.Hidden);
            //App.gameMainWindow.imageTimeFlagMoon.Visibility = (timeFlag == Utility.TimeFlag.Night) ? (System.Windows.Visibility.Visible) : (System.Windows.Visibility.Hidden);
        }


        [OperationBehavior]
        public bool ReceiveVoteResult(VoteResult voteResult)
        {
            return true;
        }

        private void ReceiveVoteResultControllers()
        {
            

                

                
            
        }

        //connect to server, when server host works as a client, this will be used.
        private MessageDistribution ConnectToServer(string strEndPointAddr)
        {
            NetTcpBinding tcpBinding = new NetTcpBinding();
            tcpBinding.TransactionFlow = false;
            tcpBinding.Security.Transport.ProtectionLevel =
              System.Net.Security.ProtectionLevel.EncryptAndSign;
            tcpBinding.Security.Transport.ClientCredentialType =
              TcpClientCredentialType.Windows;
            tcpBinding.Security.Mode = SecurityMode.None;

            EndpointAddress endpointAddress =
                new EndpointAddress(strEndPointAddr);


            MessageDistribution proxy =
            ChannelFactory<MessageDistribution>.CreateChannel(tcpBinding, endpointAddress);

            return proxy;
        }
    }

    //For initialize game on client end
    [DataContract]
    public class GameInfo
    {
        [DataMember]
        public List<string> listPlayers
        { get; set; }
        [DataMember]
        public RoleFlag YourRole
        { get; set; }
        [DataMember]
        public List<string> listKillers
        { get; set; }

        //Currently no use
        [DataMember]
        public List<string> listPolicemen
        { get; set; }
    }

    [DataContract]
    public class VoteResult
    {
        [DataMember]
        public string KilledPlayer
        { get; set; }

        [DataMember]
        public bool IsThisVoteValid
        { get; set; }
        [DataMember]
        public TimeFlag TimeFlag
        { get; set; }
        [DataMember]
        public ActivityTypeFlag ActiveTypeFlag
        { get; set; }
    }
}

⌨️ 快捷键说明

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