public static void BroadcastCakeVsPieEffect(CField field, CakeEvent nEffectType)
        {
            string sName;

            switch (nEffectType)
            {
            case CakeEvent.CakeWin:
                sName = "event/5th/cakewin";
                break;

            case CakeEvent.PieWin:
                sName = "event/5th/piewin";
                break;

            case CakeEvent.Start:
                sName = "event/5th/start";
                break;

            case CakeEvent.TimeOver:
                sName = "event/5th/timeover";
                break;

            default:
                throw new InvalidOperationException($"Unhandled cake vs pie map effect ({nameof(nEffectType)}).");
            }

            field.Broadcast(
                new FieldEffectPacket(FieldEffect.Screen)
            {
                sName = sName
            }
                .GenerateForBroadcast());
        }
        public static void BroadcastDojoEffect(CField field, DojoEffect nEffectType)
        {
            string sName;

            switch (nEffectType)
            {
            case DojoEffect.Clear:
                sName = "dojang/end/clear";
                break;

            case DojoEffect.TimeOver:
                sName = "dojang/timeOver";
                break;

            default:
                throw new InvalidOperationException($"Unhandled dojo map effect ({nameof(nEffectType)}).");
            }

            field.Broadcast(
                new FieldEffectPacket(FieldEffect.Screen)
            {
                sName = sName
            }
                .GenerateForBroadcast());
        }
 public void Broadcast(CField f)
 {
     f.Broadcast(GenerateForBroadcast());
 }