Ejemplo n.º 1
0
    /// <summary>
    /// Adds a modification.
    /// </summary>
    /// <param name="mod_type"></param>
    public void Add_Modification(string mod_type)
    {
        Modification mod = Modification_Prefab_Manager.GetInstance().SearchModification(mod_type).GetComponent <Modification>();

        foreach (Modification_Base mBase in Modification_Bases.GetAllBases())
        {
            if (mBase.AttachModification(mod))
            {
                Send.SpawnMod(mod_type, ConnectionEnemyHandler.GetInstance().allExistingEnemies.FindIndex(x => x == gameObject));
                Apply_Modification_Boosts();
                foreach (GameObject player in Battle_Manager.GetInstance().GetBattle(gameObject).GetPlayers())
                {
                    /*
                     * if (player.GetComponent<LockOnTarget>().targetedCreature.Equals(gameObject))
                     * {
                     *  player.GetComponent<LockOnTarget>().RefreshTargets();
                     * }
                     */
                }
            }
        }


        return;
    }
Ejemplo n.º 2
0
 private void Update()
 {
     CoolDownTime();
     if (executingAttack)
     {
         transform.position += transform.forward * enemyScript.max_movement_speed * 2 * Time.deltaTime;
         Send.MoveEnemy(transform.position, transform.rotation, ConnectionEnemyHandler.GetInstance().allExistingEnemies.FindIndex(x => x == gameObject));
     }
 }
Ejemplo n.º 3
0
 public override void Behaviour()
 {
     if (enemyScript.current_speed < enemyScript.max_movement_speed)
     {
         enemyScript.current_speed += enemyScript.max_movement_speed * 0.01f;
     }
     transform.LookAt(new Vector3(enemyScript.target.transform.position.x, gameObject.transform.position.y, enemyScript.target.transform.position.z));
     transform.position += transform.forward * enemyScript.current_speed * Time.deltaTime;
     Send.MoveEnemy(transform.position, transform.rotation, ConnectionEnemyHandler.GetInstance().allExistingEnemies.FindIndex(x => x == gameObject));
 }
Ejemplo n.º 4
0
    private void Update()
    {
        if (enemyScript.target != null)
        {
            transform.rotation = Quaternion.LookRotation(enemyScript.target.transform.position - transform.position);
            Send.MoveEnemy(transform.position, transform.rotation, ConnectionEnemyHandler.GetInstance().allExistingEnemies.FindIndex(x => x == gameObject));
        }

        CoolDownTime();
    }
Ejemplo n.º 5
0
 protected override void MovementBehaviour()
 {
     if (target != null)
     {
         if (Vector3.Distance(gameObject.transform.position, target.transform.position) < current_range * 0.8)
         {
             transform.position = Vector3.MoveTowards(gameObject.transform.position, target.transform.position, -1 * current_speed * Time.deltaTime);
             Send.MoveEnemy(transform.position, transform.rotation, ConnectionEnemyHandler.GetInstance().allExistingEnemies.FindIndex(x => x == gameObject));
         }
     }
 }
Ejemplo n.º 6
0
    public static void AskCombatEnemies(int fromClient, Packet packet)
    {
        int player_id = packet.ReadInt();
        //ConnectionEnemyHandler.GetInstance().allExistingEnemies
        List <int> indexes = new List <int>();

        foreach (GameObject enemy in Battle_Manager.GetInstance().GetBattle(Server.clients[fromClient].player.gameObject).GetEnemies())
        {
            indexes.Add(ConnectionEnemyHandler.GetInstance().allExistingEnemies.FindIndex(x => x == enemy));
        }
        Send.ReturnCombatEnemies(player_id, indexes.ToArray());
    }
Ejemplo n.º 7
0
    private void SpawnWave(int numberOfEnemies)
    {
        int spawnedEnemies = 0;

        while (spawnedEnemies < numberOfEnemies)
        {
            int     index        = UnityEngine.Random.Range(0, room.Instantiated_Tiles.Count - 1);
            Vector3 tileLocation = room.Instantiated_Tiles[index].transform.position;
            Vector3 center       = new Vector3((tileLocation.x + (tileLocation.x + Tile.X_length)) / 2f, 2, (tileLocation.z + (tileLocation.z - Tile.Z_length)) / 2f);
            int     melee_ranged = UnityEngine.Random.Range(0, 2);
            if (melee_ranged == 0)
            {
                GameObject enemy = UnityEngine.Object.Instantiate(Enemy_Prefab_Manager.GetInstance().GetMeleeEnemies()[0], center, new Quaternion());

                enemy.GetComponent <Basic_Enemy>().battle = this;
                AddEnemy(enemy);
                ConnectionEnemyHandler.GetInstance().allExistingEnemies.Add(enemy);
                Send.SpawnEnemy(enemy.name, enemy.transform.position);
                for (int i = 0; i < enemy.GetComponent <Basic_Enemy>().Modification_Bases.GetAllBases().Count; i++)
                {
                    enemy.GetComponent <Basic_Enemy>().Add_Modification(ModMaestro.GetInstance().ChooseMeleeModification());
                }
            }
            else
            {
                GameObject enemy = UnityEngine.Object.Instantiate(Enemy_Prefab_Manager.GetInstance().GetRangedEnemies()[0], center, new Quaternion());

                enemy.GetComponent <Basic_Enemy>().battle = this;
                AddEnemy(enemy);
                ConnectionEnemyHandler.GetInstance().allExistingEnemies.Add(enemy);
                Send.SpawnEnemy(enemy.name, enemy.transform.position);
                for (int i = 0; i < enemy.GetComponent <Basic_Enemy>().Modification_Bases.GetAllBases().Count; i++)
                {
                    enemy.GetComponent <Basic_Enemy>().Add_Modification(ModMaestro.GetInstance().ChooseRangedModification());
                }
            }
            spawnedEnemies++;
        }
    }
Ejemplo n.º 8
0
 ConnectionEnemyHandler()
 {
     instance           = this;
     allExistingEnemies = new List <GameObject>();
 }