Skip to content

Commit

Permalink
Merge pull request #11 from OhnkytaBlabdey/chat
Browse files Browse the repository at this point in the history
Chat
  • Loading branch information
Wind2009-Louse authored Sep 2, 2018
2 parents 7a514b5 + c18af9d commit 05d2d26
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 1 deletion.
6 changes: 6 additions & 0 deletions Game/AI/DefaultExecutor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,12 @@ public override void OnNewTurn()
HonestEffectCount = 0;
}

public override IList<string> OnChat(int player, string msg, string myname, string othername)
{
string[] reply ={ "好了好了,我知道了。"};
return reply;
}

/// <summary>
/// Destroy face-down cards first, in our turn.
/// </summary>
Expand Down
11 changes: 11 additions & 0 deletions Game/AI/Dialogs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,17 @@ public void SendChaining(string card)
InternalSendMessage(_chaining, card);
}

public void SendChatReply(IList<string> strs)
{
if (!_game._chat)
return;
foreach (string s in strs)
{
if (s != null && s.Length > 0)
_game.Chat(s);
}
}

private void InternalSendMessage(IList<string> array, params object[] opts)
{
if (!_game._chat)
Expand Down
6 changes: 6 additions & 0 deletions Game/AI/Executor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ public virtual bool OnSelectHand()
return Program.Rand.Next(2) > 0;
}

public virtual IList<string> OnChat(int player, string msg, string myname, string othername)
{
// for overriding
return null;
}

/// <summary>
/// Called when the AI has to decide if it should attack
/// </summary>
Expand Down
2 changes: 1 addition & 1 deletion Game/ClientCard.cs
Original file line number Diff line number Diff line change
Expand Up @@ -337,4 +337,4 @@ public bool Equals(ClientCard card)
return ReferenceEquals(this, card);
}
}
}
}
10 changes: 10 additions & 0 deletions Game/GameAI.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,16 @@ public void OnStart()
_dialogs.SendDuelStart();
}

/// <summary>
/// Called when player send chat message
/// </summary>
public void OnChat(int player ,string msg,string myname,string othername)
{
if ( (player > 0 && !Duel.IsFirst) || (Duel.IsFirst && player == 0))
return;
_dialogs.SendChatReply(Executor.OnChat(player, msg, myname, othername));
}

/// <summary>
/// Called when the AI do the rock-paper-scissors.
/// </summary>
Expand Down
2 changes: 2 additions & 0 deletions Game/GameBehavior.cs
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,8 @@ private void OnChat(BinaryReader packet)
string otherName = (player == 0) ? _room.Names[1] : _room.Names[0];
if (player < 4)
Logger.DebugWriteLine(otherName + " say to " + myName + ": " + message);
//chat
_ai.OnChat(player,message,myName,otherName);
}

private void OnErrorMsg(BinaryReader packet)
Expand Down

0 comments on commit 05d2d26

Please sign in to comment.