void Nullify_Timer()
 {
     TimeCounter = 12;
     foreach (Transform sec in Timer.transform)
     {
         sec.gameObject.active = true;
     }
     if (isActiveEnemy != null)
     {
         isActiveEnemy.isActive = false;
     }
     if (isActiveSlave != null)
     {
         isActiveSlave.isActive = false;
     }
     if (isActiveStuff != null)
     {
         isActiveStuff.isActive = false;
     }
     isActiveSlave = null;
     isActiveEnemy = null;
     isActiveStuff = null;
     SlaveCurrent  = null;
     EnemyCurrent  = null;
     StuffCurrent  = null;
 }
        public EnemyEntity(MarsWorld world, EnemyProperties properties)
            : base(world)
        {
            this.Type = EntityType.AI;

            this.properties = properties;

            this.walkSpeed = random.Next(properties.WalkspeedRange.X,
                                         properties.WalkspeedRange.Y);

            this.attackInterval =
                TimeSpan.FromMilliseconds(properties.AttackInterval);

            this.Health = GetMaxHealth();

            IsCollidable = true;

            healthBar = new HealthBar(properties.HealthBarSize);

            // delete the enemy
            OnDeath += (a, b) => { Delete(); };

            // initialize animations
            initAnimations();
        }
Exemple #3
0
    public void TriggerRandomBattle()
    {
        battleTriggered = true;

        randomBattle = true;

        int randomEnemyIndex = Random.Range(0, randomEnemies.Length);

        int level = playerWorld.GetLevel() - Random.Range(0, 3);

        if (level < 0)
        {
            level = 0;
        }

        Debug.Log(level);

        randomEnemyPropeties = new EnemyProperties(enemyID, randomEnemies[randomEnemyIndex].GetEnemyType(), randomEnemies[randomEnemyIndex].GetMoves(), randomEnemies[randomEnemyIndex].GetSprite(), randomEnemies[randomEnemyIndex].GetName(), randomEnemies[randomEnemyIndex].GetAlive(), level, randomEnemies[randomEnemyIndex].GetBaseStrength(), randomEnemies[randomEnemyIndex].GetRateStrength(), randomEnemies[randomEnemyIndex].GetBaseDexterity(), randomEnemies[randomEnemyIndex].GetRateDexterity(), randomEnemies[randomEnemyIndex].GetBaseIntelligence(), randomEnemies[randomEnemyIndex].GetRateIntelligence());
        Debug.Log(randomEnemyPropeties.ToString());

        enemyID++;

        gameState = GameState.Battle;
        sceneFader.FadeIntoScene(battleSceneName);
        playerLastPosition = playerGO.transform.position;
    }
 void Start()
 {
     distanceController = GameObject.Find("_DistanceController").GetComponent<DistanceController>();
     properties = GetComponent<EnemyProperties>();
     myTransform = transform;
     despawnVector = new Vector2(myTransform.position.x, 15);
 }
Exemple #5
0
 private void Awake()
 {
     _enemyProperties = transform.parent.GetComponent <EMovement>().enemyProperties;
     _currentHealth   = _enemyProperties.health;
     spawner          = GameObject.Find("EnemySpawner").GetComponent <EnemySpawner>();
     pointManager     = GameObject.Find("Game Manger").GetComponent <PointManger>();
 }
Exemple #6
0
    void UpdateTarget()
    {
        //TODO remove find to reduce searches
        GameObject[] enemies      = GameObject.FindGameObjectsWithTag(enemyTag);
        float        shortestDist = Mathf.Infinity;
        GameObject   nearestEnemy = null;

        foreach (GameObject enemy in enemies)
        {
            float distToEnemy = Vector3.Distance(transform.position, enemy.transform.position);
            if (distToEnemy < shortestDist)
            {
                nearestEnemy = enemy;
                shortestDist = distToEnemy;
            }
        }

        if (nearestEnemy != null && shortestDist <= range)
        {
            if (useLaser && targetEnemy != null)
            {
                targetEnemy.speed = targetEnemy.startSpeed;
            }

            target      = nearestEnemy.transform;
            targetEnemy = nearestEnemy.GetComponent <EnemyProperties>();
        }
        else
        {
            target = null;
        }
    }
