Exemplo n.º 1
0
        /// <summary>
        /// <see cref="Entity"/> の初期化をします。
        /// </summary>
        /// <param name="nbt"><see cref="Entity"/> のNBTデータ</param>
        protected virtual void EntityInit(CompoundTag nbt)
        {
            ListTag list = nbt.GetList("Pos");

            this.X       = ((FloatTag)list[0]).Data;
            this.Y       = ((FloatTag)list[1]).Data;
            this.Z       = ((FloatTag)list[2]).Data;
            list         = nbt.GetList("Motion");
            this.MotionX = ((FloatTag)list[0]).Data;
            this.MotionY = ((FloatTag)list[1]).Data;
            this.MotionZ = ((FloatTag)list[2]).Data;
            list         = nbt.GetList("Rotation");
            this.Yaw     = ((FloatTag)list[0]).Data;
            this.Pitch   = ((FloatTag)list[1]).Data;

            this.ResetLastMovements();
            this.RecalculateBoundingBox();

            this.DataProperties = new EntityMetadataManager(this.EntityID);
            this.SetDataProperty(new EntityDataLong(DATA_FLAGS, 0));
            this.SetDataProperty(new EntityDataShort(DATA_AIR, 400));
            this.SetDataProperty(new EntityDataShort(DATA_MAX_AIR, 400));
            this.SetDataProperty(new EntityDataString(DATA_NAMETAG, ""));
            this.SetDataProperty(new EntityDataLong(DATA_LEAD_HOLDER_EID, -1));
            this.SetDataProperty(new EntityDataFloat(DATA_SCALE, 1.0f));
            this.SetDataProperty(new EntityDataFloat(DATA_BOUNDING_BOX_WIDTH, this.Width));
            this.SetDataProperty(new EntityDataFloat(DATA_BOUNDING_BOX_HEIGHT, this.Height));

            this.SetFlag(DATA_FLAGS, DATA_FLAG_HAS_COLLISION);
            this.SetFlag(DATA_FLAGS, DATA_FLAG_GRAVITY);

            this.Attributes = new EntityAttributeDictionary(this.EntityID);
        }
Exemplo n.º 2
0
 public override void EntityInit()
 {
     this.Attributes = new EntityAttributeDictionary(this.EntityID);
     this.Attributes.AddAttribute(EntityAttribute.HEALTH);
     this.Attributes.AddAttribute(EntityAttribute.ABSORPTION);
     this.Attributes.AddAttribute(EntityAttribute.KNOCKBACK_RESISTANCE);
     this.Attributes.AddAttribute(EntityAttribute.MOVEMENT_SPEED);
 }
Exemplo n.º 3
0
        public void EntityAttributeDictionary_GetRelatedEntityForeignProperties_NoAttributes_Test()
        {
            // Arrange
            // Act
            var actual = new EntityAttributeDictionary().GetRelatedEntityForeignProperties(typeof(Person));

            // Assert
            Assert.IsFalse(actual.Any());
        }
Exemplo n.º 4
0
        public void EntityAttributeDictionary_GetReadOnlyProperty_NoAttributes_Test()
        {
            // Arrange
            // Act
            var actual = new EntityAttributeDictionary().GetReadOnlyProperty(typeof(Person));

            // Assert
            Assert.IsNull(actual);
        }
Exemplo n.º 5
0
        public void EntityAttributeDictionary_GetRelatedEntityMappingProperties_Null_Test()
        {
            // Arrange
            // Act
            var actual = new EntityAttributeDictionary().GetRelatedEntityMappingProperties(null);

            // Assert
            Assert.IsFalse(actual.Any());
        }
Exemplo n.º 6
0
        public void EntityAttributeDictionary_GetDisplayProperty_Null_Test()
        {
            // Arrange
            // Act
            var actual = new EntityAttributeDictionary().GetDisplayProperty(null);

            // Assert
            Assert.IsNull(actual);
        }
Exemplo n.º 7
0
        public void EntityAttributeDictionary_GetReadOnlyProperty_AttributeExists_Test()
        {
            // Arrange
            // Act
            var actual = new EntityAttributeDictionary().GetReadOnlyProperty(typeof(Country));

            // Assert
            Assert.AreEqual("@UI.ReadOnly", actual.First().Key);
            Assert.IsTrue((bool)actual.First().Value);
        }
Exemplo n.º 8
0
        public void EntityAttributeDictionary_GetDisplayProperty_DisplayColumnAttributeExists_Test()
        {
            // Arrange
            // Act
            var actual = new EntityAttributeDictionary().GetDisplayProperty(typeof(Smile));

            // Assert
            Assert.AreEqual("@UI.DisplayProperty", actual.First().Key);
            Assert.AreEqual("SmileType", actual.First().Value);
        }
Exemplo n.º 9
0
        public void EntityAttributeDictionary_GetRelatedEntityMappingProperties_AttributeWithAliasExists_Test()
        {
            // Arrange
            // Act
            var actual = new EntityAttributeDictionary().GetRelatedEntityMappingProperties(typeof(EntityWithRelatedEntityAlias));

            // Assert
            Assert.AreEqual("E2s", actual.First().Key);
            Assert.AreEqual(typeof(CsdlNavigationProperty), actual.First().Value.GetType());
        }
Exemplo n.º 10
0
        public void EntityAttributeDictionary_GetRelatedEntityForeignProperties_AttributeExists_Test()
        {
            // Arrange
            // Act
            var actual = new EntityAttributeDictionary().GetRelatedEntityForeignProperties(typeof(Product));

            // Assert
            Assert.AreEqual("Skus", actual.First().Key);
            Assert.AreEqual(typeof(CsdlNavigationProperty), actual.First().Value.GetType());
        }
Exemplo n.º 11
0
 public void WriteAttributes(EntityAttributeDictionary dictionary)
 {
     EntityAttribute[] attributes = dictionary.ToArray;
     this.WriteUVarInt((uint)attributes.Length);
     for (int i = 0; i < attributes.Length; ++i)
     {
         this.WriteLFloat(attributes[i].MinValue);
         this.WriteLFloat(attributes[i].MaxValue);
         this.WriteLFloat(attributes[i].Value);
         this.WriteLFloat(attributes[i].DefaultValue);
         this.WriteString(attributes[i].Name);
     }
 }
Exemplo n.º 12
0
        public void EntityAttributeDictionary_GetRelatedEntityMappingProperties_AttributeExists_Test()
        {
            // Arrange
            // Act
            var actual = new EntityAttributeDictionary().GetRelatedEntityMappingProperties(typeof(User)).ToList();

            // Assert
            Assert.AreEqual(2, actual.Count);
            Assert.AreEqual("UserRoles", actual[0].Key);
            Assert.AreEqual(typeof(CsdlNavigationProperty), actual[0].Value.GetType());
            Assert.AreEqual("UserGroups", actual[1].Key);
            Assert.AreEqual(typeof(CsdlNavigationProperty), actual[1].Value.GetType());
        }