private void CreateEnemyEntities() { GameObject[] enemyCharacters = GameObject.FindGameObjectsWithTag(Tags.Enemy); foreach (GameObject enemyCharacter in enemyCharacters) { GameEntity entity = context.CreateEntity(); enemyCharacter.Link(entity); entity.isEnemy = true; entity.AddView(enemyCharacter); entity.AddPosition(enemyCharacter.transform.position); entity.AddHealth(10); entity.AddAttack(10); entity.AddDefenseStat(5); entity.AddSpeed(10); entity.AddBattleActionChoices(new List <BattleActionChoice> { new BattleActionChoice { ActionType = ActionType.AttackCharacter, IsAvailable = true }, new BattleActionChoice { ActionType = ActionType.Defend, IsAvailable = true } }); SpriteRenderer spriteRenderer = enemyCharacter.GetComponent <SpriteRenderer>(); if (spriteRenderer) { entity.AddBattleImage(spriteRenderer.sprite); } entity.isBattle = true; GameEntity actionEntity = context.CreateEntity(); actionEntity.AddExecutionTime(10f, 10f); actionEntity.AddBattleAction(entity.id.Id, ActionType.ChooseAction, ActionATBType.Waiting); } }