Exemple #7
0
    IEnumerator FireLaser()
    {
        line.enabled = true;

        while (Input.GetButton("Fire1"))
        {
            Ray        ray = new Ray(transform.position, transform.forward);
            RaycastHit hit;

            line.SetPosition(0, ray.origin);

            if (Physics.Raycast(ray, out hit, 100))
            {
                line.SetPosition(1, hit.point);

                if (hit.rigidbody)
                {
                    EnemyProperties enemy = hit.collider.GetComponent <EnemyProperties>();
                    Debug.Log("body hit" + hit.rigidbody.name);
                    enemy.TakeDamage(10);
                    // hit.rigidbody.AddForceAtPosition(transform.forward* 10, hit.point);
                }
            }
            else
            {
                line.SetPosition(1, ray.GetPoint(100));
            }

            yield return(null);
        }

        line.enabled = false;
    }
    public override void Enter()
    {
        if (!attack)
        {
            // count the number of times the melee mob attacks
            chargeCounter = charge;
            enemyProp     = melee.GetComponent <EnemyProperties>();
            int nAmmo = enemyProp.getAmmo();

            if (chargeCounter < 20)
            {
                // transform.position something something
                // make the enemy dash forward towards the player in a straight line

                if (!hit)
                {
                    nextState = new MeleeStateReturn(m_MeleeFSM);
                    attack    = true;
                }
                else
                {
                    nextState = new MeleeStateExplode(m_MeleeFSM);

                    attack = true;
                }
            }
            else
            {
                nextState = new MeleeStateRetreat(m_MeleeFSM);
            }
        }

        Execute();
    }
 void Start()
 {
     distanceController = GameObject.Find("_DistanceController").GetComponent<DistanceController>();
     properties = GetComponent<EnemyProperties>();
     myTransform = transform;
     despawnVector = new Vector2(myTransform.position.x, 15);
 }
Exemple #10
0
    private void Start()
    {
        //Set initial orientation;
        currentTarget = eagle.transform;
        Vector3 orientation = GetInitialOrientation();

        moveDirection = orientation;
        gameObject.transform.rotation = SetRotation(orientation);

        //Initialize enemy tank properties
        EnemyProperties properties = GetComponent <EnemyProperties>();

        enemySpeed = properties.tankSpeed;
        shellSpeed = properties.shellSpeed;

        primaryDirection   = properties.primaryDirection;
        secondaryDirection = properties.secondaryDirection;
        awayDirection      = properties.awayDirection;

        minMoveChangeDelay = properties.minMoveChangeDelay;
        maxMoveChangeDelay = properties.maxMoveChangeDelay;

        minFireDelay = properties.minFireDelay;
        maxFireDelay = properties.maxFireDelay;

        currentTarget = GetTarget();

        Invoke("WeightedRandomDirection", 3f);
        Invoke("Fire", UnityEngine.Random.Range(minFireDelay, maxFireDelay));
    }
    public override void Enter()
    {
        if (!attack)
        {
            // count the number of times the melee mob attacks
            chargeCounter = charge;
            enemyProp = melee.GetComponent<EnemyProperties>();
            int nAmmo = enemyProp.getAmmo();

            if (chargeCounter < 20)
            {

                // transform.position something something
                // make the enemy dash forward towards the player in a straight line

                if (!hit)
                {
                    nextState = new MeleeStateReturn(m_MeleeFSM);
                    attack = true;
                }
                else
                {
                    nextState = new MeleeStateExplode(m_MeleeFSM);

                    attack = true;
                }
            }
            else
            {
                nextState = new MeleeStateRetreat(m_MeleeFSM);
            }
        }

        Execute();
    }
Exemple #12
0
 private void Start()
 {
     startAttackCoolDown     = attackCoolDown;
     enemyPropertiesScript   = GameObject.FindGameObjectWithTag("Enemy").GetComponent <EnemyProperties>();
     playerTransform         = GameObject.FindGameObjectWithTag("Player").GetComponent <Transform>();
     spawnPointToMoveTowards = new Vector2(Random.Range(minX, maxX), Random.Range(minY, maxY));
     waitTime = startWaitTime;
 }
Exemple #13
0
    // Use this for initialization
    void Start()
    {
        robAnim = GetComponent <robotAnimation>();
        ep      = GetComponent <EnemyProperties>();

        center = GetComponentInChildren <SphereCollider>().center;
        radius = GetComponentInChildren <SphereCollider>().radius;
    }
Exemple #14
0
    private EnemyProperties enemyProp;  // Enemy properties script.

    // Start is called before the first frame update
    void Awake()
    {
        rb        = GetComponent <Rigidbody>();                 // Get the Rigidbody component for later.
        enemyProp = GetComponent <EnemyProperties>();           // Get the enemy properties script.
        target    = GameObject.FindGameObjectWithTag("Player"); // Find gameobject with Player

        waitTime = waitTimeValue;                               // Set the value.
    }
