当前位置: 首页>>代码示例>>C#>>正文


C# Card.RemoveMarker方法代码示例

本文整理汇总了C#中Octgn.Play.Card.RemoveMarker方法的典型用法代码示例。如果您正苦于以下问题:C# Card.RemoveMarker方法的具体用法?C# Card.RemoveMarker怎么用?C# Card.RemoveMarker使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Octgn.Play.Card的用法示例。


在下文中一共展示了Card.RemoveMarker方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: 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);
     }
 }
开发者ID:rexperalta,项目名称:OCTGN,代码行数:77,代码来源:ClientHandler.cs

示例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);
        }
开发者ID:Kamalisk,项目名称:OCTGN,代码行数:19,代码来源:ClientHandler.cs

示例3: 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);
                }

            }

        }
开发者ID:rexperalta,项目名称:OCTGN,代码行数:45,代码来源:ClientHandler.cs


注:本文中的Octgn.Play.Card.RemoveMarker方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。