コード例 #1
0
ファイル: Issue79.cs プロジェクト: Robin--/AqlaSerializer
        public void ShouldRoundtripCompositeValues()
        {
            MyFlagsEnum max = (MyFlagsEnum.A | MyFlagsEnum.B | MyFlagsEnum.C | MyFlagsEnum.D);

            for (MyFlagsEnum i = 0; i <= max; i++)
            {
                TestRoundtrip(i);
            }
        }
コード例 #2
0
        private static void TestRoundtrip(MyFlagsEnum value)
        {
            MyTypeWithFlags obj = new MyTypeWithFlags {
                SomeValue = value
            }, clone;
            string caption = value + " (" + (int)value + ")";

            clone = Serializer.DeepClone(obj);
            Assert.Equal(value, clone.SomeValue); //, caption);
        }
コード例 #3
0
        private static int CalculateFlagsEnum(MyFlagsEnum myFlagsEnum)
        {
            int result = 0;

            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V1)) result += 1;
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V2)) result += 2;
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V4)) result += 4;
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V8)) result += 8;
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V16)) result += 16;
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V32)) result += 32;
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V64)) result += 64;
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V128)) result += 128;

            return result;
        }
コード例 #4
0
ファイル: Issue79.cs プロジェクト: GeorchW/protobuf-net
        private static void TestRoundtrip(MyFlagsEnum value)
        {

            MyTypeWithFlags obj = new MyTypeWithFlags { SomeValue = value }, clone;
            string caption = value + " (" + (int)value + ")";
            try
            {
                clone = Serializer.DeepClone(obj);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message + " serializing " + caption);
                throw;
            }
            Assert.AreEqual(value, clone.SomeValue, caption);
        }
コード例 #5
0
ファイル: Issue79.cs プロジェクト: izacus/dynabomber
        private static void TestRoundtrip(MyFlagsEnum value)
        {
            MyTypeWithFlags obj = new MyTypeWithFlags {
                SomeValue = value
            }, clone;
            string caption = value + " (" + (int)value + ")";

            try
            {
                clone = Serializer.DeepClone(obj);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message + " serializing " + caption);
                throw;
            }
            Assert.AreEqual(value, clone.SomeValue, caption);
        }
コード例 #6
0
        private string GetResult(MyFlagsEnum x)
        {
            string result;

            switch (x)
            {
            case MyFlagsEnum.V1:
                result = "v1";
                break;

            case MyFlagsEnum.V2:
                result = "v2";
                break;

            default:
                result = "def";
                break;
            }
            return(result);
        }
コード例 #7
0
        private static int CalculateFlagsEnum(MyFlagsEnum myFlagsEnum)
        {
            int result = 0;

            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V1))
            {
                result += 1;
            }
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V2))
            {
                result += 2;
            }
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V4))
            {
                result += 4;
            }
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V8))
            {
                result += 8;
            }
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V16))
            {
                result += 16;
            }
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V32))
            {
                result += 32;
            }
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V64))
            {
                result += 64;
            }
            if (HasEnabledEnum(myFlagsEnum, MyFlagsEnum.V128))
            {
                result += 128;
            }

            return(result);
        }
コード例 #8
0
        public void UpdateFlags(MyEntity entity, MyFlagsEnum flag, bool param = false)
        {
            Debug.Assert(entity.EntityId.HasValue, "Entity ID must have value!");
            LogDevelop("UPDATE FLAGS");

            if (!entity.EntityId.HasValue)
            {
                return;                            // Nothing to report
            }
            var msg = new MyEventFlags();

            msg.Flag     = flag;
            msg.EntityId = entity.EntityId.Value.NumericValue;
            msg.Param    = param;

            if (IsHost)
            {
                Peers.SendToAll(ref msg, NetDeliveryMethod.ReliableOrdered, 0);
            }
            else
            {
                Peers.SendHost(ref msg);
            }
        }