Exemple #15
0
    void Start()
    {
        FollowPath pathFinder = GetComponent <FollowPath> ();

        pathFinder.OnDestinationReached += OnDestinationReached;

        properties = GetComponent <EnemyProperties> ();
    }
 public EnemyShooting(EnemyProperties properties)
 {
     //bullet = sbullet;
     //posSpawm = sPos;
     //this.transform = transform;
     //this.TimeShoot = TimeShoot;
     //dir = Dir;
     m_properties = properties;
 }
 public override void Enter()
 {
     if (hasEntered == false)
     {
         Aimed     = GameObject.Find("Aimed");
         enemyProp = Aimed.GetComponent <EnemyProperties>();
     }
     Execute();
 }
 public void SetUnit(GameObject unit)
 {
     if (unit != null)
     {
         enemy           = unit;
         enemyProperties = unit.GetComponent <EnemyProperties>();
         SetBackgroundMaterial();
     }
 }
    void Start()
    {
        enemyProp       = GetComponentInParent <EnemyProperties>();
        projectile      = enemyProp.getProjectile();
        playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
        myTransform     = transform;

        shotsPerRound = enemyProp.getShotsPerRound();
    }
Exemple #20
0
    void Damage(Transform enemy)
    {
        EnemyProperties e = enemy.GetComponent <EnemyProperties>();

        if (e != null)
        {
            e.TakeDamage(damage);
        }
    }
Exemple #21
0
        public void Initalize(EnemyProperties enemyProperties, Vector2 position)
        {
            body.Enable(true);

            transform.position      = position;
            body.transform.position = position;

            body.SetProperties(enemyProperties);
        }
    private void Start()
    {
        enemy       = GetComponent <EnemyPropertyController>().properties;
        killHandler = GetComponent <EnemyController>();
        int level = GetComponent <EnemyPropertyController>().properties.level;

        currentColor = GetLevelColor(level);
        ApplyColor(currentColor);
    }
 public override void InitLevelProperties(EnemyProperties properties)
 {
     properties.CurrentLevel        = EnemyProperties.Level.LEVEL_2;
     properties.KillBonus          += 10;
     properties.DamagePlayerHealth += 1;
     properties.EnemyHealth        += 2;
     properties.Speed     *= 2f;
     properties.EnemyColor = Color.blue;
 }
Exemple #24
0
 // Use this for initialization
 void Start()
 {
     target = Waypoints.points[0];
     enemy  = GetComponent <EnemyProperties>();
     foreach (GameObject player in GameObject.FindGameObjectsWithTag("Player"))
     {
         Players.Add(player);
     }
 }
    void Start()
    {
        enemyProp = GetComponentInParent<EnemyProperties>();
        projectile = enemyProp.getProjectile();
        playerTransform = GameObject.FindGameObjectWithTag("Player").transform;
        myTransform = transform;

        shotsPerRound = enemyProp.getShotsPerRound();
    }
 public override void Enter()
 {
     if (hasEntered == false)
     {
         Aimed = GameObject.Find("Aimed");
         enemyProp = Aimed.GetComponent<EnemyProperties>();
     }
     Execute();
 }
    void init()
    {
        // set properties, to reference movement properties (speed, lookspeed, etc.)
        properties = gameObject.GetComponent <EnemyProperties>();

        // define current path based on global path set in gamecontroller
        myCurrentPath = GameController.currentPath;
        currentPlaceInTileSequence = 0;
        setNextMoveToLocation();
    }
 public override void Enter()
 {
     if (hasEntered == false)
     {
         Boss       = GameObject.Find("Boss_1");
         enemyProp  = Boss.GetComponent <EnemyProperties>();
         hasEntered = true;
     }
     Execute();
 }
 public override void Enter()
 {
     if (hasEntered == false)
     {
         Boss = GameObject.Find("Boss_1");
         enemyProp = Boss.GetComponent<EnemyProperties>();
         hasEntered = true;
     }
     Execute();
 }
Exemple #30
0
 public EnemyShootPosition(EnemyProperties properties)
 {
     //bullet = sbullet;
     //posSpawm = sPos;
     //this.transform = transform;
     //this.TimeShoot = TimeShoot;
     //dir = Dir;
     //Damage = damage;
     m_properties = properties;
 }
