Beispiel #1
0
    HealthEntityCombatObject SpawnEntity(HealthEntity entity, Transform entityHolder, PlayerHand hand = null, GameObject ui = null)
    {
        GameObject newHealthEntityGO = GameObject.Instantiate(entityPrefab, entityHolder);

        newHealthEntityGO.name = entity.Name;

        if (entity is Player)
        {
            PlayerCombatObject player = newHealthEntityGO.gameObject.AddComponent <PlayerCombatObject>();
            player.ui = GameObject.Instantiate(floatingPlayerUiPrefab, newHealthEntityGO.transform).GetComponent <PlayerUI>();
            player.ui.gameObject.name = "UI";
            player.ui.player          = player;
            player.Init((Player)entity, hand, ui, OnEntityDeath);

            return(player);
        }
        else if (entity is Enemy)
        {
            Enemy             enemyEntity = entity as Enemy;
            EnemyCombatObject enemy       = newHealthEntityGO.gameObject.AddComponent <EnemyCombatObject>();
            enemy.ui = GameObject.Instantiate(floatingEnemyUiPrefab, newHealthEntityGO.transform).GetComponent <EnemyUI>();
            enemy.ui.gameObject.name = "UI";
            enemy.ui.enemy           = enemy;
            enemy.Init(enemyEntity, 0, OnEntityDeath);

            return(enemy);
        }
        return(null);
    }