コード例 #9
0
ファイル: TestEnumSpecial.cs プロジェクト: Xtremrules/dot42
 public TestStruct1(MyFlagsEnum myEnum)
 {
     this.myEnum = myEnum;
 }
コード例 #10
0
ファイル: TestEnumSpecial.cs プロジェクト: Xtremrules/dot42
 public TestClass2(MyFlagsEnum myEnum)
 {
     MyEnum = myEnum;
 }
コード例 #11
0
ファイル: testdef.cs プロジェクト: Paul1nh0/Singularity
 public abstract bool SaveEventFlags(int Arg1, int Arg2, MyFlagsEnum flag);
コード例 #12
0
        public void UpdateFlags(MyEntity entity, MyFlagsEnum flag, bool param = false)
        {
            Debug.Assert(entity.EntityId.HasValue, "Entity ID must have value!");
            LogDevelop("UPDATE FLAGS");

            if (!entity.EntityId.HasValue) return; // Nothing to report

            var msg = new MyEventFlags();
            msg.Flag = flag;
            msg.EntityId = entity.EntityId.Value.NumericValue;
            msg.Param = param;

            if (IsHost)
            {
                Peers.SendToAll(ref msg, NetDeliveryMethod.ReliableOrdered, 0);
            }
            else
            {
                Peers.SendHost(ref msg);
            }
        }
コード例 #13
0
 public TestClass1(MyFlagsEnum myEnum)
 {
     this.myEnum = myEnum;
 }
コード例 #14
0
        void ProcessFlag(MyEntity entity, MyFlagsEnum flag, bool param)
        {
            switch (flag)
            {
            case MyFlagsEnum.ENABLE:
                entity.Enabled = true;
                break;

            case MyFlagsEnum.DISABLE:
                entity.Enabled = false;
                break;

            case MyFlagsEnum.HIDE:
                entity.Activate(false, param);
                break;

            case MyFlagsEnum.UNHIDE:
                entity.Activate(true, param);
                break;

            case MyFlagsEnum.PARK_SHIP:
            {
                var ship = entity as MySmallShip;
                if (ship != null)
                {
                    ship.SetParked(param);
                }
            }
            break;

            case MyFlagsEnum.CLOSE:
                MyScriptWrapper.CloseEntity(entity);
                break;

            case MyFlagsEnum.PARTICLE:
                MyScriptWrapper.SetParticleEffect(entity, param);
                break;

            case MyFlagsEnum.NUCLEAR_EXPLOSION:
                MyScriptWrapper.MakeNuclearExplosion(entity);
                break;

            case MyFlagsEnum.INDESTRUCTIBLE:
                entity.IsDestructible = false;
                break;

            case MyFlagsEnum.DESTRUCTIBLE:
                entity.IsDestructible = true;
                break;

            case MyFlagsEnum.PREPARE_MOVE:
                MyScriptWrapper.PrepareMotherShipForMove(entity);
                break;

            case MyFlagsEnum.RETURN_FROM_MOVE:
                MyScriptWrapper.ReturnMotherShipFromMove(entity);
                break;

            default:
                Debug.Fail("Unknown flag");
                break;
            }
        }
コード例 #15
0
ファイル: ParserHelperTests.cs プロジェクト: lulzzz/appstract
 /// <summary>
 /// Returns whether the <see cref="MyFlagsEnum"/> specified is/are defined in the current <see cref="MyFlagsEnum"/>.
 /// </summary>
 /// <param name="flags"></param>
 /// <param name="flag"></param>
 /// <returns></returns>
 public static bool IsSpecified(this MyFlagsEnum flags, MyFlagsEnum flag)
 {
     return((flags & flag) == flag);
 }
コード例 #16
0
ファイル: testdef.cs プロジェクト: Paul1nh0/Singularity
 public abstract bool SaveEventCombination(int Arg1, int Arg2, MyEnum en, MyFlagsEnum flag);
