Пример #1
0
        public override void OnEnter()
        {
            base.OnEnter();

            Color   = CCColor3B.Blue;
            Opacity = 255;

            // Make sure we set the Opacity to cascade or fadein action will not work correctly.
            Target1.IsOpacityCascaded = true;
            Target2.IsOpacityCascaded = true;

            // Define actions
            var moveUp   = new CCMoveBy(1.0f, new CCPoint(0.0f, 50.0f));
            var moveDown = moveUp.Reverse();

            // A CCSequence action runs the list of actions in ... sequence!
            var moveSeq = new CCSequence(new CCEaseBackInOut(moveUp), new CCEaseBackInOut(moveDown));

            var repeatedAction = new CCRepeatForever(moveSeq);

            // A CCSpawn action runs the list of actions concurrently
            var dreamAction = new CCSpawn(new CCFadeIn(5.0f), new CCWaves(5.0f, new CCGridSize(10, 20), 5, 20, true, false));


            Target1.RunActions(dreamAction, repeatedAction);

            Target2.RunActions(dreamAction, new CCDelayTime(0.5f), repeatedAction);

            // moving background. Testing issue #244
            var move = new CCMoveBy(3, new CCPoint(200, 0));

            bgNode.RepeatForever(move, move.Reverse());
        }
Пример #2
0
    void Shoot()
    {
        muzzleflash.Play();
        RaycastHit hit;

        if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, Range))
        {
            Debug.Log(hit.transform.name);

            Target target = hit.transform.GetComponent <Target>();
            if (target != null)
            {
                target.TakeDamage(Damage);
            }

            Target1 target1 = hit.transform.GetComponent <Target1>();
            if (target1 != null)
            {
                target1.TakeDamage(Damage);
            }

            if (hit.rigidbody != null)
            {
                hit.rigidbody.AddForce(-hit.normal * inpactforce);
            }

            GameObject inpactGO = Instantiate(inpactEffect, hit.point, Quaternion.LookRotation(hit.normal));
            Destroy(inpactGO, 2f);
        }
    }
        public void Map_WithType_Back_Success()
        {
            TinyMapper.Bind <Target1, Source1>();
            TinyMapper.Bind <Target2, Source1>();

            Target1 target1 = CreateTarget1();
            var     actual  = TinyMapper.Map <Source1>(target1);

            Assert.Equal(actual.DateTime, target1.DateTime);
            Assert.Equal(actual.FirstName, target1.FirstName);
            Assert.Equal(actual.LegacyString, target1.LatestString);
            Assert.Equal(actual.LegacyTarget1String, target1.SourceString);
            Assert.Null(actual.LegacyTarget2String);
            Assert.Equal(actual.SealedString, target1.ProtectedString);
            Assert.Equal(actual.SealedTarget1String, target1.TargetString);
            Assert.Null(actual.SealedTarget2String);

            Target2 target2 = CreateTarget2();

            actual = TinyMapper.Map <Source1>(target2);

            Assert.Equal(actual.DateTime, target2.DateTime);
            Assert.Equal(actual.FirstName, target2.FirstName);
            Assert.Equal(actual.LegacyString, target2.LatestString);
            Assert.Null(actual.LegacyTarget1String);
            Assert.Equal(actual.LegacyTarget2String, target2.SourceString);
            Assert.Equal(actual.SealedString, target2.ProtectedString);
            Assert.Null(actual.SealedTarget1String);
            Assert.Equal(actual.SealedTarget2String, target2.TargetString);
        }
Пример #4
0
        public void When_Inherited_data_Context_And_Converter_Different_Types_Invalid_Child_Path()
        {
            var SUT = new Target1();

            var child = new Target2(SUT);

            var converter = new BoolToNumber();

            child.SetBinding("DataContext", new Binding("Item.List[0]"));
            child.SetBinding("TargetValue", new Binding("Details_zzz.InfoBoolean", converter: converter)
            {
                FallbackValue = 10
            });
            SUT.ChildrenBinders.Add(child);

            // With the invalid path (Details_zzz instead of Details), the converter should not be called at all.
            // FallbackValue should be used
            SUT.DataContext = new SourceLevel0()
            {
                Item = new SourceLevel1()
                {
                    List = new SourceLevel2[] { new SourceLevel2() }
                }
            };
            Assert.AreEqual(10, child.TargetValue);
            Assert.AreEqual(0, converter.ConversionCount);
            Assert.AreEqual(null, converter.LastValue);
        }