Exemple #31
0
    public void OnDrag(PointerEventData eventData)
    {
        if (transform.localScale.x <= 1.6f && transform.localScale.x > 1.5f && !ca.needAlign && gl.endTurn.interactable == true && sp.standardCardsDealed)
        {
            ca.needCardRotate = false;
            ca.needAlign      = false;

            if (cd.powerType == "Heal" || cd.powerType == "Defense")
            {
                if (dragLine != null)
                {
                    dragLine.enabled = false;
                }

                transform.position = Camera.main.ScreenToWorldPoint(new Vector3
                                                                        (Input.mousePosition.x, Input.mousePosition.y, 1));
            }
            // else
            //    {
            //      transform.SetParent(DefaultParentTransform);
            //      this.transform.position = new Vector3(transform.position.x ,startCardPos.y);
            //
            //      veryCloseToDeck = true;
            //      //ca.needAlign = true;
            //      ca.needCardRotate = true;
            //    }
        }

        RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), transform.position);

        if (transform.localScale.x <= 1.6f && transform.localScale.x > 1.5f && gl.endTurn.interactable == true && sp.standardCardsDealed)
        {
            if (hit.collider != null && cd.powerType == "Attack")
            {
                if (hit.collider.tag == "Enemy")
                {
                    ep.GetComponent <SpriteRenderer>().material.SetFloat("_OutlineThickness", 0);
                    ep = hit.collider.GetComponent <EnemyProperties>();
                    // if(!ep.protectedEnemy)
                    ep.GetComponent <SpriteRenderer>().material.SetFloat("_OutlineThickness", 1);
                }
            }
            if (hit.collider == null && ep != null)
            {
                ep.GetComponent <SpriteRenderer>().material.SetFloat("_OutlineThickness", 0);
            }
        }

        if (dragLine != null)
        {
            endPos = Camera.main.ScreenToWorldPoint(Input.mousePosition) + camOffset;
            dragLine.SetPosition(1, endPos);
        }
    }
Exemple #32
0
 public EnemyCreature(GameObject _go, Vector2 _position, EnemyProperties _properties) : base(_go, _position)
 {
     properties = _properties;
     Health     = new HealthComponent(this, properties.enemyTroopHealth * UnityEngine.Random.Range(0.9f, 1.1f),
                                      // (1f - properties.enemyTroopHealthVariation, 1f + properties.enemyTroopHealthVariation,)
                                      GameObject.GetComponentInChildren <BloodParticles>());
     Attack = new AttackComponent(properties.enemyDamage * UnityEngine.Random.Range(0.9f, 1.1f),
                                  // (1f - properties.enemyDamageVariation, 1f + properties.enemyDamageeVariation,)
                                  properties.enemyRange, properties.enemyCooldown, animation);
     Speed = new SpeedComponent(properties.enemySpeed * UnityEngine.Random.Range(0.9f, 1.1f), navAgent);
 }
    public void InitializeEnemy(EnemyProperties _Properties, Vector3 _setPosition, SpawnState _setSpawnState, int _setIdentity)
    {
        enemyType = gameObject.GetComponent <EnemyType>();


        properties = ScriptableObject.Instantiate <EnemyProperties>(_Properties);

        properties.InitializeProperties(gameObject, gameObject.transform.position, _setSpawnState, _setIdentity);

        enemyType.properties = properties;
    }
    public override void Enter()
    {
        nAmmo = enemyP.getAmmo();
        if (hasEntered == false)
        {
            GrenadeUnit = GameObject.Find("GrenadeUnit_1");
            enemyP = GrenadeUnit.GetComponent<EnemyProperties>();
            nextState = new GrenadeUnitStateRetreat(m_GrenadeUnitFSM);
        }

        Execute();
    }
    private void OnTriggerEnter(Collider other)
    {
        if (other.GetComponent <EnemyType>())
        {
            Debug.Log("this enemy is dumb and won't die");
            enemy = other.GetComponent <EnemyType>().GetEnemyProperties();
            enemy.DoDamage(damage);

            Destroy(gameObject);
            Debug.Log(other.gameObject.name);
        }
    }
    // Start is called before the first frame update
    void OnCollisionEnter2D(Collision2D collided)
    {
        GameObject effect = Instantiate(gObject, transform.position, Quaternion.identity);

        Destroy(effect, fireBallExplosionTime);
        Destroy(this.gameObject);
        if (collided.gameObject.tag == "Enemy")
        {
            EnemyProperties Enemy = collided.gameObject.GetComponent <EnemyProperties>();
            Enemy.health -= projectileDamage;
        }
    }
