コード例 #1
0
        public static ClientEntity ClientEntityFactory(EntityMessage em, BFBContentManager content)
        {
            IGraphicsComponent graphicsComponent = null;

            switch (em.EntityType)
            {
            case EntityType.Item:
                graphicsComponent = new ItemGraphicsComponent(content.GetAtlasTexture(em.TextureKey));
                break;

            case EntityType.Mob:
            case EntityType.Player:
            case EntityType.Projectile:
            case EntityType.Particle:
                graphicsComponent = new AnimationComponent(content.GetAnimatedTexture(em.TextureKey));
                break;
            }

            return(new ClientEntity(em.EntityId,
                                    new EntityOptions
            {
                Dimensions = em.Dimensions,
                Position = em.Position,
                Rotation = em.Rotation,
                Origin = em.Origin,
                EntityType = em.EntityType
            }, graphicsComponent));
        }