Пример #5
0
        public void When_Inherited_data_Context_and_Changed()
        {
            var SUT = new Target1();

            var child = new Target2(SUT);

            child.SetBinding(Target2.DataContextProperty, new Binding("Child"));
            child.SetBinding("TargetValue", new Binding("Value"));
            SUT.ChildrenBinders.Add(child);

            var source = new MySource();

            SUT.DataContext = source;

            Assert.AreEqual(42, child.TargetValue);
            Assert.AreEqual(1, child.TargetValueSetCount);
            Assert.AreEqual(1, SUT.DataContextChangedCount);
            Assert.AreEqual(1, child.DataContextChangedCount);

            source.Child = new MySource2(44);
            Assert.AreEqual(44, child.TargetValue);
            Assert.AreEqual(2, child.TargetValueSetCount);
            Assert.AreEqual(1, SUT.DataContextChangedCount);
            Assert.AreEqual(2, child.DataContextChangedCount);
        }
        public void TestBuildCallMethodNoReturnWithDbContext()
        {
            //SETUP
            var options = SqliteInMemory.CreateOptions <TestDbContext>();

            using (var context = new TestDbContext(options))
            {
                context.Database.EnsureCreated();

                var prop1  = new PropertyMatch(true, PropertyMatch.TypeMatchLevels.Match, typeof(Dto).GetProperty(nameof(Dto.MyInt)));
                var prop2  = new PropertyMatch(true, PropertyMatch.TypeMatchLevels.Match, null, MatchSources.DbContext, context.GetType());
                var method = typeof(Target1).GetMethod(nameof(Target1.SetMyIntAndAddEntityToDb));
                var dto    = new Dto {
                    MyInt = 123
                };
                var target = new Target1();

                //ATTEMPT
                var action = BuildCall.CallMethodReturnVoid(method, typeof(Dto), typeof(Target1), new List <PropertyMatch> {
                    prop1, prop2
                });
                action.Invoke(dto, target, context);
                context.SaveChanges();

                //VERIFY
                target.MyInt.ShouldEqual(123);
                context.NormalEntities.Count().ShouldEqual(1);
            }
        }
Пример #7
0
    void Shoot()
    {
        muzzleFlash.Play();
        RaycastHit hit;

        if (Physics.Raycast(fpsCam.transform.position, fpsCam.transform.forward, out hit, range))
        {
            // only occurs if we hit something with raycast.
            Debug.Log(hit.transform.name);

            EndScript targetBoss = hit.transform.GetComponent <EndScript> ();
            if (targetBoss != null)                // if the target is the target that i was loooking for
            {
                targetBoss.BossTakeDamage(damage); // since TakeDamage is public, we could use it off of this file
            }

            Target1 target = hit.transform.GetComponent <Target1> ();
            if (target != null)               // if the target is the target that i was loooking for
            {
                target.TakeDamage(damage);    // since TakeDamage is public, we could use it off of this file
            }

            if (hit.rigidbody != null)
            {
                hit.rigidbody.AddForce(-hit.normal * impactForce);
            }

            GameObject impactGO = Instantiate(impactEffect, hit.point, Quaternion.LookRotation(hit.normal));
            Destroy(impactGO, 2f);
        }
    }
 public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
 {
     var concreteValue = (Source1)value;
     var result = new Target1
     {
         FullName = string.Format("{0} {1}", concreteValue.FirstName, concreteValue.LastName)
     };
     return result;
 }
            public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
            {
                var concreteValue = (Source1)value;
                var result        = new Target1
                {
                    FullName = string.Format("{0} {1}", concreteValue.FirstName, concreteValue.LastName)
                };

                return(result);
            }
Пример #10
0
        public void MsgDispatcherPhysical_NoHandlers()
        {
            Target1       target     = new Target1();
            MsgDispatcher dispatcher = new MsgDispatcher();

            dispatcher.AddTarget(target);
            dispatcher.Dispatch(new _DispatchMsg1());
            dispatcher.Dispatch(new _DispatchMsg2());
            Thread.Sleep(DispatchWait);

            Assert.IsFalse(target.dispatch1);
            Assert.IsFalse(target.dispatch2);
        }