Exemple #37
0
 void CreateEnemy()
 {
     EnemyProperties tEnemyProp = new EnemyProperties(true);
     //CreateEnemy(new Vector3(4,1,4),tEnemyProp,Quaternion.identity);
 }
 void Start()
 {
     enemyProp = GetComponentInParent<EnemyProperties>();
 }
    void Start()
    {
        m_StateSpawn = new AimedStateSpawn(this);
        m_StateCreateMuzzle = new AimedStateCreateMuzzle(this);
        m_StateAttack = new AimedStateAttack(this);
        m_StateRetreat = new AimedStateRetreat(this);
        m_StateDeleteEntity = new AimedStateDeleteEntity(this);

        Aimed = GameObject.Find("Aimed");
        enemyProp = Aimed.GetComponent<EnemyProperties>();

        ChangeState(eAimedState.Spawn);
    }
 void Start()
 {
     enemyProp = GetComponent<EnemyProperties>();
     maxY = new Vector2(transform.position.x, enemyProp.getSpawnedYPos());
 }
 void Start()
 {
     enemyProp = GetComponent<EnemyProperties>();
     muzzle = enemyProp.getMuzzle();
 }
    void Start()
    {
        m_StateSpawn = new BossStateSpawn(this);
        m_StateCreateMuzzle = new BossStateCreateMuzzle(this);
        m_StateDeleteMuzzle = new BossStateDeleteMuzzle(this);
        m_StateAttack = new BossStateAttack(this);
        m_StateRetreat = new BossStateRetreat(this);
        m_StateDeleteEntity = new BossStateDeleteEntity(this);
        m_StateMove = new BossStateMove(this);

         Boss = GameObject.Find("Boss_1");
         enemyProp = Boss.GetComponent<EnemyProperties>();

         ChangeState(eBossState.Spawn);
    }
Exemple #43
0
 void CreateEnemy(Vector3 position,EnemyProperties enemyProp,Quaternion rotation,GameObject mob)
 {
     /* Steven:
      * Used by update (below) to spawn new enemies.
      * */
     GameObject enemy;
     //Level 1
     if (mob.tag == "GunAlien")
         enemy = Instantiate(RM.preEnemyGunAlien,position, rotation)as GameObject;
     else if (mob.tag == "Bat")
         enemy = Instantiate(RM.preEnemyBat,position, rotation)as GameObject;
     else if (mob.tag == "Bear")
         enemy = Instantiate(RM.preEnemyBear,position, rotation)as GameObject;
     else if (mob.tag == "Wolf")
         enemy = Instantiate(RM.preEnemyWolf,position, rotation)as GameObject;
     //Level 2
     else if (mob.tag == "Alien")
         enemy = Instantiate(RM.preEnemyAlien,position, rotation)as GameObject;
     else if (mob.tag == "Hover")
         enemy = Instantiate(RM.preEnemyHover,position, rotation)as GameObject;
     else if (mob.tag == "DreadLock")
         enemy = Instantiate(RM.preDread,position, rotation)as GameObject;
     else if (mob.tag == "Slime")
         enemy = Instantiate(RM.preSlime,position, rotation)as GameObject;
     //Level 3
     else if (mob.tag == "Spear")
         enemy = Instantiate(RM.preEnemySpear,position, rotation)as GameObject;
     else if (mob.tag == "Helmet")
         enemy = Instantiate(RM.preHelmet,position, rotation)as GameObject;
     else if (mob.tag == "Larva")
         enemy = Instantiate(RM.preLarva,position, rotation)as GameObject;
     else if (mob.tag == "Doggy")
         enemy = Instantiate(RM.preDoggy,position, rotation)as GameObject;
     //Bosses
     else if (mob.tag == "MechBoss")
         enemy = Instantiate(RM.preMechBoss,position, rotation)as GameObject;
     else if (mob.tag == "CaptainBoss")
         enemy = Instantiate(RM.preCaptainBoss,position,rotation)as GameObject;
     else if (mob.tag == "Queen")
         enemy = Instantiate(RM.preQueen,position,rotation)as GameObject;
     else
         enemy = Instantiate(RM.preEnemyBat,position, rotation)as GameObject;
     if (enemy != null){
         AIPathCustom ai = enemy.GetComponent<AIPathCustom>();
         ai.ApplyProperties(enemyProp);
     }
     objEnemies.Add(enemy);
 }