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


C# API.Cancel方法代码示例

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


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

示例1: OnPlayerBlockChange_Low

        void OnPlayerBlockChange_Low(Player sender, API.Events.BlockChangeEventArgs args) {
            if (!args.Canceled && args.Action == API.Events.ActionType.Delete) {
                object tmp = sender.ExtraData["TmpBlockList"];
                if (tmp != null && ((List<Tuple<string, Vector3S>>)tmp).Count != 0) {
                    List<Tuple<string, Vector3S>> tmplist = (List<Tuple<string, Vector3S>>)tmp;
                    string level = sender.Level.Name;
                    string tpLocal = "/tp " + (args.X * 32 + 16) + " " + (args.Z * 32 + 16) + " " + ((args.Y + 1) * 32 + 16);
                    string tpLevel = "/tp " + (args.X * 32 + 16) + " " + (args.Z * 32 + 16) + " " + ((args.Y + 1) * 32 + 16) + " " + level;
                    ICommand mb = Command.Find("messageblock");
                    if (mb == null) {
                        Logger.Log("MessageBlock command and plugin are required to create portals");
                        sender.SendMessage("MessageBlock command and plugin are required to create portals");
                        args.Cancel();
                        return;
                    }
                    foreach (Tuple<string, Vector3S> e in tmplist) {
                        List<string> mbArgs = new List<string>() { "+", e.Item2.x + "", e.Item2.z + "", e.Item2.y + "", e.Item1 };
                        if (e.Item1 == level) {
                            mbArgs.AddRange(tpLocal.Split(' '));
                        }
                        else {
                            mbArgs.AddRange(tpLevel.Split(' '));
                        }
                        mb.Use(sender, mbArgs.ToArray());
                    }
                    sender.SendMessage("Portal created");
                    sender.OnPlayerBlockChange.Low -= OnPlayerBlockChange_Low;

                }

            }
            else {
                object tmp = sender.ExtraData["TmpBlockList"];
                if (tmp == null) {
                    tmp = new List<Tuple<string, Vector3S>>();
                    sender.ExtraData["TmpBlockList"] = tmp;
                }
                ((List<Tuple<string, Vector3S>>)tmp).Add(new Tuple<string, Vector3S>(sender.Level.Name, new Vector3S(args.X, args.Z, args.Y)));
            }
        }
开发者ID:nullpic,项目名称:MCForge-Vanilla,代码行数:40,代码来源:CmdPortal.cs

示例2: OnPlayerBlockChange_Normal

        void OnPlayerBlockChange_Normal(Player sender, API.Events.BlockChangeEventArgs args) {
            if (args.Action == API.Events.ActionType.Delete && args.Current == 0) {
                args.Cancel();
            }

        }
开发者ID:XGreenheartX,项目名称:MCForge-Vanilla,代码行数:6,代码来源:CmdFly.cs

示例3: OnPacket

 private static void OnPacket(MCForge.Entity.Player sender, API.Events.PacketEventArgs args)
 {
     if (cancelPackets.Contains((byte)args.Type)) {
         args.Cancel();
         return;
     }
     if (reducePackets.ContainsKey((byte)args.Type)) {
         if (xthPackets[(byte)args.Type] % reducePackets[(byte)args.Type] != 0) {
             xthPackets[(byte)args.Type]++;
             args.Cancel();
             return;
         }
         else {
             xthPackets[(byte)args.Type] = 1;
         }
     }
     if (hidePackets.Contains((byte)args.Type)) return;
     Logger.Log(((args.Incoming) ? "Incoming" : "Outgoing") + " Packet " + (packet.types)(byte)args.Type + "(" + (byte)args.Type + ") for player " + sender.Username, ((args.Incoming) ? Color.Green : Color.Red), Color.Black);
 }
开发者ID:Maicke98,项目名称:MCForge-Vanilla,代码行数:19,代码来源:Program.cs


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