コード例 #17
0
ファイル: TestEnumSpecial.cs プロジェクト: Xtremrules/dot42
 public TestStruct2(MyFlagsEnum myEnum)
     : this()
 {
     MyEnum = myEnum;
 }
コード例 #18
0
ファイル: TestEnumSpecial.cs プロジェクト: Xtremrules/dot42
 private string GetResult(MyFlagsEnum x)
 {
     string result;
     switch (x)
     {
         case MyFlagsEnum.V1:
             result = "v1";
             break;
         case MyFlagsEnum.V2:
             result = "v2";
             break;
         default:
             result = "def";
             break;
     }
     return result;
 }
コード例 #19
0
 public TestClass2(MyFlagsEnum myEnum)
 {
     MyEnum = myEnum;
 }
コード例 #20
0
        void ProcessFlag(MyEntity entity, MyFlagsEnum flag, bool param)
        {
            switch (flag)
            {
                case MyFlagsEnum.ENABLE:
                    entity.Enabled = true;
                    break;

                case MyFlagsEnum.DISABLE:
                    entity.Enabled = false;
                    break;

                case MyFlagsEnum.HIDE:
                    entity.Activate(false, param);
                    break;

                case MyFlagsEnum.UNHIDE:
                    entity.Activate(true, param);
                    break;

                case MyFlagsEnum.PARK_SHIP:
                    {
                        var ship = entity as MySmallShip;
                        if (ship != null)
                        {
                            ship.SetParked(param);
                        }
                    }
                    break;

                case MyFlagsEnum.CLOSE:
                    MyScriptWrapper.CloseEntity(entity);
                    break;

                case MyFlagsEnum.PARTICLE:
                    MyScriptWrapper.SetParticleEffect(entity, param);
                    break;

                case MyFlagsEnum.NUCLEAR_EXPLOSION:
                    MyScriptWrapper.MakeNuclearExplosion(entity);
                    break;

                case MyFlagsEnum.INDESTRUCTIBLE:
                    entity.IsDestructible = false;
                    break;

                case MyFlagsEnum.DESTRUCTIBLE:
                    entity.IsDestructible = true;
                    break;

                case MyFlagsEnum.PREPARE_MOVE:
                    MyScriptWrapper.PrepareMotherShipForMove(entity);
                    break;

                case MyFlagsEnum.RETURN_FROM_MOVE:
                    MyScriptWrapper.ReturnMotherShipFromMove(entity);
                    break;

                default:
                    Debug.Fail("Unknown flag");
                    break;
            }
        }
コード例 #21
0
 public TestStruct1(MyFlagsEnum myEnum)
 {
     this.myEnum = myEnum;
 }
コード例 #22
0
 private static bool HasEnabledEnum(MyFlagsEnum myFlagsEnum, MyFlagsEnum flag)
 {
     return (myFlagsEnum & flag) == flag;
 }
コード例 #23
0
 public TestStruct2(MyFlagsEnum myEnum)
     : this()
 {
     MyEnum = myEnum;
 }
コード例 #24
0
 private static bool HasEnabledEnum(MyFlagsEnum myFlagsEnum, MyFlagsEnum flag)
 {
     return((myFlagsEnum & flag) == flag);
 }
コード例 #25
0
 public bool ValidationMethod1(MyFlagsEnum values)
 {
     return(true);
 }
コード例 #26
0
ファイル: TestEnumSpecial.cs プロジェクト: Xtremrules/dot42
 public TestClass1(MyFlagsEnum myEnum)
 {
     this.myEnum = myEnum;
 }
コード例 #27
0
 /// <summary>
 /// Returns whether the <see cref="MyFlagsEnum"/> specified is/are defined in the current <see cref="MyFlagsEnum"/>.
 /// </summary>
 /// <param name="flags"></param>
 /// <param name="flag"></param>
 /// <returns></returns>
 public static bool IsSpecified(this MyFlagsEnum flags, MyFlagsEnum flag)
 {
   return ((flags & flag) == flag);
 }