Пример #11
0
        public void TestBuildCallMethodNoReturnAgain()
        {
            //SETUP 
            var prop = new PropertyMatch(true, PropertyMatch.TypeMatchLevels.Match, typeof(Dto).GetProperty(nameof(Dto.MyInt)));
            var method = typeof(Target1).GetMethod(nameof(Target1.SetMyInt));
            var dto = new Dto { MyInt = 123 };
            var target = new Target1();

            //ATTEMPT
            var action = BuildCall.CallMethodReturnVoid(method, typeof(Dto), typeof(Target1), new List<PropertyMatch>{prop});
            action.Invoke(dto, target);

            //VERIFY
            target.MyInt.ShouldEqual(123);
        }
Пример #12
0
        public override void OnEnter()
        {
            base.OnEnter();

            var waves = new CCWaves(5, new CCGridSize(15, 10), 5, 20, true, false);
            var shaky = new CCShaky3D(5, new CCGridSize(15, 10), 4, false);

            Target1.RepeatForever(waves);
            Target2.RepeatForever(shaky);

            // moving background. Testing issue #244
            var move = new CCMoveBy(3, new CCPoint(200, 0));

            bgNode.RepeatForever(move, move.Reverse());
        }
Пример #13
0
        public void TestBuildCallMethodWithReturn()
        {
            //SETUP 
            var prop = new PropertyMatch(true, PropertyMatch.TypeMatchLevels.Match, typeof(Dto).GetProperty(nameof(Dto.MyString)));
            var method = typeof(Target1).GetMethod(nameof(Target1.SetMyString));
            var dto = new Dto { MyString = "Hello" };
            var target = new Target1();

            //ATTEMPT
            var action = BuildCall.CallMethodReturnStatus(method, typeof(Dto), typeof(Target1), new List<PropertyMatch> {prop});
            var status = action.Invoke(dto, target);

            //VERIFY
            target.MyString.ShouldEqual("Hello");
            ((string)status.Message).ShouldEqual("OK");
        }
Пример #14
0
        public void When_Object_AttachedProperty_binding()
        {
            var SUT = new Target1();

            SUT.SetBinding(Attachable.MyValueProperty, new Binding("TargetValue"));

            var source = new Target2();

            source.TargetValue = 42;
            SUT.DataContext    = source;

            Assert.AreEqual(42, Attachable.GetMyValue(SUT));

            Attachable.SetMyValue(SUT, 43);

            Assert.AreEqual(42, source.TargetValue);
        }
Пример #15
0
        public void Serialize()
        {
            var resolver = new Utf8JsonFormatterResolver();

            resolver.AddResolver(TestTypedFormatterResolver.Instance);

            var target1 = new Target1();
            var target2 = new Target2();
            var target3 = new Target3();

            string data1 = JsonSerializer.ToJsonString <ITarget>(target1, resolver);
            string data2 = JsonSerializer.ToJsonString <ITarget>(target2, resolver);
            string data3 = JsonSerializer.ToJsonString <ITarget>(target3, resolver);

            Assert.AreEqual(m_target1Data, data1);
            Assert.AreEqual(m_target2Data, data2);
            Assert.AreEqual(m_target3Data, data3);
            Assert.Pass($"{data1}\n{data2}\n{data3}");
        }
Пример #16
0
        public void SerializeProfiler()
        {
            var resolver = new Utf8JsonFormatterResolver();

            resolver.AddResolver(TestTypedFormatterResolver.Instance);

            var target = new Target1();
            var writer = new JsonWriter(new byte[100]);

            resolver.GetFormatter <ITarget>().Serialize(ref writer, target, resolver);

            m_serializeMethodMarker.Begin();

            resolver.GetFormatter <ITarget>().Serialize(ref writer, target, resolver);

            m_serializeMethodMarker.End();

            Assert.Pass();
        }
Пример #17
0
        public static void Main(string[] args)
        {
            var adaptee = new Adaptee {
                Name = "FirstObject"
            };
            var target1 = new Target1 {
                Name = "SecondObject"
            };
            var target2 = new Target2 {
                Name = "ThirdObject"
            };

            var adapter1 = new Adapter(adaptee);
            var adapter2 = new Adapter(target1);
            var adapter3 = new Adapter(target2);

            Console.WriteLine(adapter1.Request("Adapter 1"));
            Console.WriteLine(adapter2.Request("Adapter 2"));
            Console.WriteLine(adapter3.Request("Adapter 3"));
        }
Пример #18
0
        public void When_Direct_data_Context_binding()
        {
            var SUT = new Target1();

            var child = new Target2();

            // Bypass the inheritance
            child.SetBinding(Target1.DataContextProperty, new Binding("Child"));

            child.SetBinding(Target2.TargetValueProperty, new Binding("Value"));

            SUT.ChildrenBinders.Add(child);

            var source = new MySource();

            SUT.DataContext = source;

            Assert.AreEqual(42, child.TargetValue);
            Assert.AreEqual(1, child.TargetValueSetCount);
        }
