本文整理匯總了C#中Octgn.Play.Card.FindMarker方法的典型用法代碼示例。如果您正苦於以下問題:C# Card.FindMarker方法的具體用法?C# Card.FindMarker怎麽用?C# Card.FindMarker使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Octgn.Play.Card
的用法示例。
在下文中一共展示了Card.FindMarker方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: AddMarker
public void AddMarker(Player player, Card card, Guid id, string name, ushort count, ushort oldCount, bool isScriptChange)
{
DataNew.Entities.Marker model = Program.GameEngine.GetMarkerModel(id);
DefaultMarkerModel defaultMarkerModel = model as DefaultMarkerModel;
if (defaultMarkerModel != null)
(defaultMarkerModel).SetName(name);
Marker marker = card.FindMarker(id, name);
if (player != Player.LocalPlayer)
{
if (marker == null && oldCount != 0)
{
Program.GameMess.Warning("Inconsistent state. Cannot create a marker when that marker already exists.");
return;
}
if (marker != null && oldCount != marker.Count)
{
Program.GameMess.Warning("Inconsistent state. Marker count invalid.");
return;
}
card.AddMarker(model, count);
}
if (count != 0)
{
int newCount = oldCount + count;
Program.GameMess.PlayerEvent(player, "adds {0} {1} marker(s) on {2}", count, model.Name, card);
if (isScriptChange == false)
{
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_0(card, model.ModelString(), oldCount, newCount, isScriptChange);
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_1(card, model.ModelString(), oldCount, newCount, isScriptChange);
}
}
}
示例2: TransferMarker
public void TransferMarker(Player player, Card from, Card to, Guid id, string name, ushort count)
{
// Ignore markers moved by oneself (already moved for responsiveness issues)
if (player != Player.LocalPlayer)
{
Marker marker = from.FindMarker(id, name);
if (marker == null)
{
Program.Trace.TraceEvent(TraceEventType.Warning, EventIds.NonGame, "Inconsistent state. Marker not found on card.");
return;
}
if (marker.Count < count)
Program.Trace.TraceEvent(TraceEventType.Warning, EventIds.NonGame, "Inconsistent state. Missing markers to remove");
from.RemoveMarker(marker, count);
to.AddMarker(marker.Model, count);
}
Program.Trace.TraceEvent(TraceEventType.Information, EventIds.Event | EventIds.PlayerFlag(player), "{0} moves {1} {2} marker(s) from {3} to {4}", player, count, name, from, to);
}
示例3: TransferMarker
public void TransferMarker(Player player, Card from, Card to, Guid id, string name, ushort count, ushort oldCount, bool isScriptChange)
{
Marker marker = from.FindMarker(id, name);
if (player == null)
{
Program.GameMess.Warning("Inconsistent state. Cannot transfer marker to unknown player.");
return;
}
if (player != Player.LocalPlayer)
{
if (marker == null)
{
Program.GameMess.Warning("Inconsistent state. Marker not found on card.");
return;
}
if (marker.Count != oldCount)
Program.GameMess.Warning("Inconsistent state. Missing markers to remove");
}
Marker newMarker = to.FindMarker(id, name);
int toOldCount = 0;
if (newMarker != null)
toOldCount = newMarker.Count - 1;
int fromNewCount = oldCount - count;
int toNewCount = toOldCount + count;
if (player != Player.LocalPlayer)
{
from.RemoveMarker(marker, count);
to.AddMarker(marker.Model, count);
}
Program.GameMess.PlayerEvent(player, "moves {0} {1} marker(s) from {2} to {3}", count, name, from, to);
if (marker == null)
{
marker = from.FindRemovedMarker(id, name);
}
if (marker != null)
{
if (isScriptChange == false)
{
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_0(
from,
marker.Model.ModelString(),
oldCount,
fromNewCount,
isScriptChange);
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_0(
to,
marker.Model.ModelString(),
toOldCount,
toNewCount,
isScriptChange);
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_1(
from,
marker.Model.ModelString(),
oldCount,
fromNewCount,
isScriptChange);
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_1(
to,
marker.Model.ModelString(),
toOldCount,
toNewCount,
isScriptChange);
}
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_2(
from,
marker.Model.Name,
marker.Model.Id.ToString(),
oldCount,
isScriptChange);
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_2(
to,
marker.Model.Name,
marker.Model.Id.ToString(),
toOldCount,
isScriptChange);
}
}
示例4: RemoveMarker
public void RemoveMarker(Player player, Card card, Guid id, string name, ushort count, ushort oldCount, bool isScriptChange)
{
Marker marker = card.FindMarker(id, name);
if (player != Player.LocalPlayer)
{
if (marker == null)
{
Program.GameMess.Warning("Inconsistent state. Marker not found on card.");
return;
}
if (marker.Count != oldCount)
Program.GameMess.Warning("Inconsistent state. Missing markers to remove");
}
if (count != 0)
{
int newCount = oldCount - count;
if (player != Player.LocalPlayer)
{
card.RemoveMarker(marker, count);
}
Program.GameMess.PlayerEvent(player, "removes {0} {1} marker(s) from {2}", count, name, card);
if (player == Player.LocalPlayer && marker == null)
{
StringBuilder markerString = new StringBuilder();
markerString.AppendFormat("('{0}','{1}')", name, id);
if (isScriptChange == false)
{
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_0(card, markerString.ToString(), oldCount, newCount, isScriptChange);
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_1(card, markerString.ToString(), oldCount, newCount, isScriptChange);
}
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_2(card, name, id.ToString(), oldCount, isScriptChange);
}
else
{
if (isScriptChange == false)
{
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_0(card, marker.Model.ModelString(), oldCount, newCount, isScriptChange);
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_1(card, marker.Model.ModelString(), oldCount, newCount, isScriptChange);
}
Program.GameEngine.EventProxy.OnMarkerChanged_3_1_0_2(card, name, id.ToString(), oldCount, isScriptChange);
}
}
}