Exemple #1
0
    // TOOD Calculate
    //public float CalculateOnHitDamage(GameObject hit) {
    //    if (hit.GetComponent<Role>() != null) {
    //        return creatorRole.attribute.attack;
    //    }
    //    return 0;
    //}

    public void AddTracking()
    {
        if (enhancement.isTracking)
        {
            SmartMissile3D smartMissile = gameObject.AddComponent <SmartMissile3D>();
            smartMissile.m_lifeTime = autoDestroyTime;
            //smartMissile.m_searchRange = 10f;
            smartMissile.m_searchAngle       = enhancement.trackingAngle;
            smartMissile.m_canLooseTarget    = true;
            smartMissile.m_guidanceIntensity = enhancement.trackingIntensity;
            smartMissile.TargetTag           = creatorRole.GetEnemyTag();
            //smartMissile.m_targetOffset = m_config.m_targetOffset;
            //smartMissile.m_distanceInfluence = m_config.m_selectedPreset;
        }
    }
Exemple #2
0
    void Fire()
    {
        GameObject newProjectile = Instantiate(m_projectile) as GameObject;

        newProjectile.transform.position = transform.position;

        if (newProjectile.GetComponent <Rigidbody2D>())
        {
            newProjectile.GetComponent <Rigidbody2D>().AddForce(transform.forward * m_launchIntensity, ForceMode2D.Impulse);

            newProjectile.transform.eulerAngles = new Vector3(0, 0, -Mathf.Atan2(transform.forward.x, transform.forward.y) * Mathf.Rad2Deg);

            SmartMissile2D smartMissile = newProjectile.GetComponent <SmartMissile2D>();
            smartMissile.m_lifeTime          = m_config.m_lifeTime;
            smartMissile.m_searchRange       = m_config.m_searchRange;
            smartMissile.m_searchAngle       = m_config.m_searchAngle;
            smartMissile.m_canLooseTarget    = m_config.m_canLooseTarget;
            smartMissile.m_guidanceIntensity = m_config.m_guidanceIntensity;
            smartMissile.m_targetOffset      = m_config.m_targetOffset;

            smartMissile.m_distanceInfluence = m_config.m_selectedPreset;
        }
        else if (newProjectile.GetComponent <Rigidbody>())
        {
            newProjectile.GetComponent <Rigidbody>().AddForce(transform.forward * m_launchIntensity, ForceMode.Impulse);

            SmartMissile3D smartMissile = newProjectile.GetComponent <SmartMissile3D>();
            smartMissile.m_lifeTime          = m_config.m_lifeTime;
            smartMissile.m_searchRange       = m_config.m_searchRange;
            smartMissile.m_searchAngle       = m_config.m_searchAngle;
            smartMissile.m_canLooseTarget    = m_config.m_canLooseTarget;
            smartMissile.m_guidanceIntensity = m_config.m_guidanceIntensity;
            smartMissile.m_targetOffset      = m_config.m_targetOffset;

            smartMissile.m_distanceInfluence = m_config.m_selectedPreset;
        }
    }