Пример #1
0
    public void createObject(Rune rune, RaycastHit hiten)
    {
        PlaneStats hitenObject = hiten.transform.GetComponentInParent <PlaneStats>();
        int        prefabIndex = NetworkManager.singleton.spawnPrefabs.IndexOf(rune.objectToCreate);

        CmdInstantinate(prefabIndex, hitenObject.GetComponent <NetworkIdentity>().netId);
    }
    void DemolishDamage(Transform loot)
    {
        demolishRate = 0;
        PlaneStats uS = loot.GetComponent <PlaneStats>();

        if (uS != null)
        {
            uS.TakeDamage(demolishDamage);
        }
    }
    void DemolishDamage(Transform loot)
    {
        demolishRate = 0;
        PlaneStats uS = loot.GetComponent <PlaneStats>();

        if (uS != null)
        {
            uS.TakeDamage(demolishDamage);
        }
        ScoreInScene.lootGathered += demolishDamage;
    }
Пример #4
0
    public void CmdCreateStackObject(NetworkInstanceId hitenObjectID, int maxStack, int objectTospawn)
    {
        GameObject obj = NetworkServer.FindLocalObject(hitenObjectID);

        PlaneStats hitenObject = obj.transform.GetComponentInParent <PlaneStats>();

        LifeTime[] life = hitenObject.transform.GetComponentsInChildren <LifeTime>();
        if (life.Length < maxStack)
        {
            CmdInstantinate(objectTospawn, hitenObject.GetComponent <NetworkIdentity>().netId);
        }
    }
Пример #5
0
    void DirectDamage(Transform enemy)
    {
        if (enemy.tag == "Enemy")
        {
        }
        PlaneStats ps = enemy.GetComponent <PlaneStats>();

        if (ps != null)
        {
            ps.TakeDamage(damage);
        }
    }
    void PlayerDamage(Transform player)
    {
        if (shotAnimation != null)
        {
            GameObject go = objectPooling.SpawnFromPool(shotAnimation.name, transform.position, transform.rotation);
            go.SetActive(true);
        }
        shootingRate = 0;
        PlaneStats uS = player.GetComponent <PlaneStats>();

        if (uS != null)
        {
            uS.TakeDamage(shootDamage);
        }
    }
Пример #7
0
    void ExplosionDamage(Transform enemy)
    {
        if (enemy.tag == "Enemy")
        {
        }
        PlaneStats ps = enemy.GetComponent <PlaneStats>();

        if (ps != null)
        {
            Vector3 psr = ps.transform.position;

            float distanceFromBulletToObj = Vector3.Distance(ps.transform.position, this.transform.position);
            float damageDoneBasedOnRange  = 1 - distanceFromBulletToObj / explosionRadius;

            if (damageDoneBasedOnRange > 0)
            {
                ps.TakeDamage(damage * damageDoneBasedOnRange);
            }
        }
    }
Пример #8
0
 void suckEnergy()
 {
     if (Physics.Raycast(transform.position, Vector3.down, out hit, 10))
     {
         PlaneStats hiten = hit.transform.GetComponentInChildren <PlaneStats>();
         for (int i = 0; i < playerStats.howMuchEnergySuck.Length; i++)
         {
             if (playerStats.howMuchEnergySuck[i] != 0)
             {
                 if ((hiten.suckEnergy(i, playerStats.howMuchEnergySuck[i]) + playerStats.energyList[i]) < playerStats.maxEnergyList[i])
                 {
                     playerStats.energyList[i] += hiten.suckEnergy(i, playerStats.howMuchEnergySuck[i]);
                 }
                 else
                 {
                     playerStats.energyList[i] = playerStats.maxEnergyList[i];
                 }
             }
         }
     }
 }