public static void Anubis_SetObjectBoss(ClientConnection Client, PacketReader reader, byte last) { //FF C0 02 FF 72 04 03 00 00 00 90 89 1D 01 00 00 00 00 96 00 00 00 01 00 00 00 00 00 00 00 90 89 1D 01 01 00 00 00 96 00 00 00 01 00 00 00 00 00 00 00 90 89 1D 01 02 00 00 00 96 00 00 00 01 00 00 00 00 00 00 00 40 //FF C0 02 FF 72 04 08 00 00 00 90 89 1D 01 03 00 00 00 FA 00 00 00 01 00 00 00 00 00 00 00 90 89 1D 01 04 00 00 00 78 00 00 00 01 00 00 00 00 00 00 00 90 89 1D 01 05 00 00 00 78 00 00 00 01 00 00 00 00 00 00 00 90 89 1D 01 06 00 00 00 78 00 00 00 01 00 00 00 00 00 00 00 90 89 1D 01 09 00 00 00 78 00 00 00 01 00 00 00 00 00 00 00 90 89 1D 01 0A 00 00 00 78 00 00 00 01 00 00 00 00 00 00 00 90 89 1D 01 0B 00 00 00 FA 00 00 00 01 00 00 00 00 00 00 00 90 89 1D 01 10 00 00 00 78 00 00 00 01 00 00 00 00 00 00 00 04 Account User = Client.CurrentAccount; NormalRoom room = Rooms.GetRoom(User.CurrentRoomId); int bosscount = reader.ReadLEInt32(); for (int i = 1; i <= bosscount; i++) { int unk3 = reader.ReadLEInt32(); int bossid = reader.ReadLEInt32(); int hp = reader.ReadLEInt32(); int unk = reader.ReadLEInt32(); int unk2 = reader.ReadLEInt32(); ObjectBoss objectBoss = new ObjectBoss(); objectBoss.HP = hp; objectBoss.MaxHP = hp; room.AnubisObjectBoss.TryAdd(bossid, objectBoss); } room.BroadcastToAll(new AnubisObjectBossInit(room, last)); //room.BroadcastToAll(new AnubisObjectBossInitFail(room, last)); }
public void should_instanciate_and_contain_iobjectbuilder_as_a_singleton() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<SimpleObjectType>()); Assert.IsTrue(objectBoss.ContainsUsing<IObjectBuilder, ObjectBoss>()); Assert.IsTrue(objectBoss.GetSingletonCount() > 0); }
public void should_instantiate_and_contain_instantiated_instance_for_objectbuilder() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<SimpleObjectType>()); var ibo = objectBoss.GetInstance<IObjectBuilder>(); Assert.AreEqual(objectBoss, ibo); }
public void should_add_object_as_singleton_and_get_the_same_instance_whenever_it_is_retrieved() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<SimpleObjectType>().Singleton()); var simpleObject1 = objectBoss.GetInstance<SimpleObjectType>(); var simpleObject2 = objectBoss.GetInstance<SimpleObjectType>(); Assert.IsTrue(objectBoss.GetSingletonCount() == 2); Assert.IsNotNull(simpleObject1); Assert.IsNotNull(simpleObject2); Assert.IsTrue(simpleObject1.Id == simpleObject2.Id); }
public void should_send_and_receive_messages() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<ReceiveMessage>().ForMessagging()); var recieveMessage = objectBoss.GetInstance<ReceiveMessage>(); Assert.IsTrue(recieveMessage.Count == 1); objectBoss.SendMessage(new AddMessage() { HowMuchToAdd = 5 }); Assert.IsTrue(recieveMessage.Count == 6); }
public void should_be_able_to_add_an_interface_as_a_singleton() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.AddUsing<ISimpleInterface, SimpleObjectType>().Singleton()); var simpleObject1 = objectBoss.GetInstance<ISimpleInterface>(); var simpleObject2 = objectBoss.GetInstance<ISimpleInterface>(); Assert.IsTrue(objectBoss.GetSingletonCount() == 2); Assert.IsNotNull(simpleObject1); Assert.IsNotNull(simpleObject2); Assert.IsTrue(simpleObject1.Id == simpleObject2.Id); }
public void should_be_able_to_bind_to_an_instance_using_interface_and_get_that_instance() { var simpleObject = new SimpleObjectType(); var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.AddUsing<ISimpleInterface, SimpleObjectType>().BindTo(simpleObject); }); var soi = objectBoss.GetInstance<ISimpleInterface>(); Assert.AreEqual(simpleObject.Id, soi.Id); }
public void should_be_able_to_bind_to_a_concrete_instance_and_get_that_instance() { var simpleObject = new SimpleObjectType(); var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.Add<SimpleObjectType>().BindTo(simpleObject); }); var soc = objectBoss.GetInstance<SimpleObjectType>(); Assert.AreEqual(simpleObject.Id, soc.Id); }
public static void CorunMode_SetObjectBossEnergy(ClientConnection Client, PacketReader reader, byte last) { //eRoom_CORUN_MODE_SET_OBJECT_BOSS_ENERGY_REQ Account User = Client.CurrentAccount; NormalRoom room = Rooms.GetRoom(User.CurrentRoomId); int boss = reader.ReadLEInt32(); long bossid = reader.ReadLEInt64(); int bosshp = reader.ReadLEInt32(); int inithp = bosshp / ServerSettingHolder.ServerSettings.corunModeDecreaseEnergyRatio; ObjectBoss objectBoss = new ObjectBoss(); objectBoss.HP = inithp; objectBoss.MaxHP = inithp; room.ObjectBoss.TryAdd(bossid, objectBoss); room.BroadcastToAll(new CorunMode_SetObjectBossEnergy_Ack(boss, bossid, last)); }
public void when_handler_weak_reference_is_gone_should_no_longer_receive_messages() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<ReceiveMessage>().ForMessagging()); var recieveMessage = objectBoss.GetInstance<ReceiveMessage>(); Assert.IsTrue(recieveMessage.Count == 1); objectBoss.SendMessage(new AddMessage() { HowMuchToAdd = 5 }); Assert.IsTrue(recieveMessage.Count == 6); objectBoss.UnregisterTypeForMessaging(recieveMessage.GetType()); Assert.IsNotNull(recieveMessage); objectBoss.SendMessage(new AddMessage() { HowMuchToAdd = 5 }); Assert.IsTrue(recieveMessage.Count == 6); }
public void should_only_receive_messages_if_registered_to_receive_messages() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.Add<ReceiveMessage>().ForMessagging(); x.Add<DoesNotReceiveMessage>(); }); var recieveMessage = objectBoss.GetInstance<ReceiveMessage>(); var doesNotReceive = objectBoss.GetInstance<DoesNotReceiveMessage>(); Assert.IsTrue(recieveMessage.Count == 1); Assert.IsTrue(doesNotReceive.Count == 1); objectBoss.SendMessage(new AddMessage() { HowMuchToAdd = 5 }); Assert.IsTrue(recieveMessage.Count == 6); Assert.IsTrue(doesNotReceive.Count == 1); }
public void should_be_able_to_configure_a_constructor_with_primitives_and_inject_complex_type() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.Add<ObjectWithPrimitives>() .WithCustomConstructor(new Dictionary<string, object>() { {"isCool", true}, {"myAge", 31} }); x.Add<ComplexObjectWithTwoDependencies>(); }); var primitiveObject = objectBoss.GetInstance<ObjectWithPrimitives>(); Assert.AreEqual(primitiveObject.IsCool, true); Assert.AreEqual(primitiveObject.MyAge, 31); Assert.IsNotNull(primitiveObject.ComplexObject); Assert.IsNotNull(primitiveObject.ComplexObject.OneDependencyObject); Assert.IsNotNull(primitiveObject.ComplexObject.SimpleObjectType); }
public void should_get_crushed_by_threads_and_work() { var simpleObjects = new List<SimpleObjectType>(); var complexDependentObjects = new List<ComplexObjectWithInterfaceDependencies>(); var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.AddUsingDefaultType<ISimpleInterface, SimpleObjectType>(); x.AddUsingDefaultType<IComplexInterface, ComplexObjectWithTwoDependencies>().Singleton(); x.Add<ComplexObjectWithInterfaceDependencies>(); x.Add<SimpleObjectType>(); }); Parallel.For(0, 10000, i => { simpleObjects.Add(objectBoss.GetInstance<SimpleObjectType>()); complexDependentObjects.Add(objectBoss.GetInstance<ComplexObjectWithInterfaceDependencies>()); Thread.Sleep(2); }); Parallel.For(0, 10000, i => { simpleObjects.Add(objectBoss.GetInstance<SimpleObjectType>()); complexDependentObjects.Add(objectBoss.GetInstance<ComplexObjectWithInterfaceDependencies>()); Thread.Sleep(4); }); Parallel.For(0, 10000, i => { simpleObjects.Add(objectBoss.GetInstance<SimpleObjectType>()); complexDependentObjects.Add(objectBoss.GetInstance<ComplexObjectWithInterfaceDependencies>()); Thread.Sleep(6); }); Assert.IsTrue(simpleObjects.Count == 30000); Assert.IsTrue(complexDependentObjects.Count == 30000); }
public void should_be_able_to_configure_a_custom_constructor_with_primitives() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<ObjectWithPrimitives>() .WithCustomConstructor(new Dictionary<string, object>() { {"isCool", true}, {"myAge", 31} })); var primitiveObject = objectBoss.GetInstance<ObjectWithPrimitives>(); Assert.AreEqual(primitiveObject.IsCool, true); Assert.AreEqual(primitiveObject.MyAge, 31); }
public void should_inject_singleton_interface_and_get_instance_singleton_interface_and_they_should_be_the_same() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.AddUsingDefaultType<ISimpleInterface, SimpleObjectType>(); x.AddUsingDefaultType<IComplexInterface, ComplexObjectWithTwoDependencies>().Singleton(); x.Add<ComplexObjectWithInterfaceDependencies>(); }); var complexObjectWithInterfaceDependencies = objectBoss.GetInstance<ComplexObjectWithInterfaceDependencies>(); var complexInterface = objectBoss.GetInstance<IComplexInterface>(); Assert.IsNotNull(complexObjectWithInterfaceDependencies); Assert.IsNotNull(complexInterface); Assert.IsTrue(complexInterface.Id == complexObjectWithInterfaceDependencies.ComplexInterface.Id); }
public void should_contain_a_class_definition_defined_with_a_key() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.AddUsing<ISimpleInterface, SimpleObjectType>("testkey"); }); Assert.IsTrue(objectBoss.Contains("testkey")); }
public void should_instantiate_and_contain_itself_in_config_as_ibuildobjects() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<SimpleObjectType>()); Assert.IsTrue(objectBoss.ContainsUsing<IObjectBuilder, ObjectBoss>()); }
public void should_retrieve_default_type_when_multiple_types_are_defined() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.AddUsing<ISimpleInterface, SimpleObjectType>(); x.AddUsingDefaultType<ISimpleInterface, AnotherSimpleObject>(); }); var anotherSimpleObject = objectBoss.GetInstance<ISimpleInterface>(); Assert.IsNotNull(anotherSimpleObject); Assert.IsTrue(anotherSimpleObject.Name == "SimpleObject2"); }
public void should_retrieve_concrete_classes_of_interfaces_by_key() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.AddUsing<ISimpleInterface, SimpleObjectType>("object1"); x.AddUsing<ISimpleInterface, AnotherSimpleObject>("object2"); }); var object1 = objectBoss.GetInstance<ISimpleInterface>("object1"); var object2 = objectBoss.GetInstance<ISimpleInterface>("object2"); Assert.IsNotNull(object1); Assert.IsTrue(object1.Name == "SimpleObject1"); Assert.IsNotNull(object2); Assert.IsTrue(object2.Name == "SimpleObject2"); }
public void should_retrieve_a_default_type() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.AddUsingDefaultType<ISimpleInterface, SimpleObjectType>()); var simpleType = objectBoss.GetInstance<ISimpleInterface>(); Assert.IsNotNull(simpleType); Assert.IsTrue(simpleType.Name == "SimpleObject1"); }
public void should_retreive_an_object_based_purely_on_key() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.AddUsing<ISimpleInterface, SimpleObjectType>("object1"); }); var object1 = objectBoss.GetInstance("object1") as ISimpleInterface; Assert.IsNotNull(object1); Assert.IsTrue(object1.Name == "SimpleObject1"); }
public void should_inject_interfaces_as_dependencies() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.AddUsingDefaultType<ISimpleInterface, SimpleObjectType>(); x.AddUsingDefaultType<IComplexInterface, ComplexObjectWithTwoDependencies>(); x.Add<ComplexObjectWithInterfaceDependencies>(); }); var complexObjectWithInterfaceDependencies = objectBoss.GetInstance<ComplexObjectWithInterfaceDependencies>(); Assert.IsNotNull(complexObjectWithInterfaceDependencies.ComplexInterface); Assert.IsNotNull(complexObjectWithInterfaceDependencies.SimpleInterface); Assert.IsInstanceOfType(complexObjectWithInterfaceDependencies.ComplexInterface, typeof(IComplexInterface)); Assert.IsInstanceOfType(complexObjectWithInterfaceDependencies.SimpleInterface, typeof(ISimpleInterface)); }
public void should_get_all_instances_of_an_interface() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.AddUsing<ISimpleInterface, SimpleObjectType>(); x.AddUsing<ISimpleInterface, AnotherSimpleObject>(); }); var allInstances = objectBoss.GetAllInstances<ISimpleInterface>().ToList(); Assert.IsTrue(allInstances.Count == 2); var simpleObject1 = allInstances[0]; Assert.IsNotNull(simpleObject1); Assert.IsTrue(simpleObject1.Name == "SimpleObject1"); var simpleObject2 = allInstances[1]; Assert.IsNotNull(simpleObject2); Assert.IsTrue(simpleObject2.Name == "SimpleObject2"); }
public void should_register_an_interface_using_a_concrete_class() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.AddUsing<ISimpleInterface, SimpleObjectType>()); Assert.IsTrue(objectBoss.ContainsUsing<ISimpleInterface, SimpleObjectType>()); }
public void should_add_all_types_from_a_registry() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.AddRegistry<TestRegistry>()); Assert.IsTrue(objectBoss.Contains<SimpleObjectType>() && objectBoss.Contains<AnotherSimpleObject>() && objectBoss.Contains<ObjectWithOneDependency>()); }
public void should_get_multiple_instances_of_objects_that_are_not_defined_as_singleton() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<SimpleObjectType>()); var simpleObject1 = objectBoss.GetInstance<SimpleObjectType>(); var simpleObject2 = objectBoss.GetInstance<SimpleObjectType>(); Assert.IsTrue(objectBoss.GetRegisteredClassCount() == 2); Assert.IsNotNull(simpleObject1); Assert.IsNotNull(simpleObject2); Assert.IsTrue(simpleObject1.Id != simpleObject2.Id); }
public void should_return_parameterless_object_instance() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<SimpleObjectType>()); var simpleObject = objectBoss.GetInstance<SimpleObjectType>(); Assert.IsNotNull(simpleObject); Assert.IsInstanceOfType(simpleObject, typeof(SimpleObjectType)); }
public void should_inject_simple_object_type_into_object_with_one_dependency() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.Add<SimpleObjectType>(); x.Add<ObjectWithOneDependency>(); }); var objectWithOneDependecy = objectBoss.GetInstance<ObjectWithOneDependency>(); Assert.IsInstanceOfType(objectWithOneDependecy, typeof(ObjectWithOneDependency)); Assert.IsNotNull(objectWithOneDependecy.SimpleObjectType); Assert.IsInstanceOfType(objectWithOneDependecy.SimpleObjectType, typeof(SimpleObjectType)); }
public void should_register_an_interface_and_have_a_default_concrete_type() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.AddUsing<ISimpleInterface, SimpleObjectType>()); Assert.IsTrue(objectBoss.Contains<ISimpleInterface>()); }
public void should_wire_up_objects_for_complex_object_with_two_dependencies() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => { x.Add<SimpleObjectType>(); x.Add<ObjectWithOneDependency>(); x.Add<ComplexObjectWithTwoDependencies>(); }); var complexObject = objectBoss.GetInstance<ComplexObjectWithTwoDependencies>(); Assert.IsInstanceOfType(complexObject, typeof(ComplexObjectWithTwoDependencies)); Assert.IsNotNull(complexObject.SimpleObjectType); Assert.IsInstanceOfType(complexObject.SimpleObjectType, typeof(SimpleObjectType)); Assert.IsNotNull(complexObject.OneDependencyObject); Assert.IsInstanceOfType(complexObject.OneDependencyObject, typeof(ObjectWithOneDependency)); Assert.IsNotNull(complexObject.OneDependencyObject.SimpleObjectType); Assert.IsInstanceOfType(complexObject.OneDependencyObject.SimpleObjectType, typeof(SimpleObjectType)); }
public void should_register_a_simple_object_type() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<SimpleObjectType>()); Assert.IsTrue(objectBoss.Contains<SimpleObjectType>()); }
public void should_contain_an_object_definition_when_one_is_defined() { var objectBoss = new ObjectBoss(); objectBoss.Configure(x => x.Add<SimpleObjectType>()); Assert.IsTrue(objectBoss.Contains<SimpleObjectType>()); }