private void PreparePlacement(string templateName)
        {
            EntityTemplate template =
                IoCManager.Resolve <IEntityManagerContainer>().EntityManager.EntityTemplateDatabase.GetTemplate(
                    templateName);

            if (template == null)
            {
                return;
            }

            ComponentParameter spriteParam = template.GetBaseSpriteParamaters().FirstOrDefault();
            //Will break if states not ordered correctly.
            //if (spriteParam == null) return;

            var          spriteName = spriteParam == null?"":spriteParam.GetValue <string>();
            CluwneSprite sprite     = ResourceManager.GetSprite(spriteName);

            CurrentBaseSprite = sprite;
            CurrentTemplate   = template;

            IsActive = true;
        }
        public EntitySpawnSelectButton(EntityTemplate entityTemplate, string templateName,
                                       IResourceManager resourceManager)
        {
            _resourceManager = resourceManager;

            var    spriteNameParam = entityTemplate.GetBaseSpriteParamaters().FirstOrDefault();
            string SpriteName      = "";

            if (spriteNameParam != null)
            {
                SpriteName = spriteNameParam.GetValue <string>();
            }
            string ObjectName = entityTemplate.Name;

            associatedTemplate     = entityTemplate;
            associatedTemplateName = templateName;

            objectSprite = _resourceManager.GetSprite(SpriteName);

            font       = _resourceManager.GetFont("CALIBRI");
            name       = new TextSprite("Label" + SpriteName, "Name", font);
            name.Color = Color.Black;
            name.Text  = ObjectName;
        }