📄 messagedistribute.svc.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 + -