Esempio n. 1
0
    public void SwitchProperties(bool facingR, float hp, bool ded)
    {
        HP   = hp;
        dead = ded;
        //print ("sw "+dead);
        aliveCount = 0;
        //eDamage.bodyBlood = body.transform.Find("bodyBlood").GetComponent<ParticleSystem>();
        if (facingR)
        {
            Flip();
        }
        eDamage.enemyCS = this;

        //check if C4 is gone
        Enemy_Soldier enemycs = soldier.GetComponent <Enemy_Soldier>();

        //print (equipped+"   "+enemycs.equipped);
        if (equipped != enemycs.equipped)
        {
            body.Find("c4").gameObject.SetActive(false);
            equipped = Equipped.NOTHING;
        }

        //if(!enemycs.facingRight){
        //Flip ();
        //}
    }
Esempio n. 2
0
    private void MakeEnemy(Vector2 pos)
    {
        //int enemyIndex = Random.Range(0, enemies.Length);
        GameObject go = (GameObject)Instantiate(enemies[0], pos, transform.rotation);

        Enemy_Soldier esCS = go.GetComponent <Enemy_Soldier>();


        if (flip)
        {
            esCS.Flip();
        }

        esCS.paratrooperMode = paratrooperMode;
        esCS.openChuteDelay  = openChuteDelay;
        esCS.equipped        = equipped;
        esCS.moveSpeed       = speed;

        esCS.snipeWalk = sniperWalkToggle;

        //Level.instance.makeTeleFlash(pos);
        //if replenishing spawncount from the dead add that shit functionality to the enemy
        if (respawnDead)
        {
            var rfs = go.AddComponent <RemoveFromSpawner>();
            rfs.spawner = this;
        }
    }
Esempio n. 3
0
    public void LateAwake()
    {
        Enemy_Soldier enemycs = soldier.GetComponent <Enemy_Soldier>();

        equipped = enemycs.equipped;
        if (equipped == Enemy_Soldier.Equipped.C4)
        {
            body.Find("c4").gameObject.SetActive(true);
        }
        else if (equipped == Enemy_Soldier.Equipped.SHIELD)
        {
            body.Find("shield").gameObject.SetActive(true);
        }
    }
Esempio n. 4
0
    public override void Death()
    {
        base.Death();

        // Increase the bodycount
        //Level.instance.addBodyCount(gameObject);

        // Play a random audioclip from the deathClips array.
        int i = Random.Range(0, deathFX.Length);

        AudioSource.PlayClipAtPoint(deathFX[i], transform.position);


        if (!headLess)
        {
            var h = transform.Find("head Transform").Find("head");
            Destroy(h.GetComponent <Animator>());
            h.GetComponent <SpriteRenderer>().sprite = Soldier_Sprites.S.getHead(2);
            Destroy(transform.Find("head Transform").GetComponent <Enemy_Ragdoll_DamageCollider>());
        }


        Destroy(body.GetComponent <Enemy_Ragdoll_DamageCollider>());
        if (equipped == Equipped.C4)
        {
            body.Find("c4").GetComponent <Explosive>().xMode = Explosive.XplodeMode.DEADENEMY;            //gameObject.layer = LayerMask.NameToLayer("Bodies");
        }
//		makeLessHeavy();
        //body.rigidbody2D.AddForce(vel);
        aliveSwitch = float.MaxValue;
        if (eDamage.scoreDeath)
        {
            Level.instance.score.UpdateScore(100, new Vector3(body.position.x, body.position.y + 8f));
        }
        Enemy_Soldier es = soldier.GetComponent <Enemy_Soldier>();


        Level.instance.enemies.Remove(es);         // ragdoll CS (this) is removed from enemies List in unHittable
        //StartCoroutine(makeUnHittable());
        if (grabbed)
        {
            Level.instance.StopPlayerGrab();
        }
        Destroy(soldier);
    }