コード例 #1
0
    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);
        }
    }