Пример #19
0
        public void When_Inherited_data_Context_And_Converter()
        {
            var SUT = new Target1();

            var child = new Target2(SUT);

            child.SetBinding(Target2.DataContextProperty, new Binding("Child"));
            child.SetBinding("TargetValue", new Binding("Value", converter: new OppositeConverter()));
            SUT.ChildrenBinders.Add(child);

            var source = new MySource();

            SUT.DataContext = source;

            Assert.AreEqual(-42, child.TargetValue);
            Assert.AreEqual(1, child.TargetValueSetCount);

            source.Child = new MySource2(43);
            Assert.AreEqual(-43, child.TargetValue);
            Assert.AreEqual(2, child.TargetValueSetCount);
        }
Пример #20
0
 public void Test()
 {
     Target1.Verify(t => t.Run(Client.Object), Times.Once());
     Target2.Verify(t => t.Run(Client.Object), Times.Once());
 }
Пример #21
0
 public Adapter(Target1 target1)
 {
     this.Request =
         delegate(string key) { return(String.Concat("Request: ", target1.Target1Method(key), Splitter, target1.Name)); };
 }
Пример #22
0
        public override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("EditorID", false, out subEle))
            {
                if (EditorID == null)
                {
                    EditorID = new SimpleSubrecord <String>();
                }

                EditorID.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Data", false, out subEle))
            {
                if (Data == null)
                {
                    Data = new PackageData();
                }

                Data.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Location1", false, out subEle))
            {
                if (Location1 == null)
                {
                    Location1 = new PackageLocation();
                }

                Location1.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Location2", false, out subEle))
            {
                if (Location2 == null)
                {
                    Location2 = new PackageLocation();
                }

                Location2.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Schedule", false, out subEle))
            {
                if (Schedule == null)
                {
                    Schedule = new PackageScheduleData();
                }

                Schedule.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Target1", false, out subEle))
            {
                if (Target1 == null)
                {
                    Target1 = new PackageTarget();
                }

                Target1.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Conditions", false, out subEle))
            {
                if (Conditions == null)
                {
                    Conditions = new List <Condition>();
                }

                foreach (XElement e in subEle.Elements())
                {
                    Condition tempCTDA = new Condition();
                    tempCTDA.ReadXML(e, master);
                    Conditions.Add(tempCTDA);
                }
            }
            if (ele.TryPathTo("Idle/Flags", false, out subEle))
            {
                if (IdleFlags == null)
                {
                    IdleFlags = new SimpleSubrecord <PackageIdleFlags>();
                }

                IdleFlags.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Idle/Count", false, out subEle))
            {
                if (IdleCount == null)
                {
                    IdleCount = new SimpleSubrecord <Byte>();
                }

                IdleCount.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Idle/TimerSetting", false, out subEle))
            {
                if (IdleTimerSetting == null)
                {
                    IdleTimerSetting = new SimpleSubrecord <Single>();
                }

                IdleTimerSetting.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Idle/Animations", false, out subEle))
            {
                if (IdleAnimations == null)
                {
                    IdleAnimations = new FormArray();
                }

                IdleAnimations.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Unused", false, out subEle))
            {
                if (Unused == null)
                {
                    Unused = new SimpleSubrecord <Byte[]>();
                }

                Unused.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("CombatStyle", false, out subEle))
            {
                if (CombatStyle == null)
                {
                    CombatStyle = new RecordReference();
                }

                CombatStyle.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("EatMarker", false, out subEle))
            {
                if (EatMarker == null)
                {
                    EatMarker = new SubMarker();
                }

                EatMarker.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("EscortDistance", false, out subEle))
            {
                if (EscortDistance == null)
                {
                    EscortDistance = new SimpleSubrecord <UInt32>();
                }

                EscortDistance.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("FollowDistance_StartLocation_TriggerRadius", false, out subEle))
            {
                if (FollowDistance_StartLocation_TriggerRadius == null)
                {
                    FollowDistance_StartLocation_TriggerRadius = new SimpleSubrecord <UInt32>();
                }

                FollowDistance_StartLocation_TriggerRadius.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("PatrolIsRepeatable", false, out subEle))
            {
                if (PatrolIsRepeatable == null)
                {
                    PatrolIsRepeatable = new SimpleSubrecord <NoYesByte>();
                }

                PatrolIsRepeatable.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("UseWeaponData", false, out subEle))
            {
                if (UseWeaponData == null)
                {
                    UseWeaponData = new PackageUseWeaponData();
                }

                UseWeaponData.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("Target2", false, out subEle))
            {
                if (Target2 == null)
                {
                    Target2 = new PackageTarget();
                }

                Target2.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("UseItemMarker", false, out subEle))
            {
                if (UseItemMarker == null)
                {
                    UseItemMarker = new SubMarker();
                }

                UseItemMarker.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("AmbushMarker", false, out subEle))
            {
                if (AmbushMarker == null)
                {
                    AmbushMarker = new SubMarker();
                }

                AmbushMarker.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("DialogData", false, out subEle))
            {
                if (DialogData == null)
                {
                    DialogData = new PackageDialogData();
                }

                DialogData.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("DummyIgnore", false, out subEle))
            {
                if (DummyIgnore == null)
                {
                    DummyIgnore = new PackageLocation();
                }

                DummyIgnore.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("OnBegin", false, out subEle))
            {
                if (OnBegin == null)
                {
                    OnBegin = new PackageEvent();
                }

                OnBegin.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("OnEnd", false, out subEle))
            {
                if (OnEnd == null)
                {
                    OnEnd = new PackageEvent();
                }

                OnEnd.ReadXML(subEle, master);
            }
            if (ele.TryPathTo("OnChange", false, out subEle))
            {
                if (OnChange == null)
                {
                    OnChange = new PackageEvent();
                }

                OnChange.ReadXML(subEle, master);
            }
        }
Пример #23
0
        public override void WriteData(ESPWriter writer)
        {
            if (EditorID != null)
            {
                EditorID.WriteBinary(writer);
            }
            if (Data != null)
            {
                Data.WriteBinary(writer);
            }
            if (Location1 != null)
            {
                Location1.WriteBinary(writer);
            }
            if (Location2 != null)
            {
                Location2.WriteBinary(writer);
            }
            if (Schedule != null)
            {
                Schedule.WriteBinary(writer);
            }
            if (Target1 != null)
            {
                Target1.WriteBinary(writer);
            }
            if (Conditions != null)
            {
                foreach (var item in Conditions)
                {
                    item.WriteBinary(writer);
                }
            }
            if (IdleFlags != null)
            {
                IdleFlags.WriteBinary(writer);
            }
            if (IdleCount != null)
            {
                IdleCount.WriteBinary(writer);
            }
            if (IdleTimerSetting != null)
            {
                IdleTimerSetting.WriteBinary(writer);
            }
            if (IdleAnimations != null)
            {
                IdleAnimations.WriteBinary(writer);
            }
            if (Unused != null)
            {
                Unused.WriteBinary(writer);
            }
            if (CombatStyle != null)
            {
                CombatStyle.WriteBinary(writer);
            }
            if (EatMarker != null)
            {
                EatMarker.WriteBinary(writer);
            }
            if (EscortDistance != null)
            {
                EscortDistance.WriteBinary(writer);
            }
            if (FollowDistance_StartLocation_TriggerRadius != null)
            {
                FollowDistance_StartLocation_TriggerRadius.WriteBinary(writer);
            }
            if (PatrolIsRepeatable != null)
            {
                PatrolIsRepeatable.WriteBinary(writer);
            }
            if (UseWeaponData != null)
            {
                UseWeaponData.WriteBinary(writer);
            }
            if (Target2 != null)
            {
                Target2.WriteBinary(writer);
            }
            if (UseItemMarker != null)
            {
                UseItemMarker.WriteBinary(writer);
            }
            if (AmbushMarker != null)
            {
                AmbushMarker.WriteBinary(writer);
            }
            if (DialogData != null)
            {
                DialogData.WriteBinary(writer);
            }

            WriteDummyIgnore(writer);
            if (OnBegin != null)
            {
                OnBegin.WriteBinary(writer);
            }
            if (OnEnd != null)
            {
                OnEnd.WriteBinary(writer);
            }
            if (OnChange != null)
            {
                OnChange.WriteBinary(writer);
            }
        }
Пример #24
0
        public override void ReadData(ESPReader reader, long dataEnd)
        {
            while (reader.BaseStream.Position < dataEnd)
            {
                string subTag = reader.PeekTag();

                switch (subTag)
                {
                case "EDID":
                    if (EditorID == null)
                    {
                        EditorID = new SimpleSubrecord <String>();
                    }

                    EditorID.ReadBinary(reader);
                    break;

                case "PKDT":
                    if (Data == null)
                    {
                        Data = new PackageData();
                    }

                    Data.ReadBinary(reader);
                    break;

                case "PLDT":
                    if (Location1 == null)
                    {
                        Location1 = new PackageLocation();
                    }

                    Location1.ReadBinary(reader);
                    break;

                case "PLD2":
                    if (Location2 == null)
                    {
                        Location2 = new PackageLocation();
                    }

                    Location2.ReadBinary(reader);
                    break;

                case "PSDT":
                    if (Schedule == null)
                    {
                        Schedule = new PackageScheduleData();
                    }

                    Schedule.ReadBinary(reader);
                    break;

                case "PTDT":
                    if (Target1 == null)
                    {
                        Target1 = new PackageTarget();
                    }

                    Target1.ReadBinary(reader);
                    break;

                case "CTDA":
                    if (Conditions == null)
                    {
                        Conditions = new List <Condition>();
                    }

                    Condition tempCTDA = new Condition();
                    tempCTDA.ReadBinary(reader);
                    Conditions.Add(tempCTDA);
                    break;

                case "IDLF":
                    if (IdleFlags == null)
                    {
                        IdleFlags = new SimpleSubrecord <PackageIdleFlags>();
                    }

                    IdleFlags.ReadBinary(reader);
                    break;

                case "IDLC":
                    if (IdleCount == null)
                    {
                        IdleCount = new SimpleSubrecord <Byte>();
                    }

                    IdleCount.ReadBinary(reader);
                    break;

                case "IDLT":
                    if (IdleTimerSetting == null)
                    {
                        IdleTimerSetting = new SimpleSubrecord <Single>();
                    }

                    IdleTimerSetting.ReadBinary(reader);
                    break;

                case "IDLA":
                    if (IdleAnimations == null)
                    {
                        IdleAnimations = new FormArray();
                    }

                    IdleAnimations.ReadBinary(reader);
                    break;

                case "IDLB":
                    if (Unused == null)
                    {
                        Unused = new SimpleSubrecord <Byte[]>();
                    }

                    Unused.ReadBinary(reader);
                    break;

                case "CNAM":
                    if (CombatStyle == null)
                    {
                        CombatStyle = new RecordReference();
                    }

                    CombatStyle.ReadBinary(reader);
                    break;

                case "PKED":
                    if (EatMarker == null)
                    {
                        EatMarker = new SubMarker();
                    }

                    EatMarker.ReadBinary(reader);
                    break;

                case "PKE2":
                    if (EscortDistance == null)
                    {
                        EscortDistance = new SimpleSubrecord <UInt32>();
                    }

                    EscortDistance.ReadBinary(reader);
                    break;

                case "PKFD":
                    if (FollowDistance_StartLocation_TriggerRadius == null)
                    {
                        FollowDistance_StartLocation_TriggerRadius = new SimpleSubrecord <UInt32>();
                    }

                    FollowDistance_StartLocation_TriggerRadius.ReadBinary(reader);
                    break;

                case "PKPT":
                    if (PatrolIsRepeatable == null)
                    {
                        PatrolIsRepeatable = new SimpleSubrecord <NoYesByte>();
                    }

                    PatrolIsRepeatable.ReadBinary(reader);
                    break;

                case "PKW3":
                    if (UseWeaponData == null)
                    {
                        UseWeaponData = new PackageUseWeaponData();
                    }

                    UseWeaponData.ReadBinary(reader);
                    break;

                case "PTD2":
                    if (Target2 == null)
                    {
                        Target2 = new PackageTarget();
                    }

                    Target2.ReadBinary(reader);
                    break;

                case "PUID":
                    if (UseItemMarker == null)
                    {
                        UseItemMarker = new SubMarker();
                    }

                    UseItemMarker.ReadBinary(reader);
                    break;

                case "PKAM":
                    if (AmbushMarker == null)
                    {
                        AmbushMarker = new SubMarker();
                    }

                    AmbushMarker.ReadBinary(reader);
                    break;

                case "PKDD":
                    if (DialogData == null)
                    {
                        DialogData = new PackageDialogData();
                    }

                    DialogData.ReadBinary(reader);
                    break;

                case "DUMY":
                    if (DummyIgnore == null)
                    {
                        DummyIgnore = new PackageLocation();
                    }

                    DummyIgnore.ReadBinary(reader);
                    break;

                case "POBA":
                    if (OnBegin == null)
                    {
                        OnBegin = new PackageEvent();
                    }

                    OnBegin.ReadBinary(reader);
                    break;

                case "POEA":
                    if (OnEnd == null)
                    {
                        OnEnd = new PackageEvent();
                    }

                    OnEnd.ReadBinary(reader);
                    break;

                case "POCA":
                    if (OnChange == null)
                    {
                        OnChange = new PackageEvent();
                    }

                    OnChange.ReadBinary(reader);
                    break;

                default:
                    throw new Exception();
                }
            }
        }
Пример #25
0
 protected override void EstablishContext()
 {
     base.EstablishContext();
     CleanException = new Exception("CleanException");
     Target1.Setup(t => t.Clean()).Throws(CleanException);
 }
Пример #26
0
 public void Test()
 {
     Target1.Verify(t => t.Clean(), Times.Once());
 }
Пример #27
0
        public override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (EditorID != null)
            {
                ele.TryPathTo("EditorID", true, out subEle);
                EditorID.WriteXML(subEle, master);
            }
            if (Data != null)
            {
                ele.TryPathTo("Data", true, out subEle);
                Data.WriteXML(subEle, master);
            }
            if (Location1 != null)
            {
                ele.TryPathTo("Location1", true, out subEle);
                Location1.WriteXML(subEle, master);
            }
            if (Location2 != null)
            {
                ele.TryPathTo("Location2", true, out subEle);
                Location2.WriteXML(subEle, master);
            }
            if (Schedule != null)
            {
                ele.TryPathTo("Schedule", true, out subEle);
                Schedule.WriteXML(subEle, master);
            }
            if (Target1 != null)
            {
                ele.TryPathTo("Target1", true, out subEle);
                Target1.WriteXML(subEle, master);
            }
            if (Conditions != null)
            {
                ele.TryPathTo("Conditions", true, out subEle);
                List <string> xmlNames = new List <string> {
                    "Condition"
                };
                int i = 0;
                foreach (var entry in Conditions)
                {
                    i = i % xmlNames.Count();
                    XElement newEle = new XElement(xmlNames[i]);
                    entry.WriteXML(newEle, master);
                    subEle.Add(newEle);
                    i++;
                }
            }
            if (IdleFlags != null)
            {
                ele.TryPathTo("Idle/Flags", true, out subEle);
                IdleFlags.WriteXML(subEle, master);
            }
            if (IdleCount != null)
            {
                ele.TryPathTo("Idle/Count", true, out subEle);
                IdleCount.WriteXML(subEle, master);
            }
            if (IdleTimerSetting != null)
            {
                ele.TryPathTo("Idle/TimerSetting", true, out subEle);
                IdleTimerSetting.WriteXML(subEle, master);
            }
            if (IdleAnimations != null)
            {
                ele.TryPathTo("Idle/Animations", true, out subEle);
                IdleAnimations.WriteXML(subEle, master);
            }
            if (Unused != null)
            {
                ele.TryPathTo("Unused", true, out subEle);
                Unused.WriteXML(subEle, master);
            }
            if (CombatStyle != null)
            {
                ele.TryPathTo("CombatStyle", true, out subEle);
                CombatStyle.WriteXML(subEle, master);
            }
            if (EatMarker != null)
            {
                ele.TryPathTo("EatMarker", true, out subEle);
                EatMarker.WriteXML(subEle, master);
            }
            if (EscortDistance != null)
            {
                ele.TryPathTo("EscortDistance", true, out subEle);
                EscortDistance.WriteXML(subEle, master);
            }
            if (FollowDistance_StartLocation_TriggerRadius != null)
            {
                ele.TryPathTo("FollowDistance_StartLocation_TriggerRadius", true, out subEle);
                FollowDistance_StartLocation_TriggerRadius.WriteXML(subEle, master);
            }
            if (PatrolIsRepeatable != null)
            {
                ele.TryPathTo("PatrolIsRepeatable", true, out subEle);
                PatrolIsRepeatable.WriteXML(subEle, master);
            }
            if (UseWeaponData != null)
            {
                ele.TryPathTo("UseWeaponData", true, out subEle);
                UseWeaponData.WriteXML(subEle, master);
            }
            if (Target2 != null)
            {
                ele.TryPathTo("Target2", true, out subEle);
                Target2.WriteXML(subEle, master);
            }
            if (UseItemMarker != null)
            {
                ele.TryPathTo("UseItemMarker", true, out subEle);
                UseItemMarker.WriteXML(subEle, master);
            }
            if (AmbushMarker != null)
            {
                ele.TryPathTo("AmbushMarker", true, out subEle);
                AmbushMarker.WriteXML(subEle, master);
            }
            if (DialogData != null)
            {
                ele.TryPathTo("DialogData", true, out subEle);
                DialogData.WriteXML(subEle, master);
            }
            if (DummyIgnore != null)
            {
                ele.TryPathTo("DummyIgnore", true, out subEle);
                DummyIgnore.WriteXML(subEle, master);
            }
            if (OnBegin != null)
            {
                ele.TryPathTo("OnBegin", true, out subEle);
                OnBegin.WriteXML(subEle, master);
            }
            if (OnEnd != null)
            {
                ele.TryPathTo("OnEnd", true, out subEle);
                OnEnd.WriteXML(subEle, master);
            }
            if (OnChange != null)
            {
                ele.TryPathTo("OnChange", true, out subEle);
                OnChange.WriteXML(subEle, master);
            }
        }
Пример #28
0
        public void When_Inherited_data_Context_Sequence_And_Converter()
        {
            var SUT = new Target1();

            var child = new Target2(SUT);

            var converter = new OppositeConverter();

            child.SetBinding(Target2.DataContextProperty, new Binding("Item.List[0]"));
            child.SetBinding("TargetValue", new Binding("Details.Info", converter: converter)
            {
                FallbackValue = 10
            });
            SUT.ChildrenBinders.Add(child);

            SUT.DataContext = new SourceLevel0();
            Assert.AreEqual(10, child.TargetValue);
            Assert.AreEqual(0, converter.ConversionCount);
            Assert.AreEqual(null, converter.LastValue);

            SUT.DataContext = null;
            Assert.AreEqual(10, child.TargetValue);
            Assert.AreEqual(0, converter.ConversionCount);
            Assert.AreEqual(null, converter.LastValue);

            SUT.DataContext = new SourceLevel0();
            Assert.AreEqual(10, child.TargetValue);
            Assert.AreEqual(0, converter.ConversionCount);
            Assert.AreEqual(null, converter.LastValue);

            SUT.DataContext = null;
            Assert.AreEqual(10, child.TargetValue);
            Assert.AreEqual(0, converter.ConversionCount);
            Assert.AreEqual(null, converter.LastValue);

            SUT.DataContext = new SourceLevel0()
            {
                Item = new SourceLevel1()
                {
                    List = new SourceLevel2[] { new SourceLevel2() }
                }
            };
            Assert.AreEqual(-1000, child.TargetValue);
            Assert.AreEqual(1, converter.ConversionCount);
            Assert.AreEqual(1000, converter.LastValue);

            // It breaks here, when a broken binding would replace a fully functional one.
            SUT.DataContext = new SourceLevel0();
            Assert.AreEqual(10, child.TargetValue);
            Assert.AreEqual(2, converter.ConversionCount);
            Assert.AreEqual(null, converter.LastValue);

            SUT.DataContext = new SourceLevel0()
            {
                Item = new SourceLevel1()
                {
                    List = new SourceLevel2[] { new SourceLevel2() }
                }
            };
            Assert.AreEqual(-1000, child.TargetValue);
            Assert.AreEqual(3, converter.ConversionCount);
            Assert.AreEqual(1000, converter.LastValue);

            SUT.DataContext = null;
            Assert.AreEqual(10, child.TargetValue);
            Assert.AreEqual(4, converter.ConversionCount);
            Assert.AreEqual(null, converter.LastValue);

            SUT.DataContext = new SourceLevel0()
            {
                Item = new SourceLevel1()
                {
                    List = new SourceLevel2[] { new SourceLevel2() }
                }
            };
            Assert.AreEqual(-1000, child.TargetValue);
            Assert.AreEqual(5, converter.ConversionCount);
            Assert.AreEqual(1000, converter.LastValue);
        }
Пример #29
0
 public static int GetMyExplicitValue(Target1 view)
 {
     return((int)DependencyObjectExtensions.GetValue(view, MyValueProperty));
 }
Пример #30
0
 protected override void EstablishContext()
 {
     base.EstablishContext();
     Exception = new Exception("Exception");
     Target1.Setup(t => t.Run(Client.Object)).Throws(Exception);
 }
Пример #31
0
 public static void SetMyExplicitValue(Target1 view, int row)
 {
     DependencyObjectExtensions.SetValue(view, MyValueProperty, row);
 }