Ejemplo n.º 1
0
    public void Start()
    {
        GameObject level_object = GameObject.Find("LevelObject");

        if (level_object != null)
        {
            level_creator = level_object.GetComponent <LevelCreatorScript>();
        }

        if (level_creator == null)
        {
            Debug.LogWarning("We're missing a LevelCreatorScript in AimScript, this might mean that some world-interactions don't work correctly.");
        }

        audiosource_effect              = gameObject.AddComponent <AudioSource>();
        audiosource_effect.rolloffMode  = AudioRolloffMode.Linear;
        audiosource_effect.maxDistance  = 30.0f;
        audiosource_effect.spatialBlend = 1.0f;

        object_audiosource_motor = new GameObject("motor audiosource object");
        object_audiosource_motor.transform.parent        = transform;
        object_audiosource_motor.transform.localPosition = new Vector3(0.0f, 0.0f, 0.0f);

        audiosource_motor = object_audiosource_motor.AddComponent <AudioSource>();
        object_audiosource_motor.AddComponent <AudioLowPassFilter>();
        audiosource_motor.loop         = true;
        audiosource_motor.volume       = 0.4f * Preferences.sound_volume;
        audiosource_motor.clip         = sound_engine_loop;
        audiosource_motor.spatialBlend = 1.0f;

        switch (robot_type)
        {
        case RobotType.STATIONARY_TURRET:
            initial_turret_orientation    = gun_pivot.transform.localRotation;
            initial_turret_position       = gun_pivot.transform.localPosition;
            audiosource_motor.rolloffMode = AudioRolloffMode.Linear;
            audiosource_motor.maxDistance = 4.0f;
            break;

        case RobotType.SHOCK_DRONE:
            audiosource_motor.maxDistance  = 8.0f;
            audiosource_foley              = gameObject.AddComponent <AudioSource>();
            audiosource_foley.spatialBlend = 1.0f;
            audiosource_taser              = gameObject.AddComponent <AudioSource>();
            audiosource_taser.Stop();
            audiosource_taser.playOnAwake  = false;
            audiosource_taser.spatialBlend = 1.0f;
            audiosource_taser.rolloffMode  = AudioRolloffMode.Linear;
            audiosource_taser.loop         = true;
            audiosource_taser.clip         = sound_gunshot[0];
            break;
        }

        initial_pos = transform.position;
        target_pos  = initial_pos;
    }
Ejemplo n.º 2
0
    public void Start()
    {
        GUISkinHolder holder        = GameObject.Find("gui_skin_holder").GetComponent <GUISkinHolder>();
        WeaponHolder  weapon_holder = holder.weapon.GetComponent <WeaponHolder>();
        Transform     tile_parent   = null;
        GameObject    level_object  = GameObject.Find("LevelObject");

        if (level_object != null)
        {
            LevelCreatorScript level_creator = level_object.GetComponent <LevelCreatorScript>();

            tile_parent = level_creator.GetPositionTileItemParent(transform.position);
        }
        else
        {
            tile_parent = transform.parent;
        }

        int num_bullets = UnityEngine.Random.Range(1, 6);

        for (int i = 0; i < num_bullets; ++i)
        {
            GameObject bullet = (GameObject)Instantiate(weapon_holder.bullet_object);
            bullet.transform.parent   = tile_parent;
            bullet.transform.position = transform.position +
                                        new Vector3(UnityEngine.Random.Range(-0.1f, 0.1f),
                                                    UnityEngine.Random.Range(0.0f, 0.2f),
                                                    UnityEngine.Random.Range(-0.1f, 0.1f));
            bullet.transform.rotation = BulletScript.RandomOrientation();
            bullet.AddComponent <Rigidbody>();
            bullet.GetComponent <ShellCasingScript>().collided = true;
        }
        if (UnityEngine.Random.Range(0, 4) == 0)
        {
            GameObject tape = (GameObject)Instantiate(holder.tape_object);
            tape.transform.parent   = tile_parent;
            tape.transform.position = transform.position +
                                      new Vector3(UnityEngine.Random.Range(-0.1f, 0.1f),
                                                  UnityEngine.Random.Range(0.0f, 0.2f),
                                                  UnityEngine.Random.Range(-0.1f, 0.1f));
            tape.transform.rotation = BulletScript.RandomOrientation();
        }
        if (UnityEngine.Random.Range(0, 4) == 0 && !holder.has_flashlight)
        {
            GameObject flashlight = (GameObject)Instantiate(holder.flashlight_object);
            flashlight.transform.parent   = tile_parent;
            flashlight.transform.position = transform.position +
                                            new Vector3(UnityEngine.Random.Range(-0.1f, 0.1f),
                                                        UnityEngine.Random.Range(0.2f, 0.4f),
                                                        UnityEngine.Random.Range(-0.1f, 0.1f));
            flashlight.transform.rotation = BulletScript.RandomOrientation();
        }
    }
Ejemplo n.º 3
0
    public void Start()
    {
        GameObject level_object = GameObject.Find("LevelObject");

        if (level_object != null)
        {
            level_creator = level_object.GetComponent <LevelCreatorScript>();
        }

        if (level_creator == null)
        {
            Debug.LogWarning("We're missing a LevelCreatorScript in GunScript, this might mean that some world-interactions don't work correctly.");
        }

        line_renderer = GetComponent <LineRenderer>();
        line_renderer.SetPosition(0, transform.position);
        line_renderer.SetPosition(1, transform.position);
    }
Ejemplo n.º 4
0
    void Awake()
    {
        GameObject level_object = GameObject.Find("LevelObject");

        if (level_object)
        {
            level_creator = level_object.GetComponent <LevelCreatorScript>();
            if (!level_creator)
            {
                Debug.LogWarning("We're missing a LevelCreatorScript in GunScript, this might mean that some world-interactions don't work correctly.");
            }
        }

        // Fallback to all colliders
        if (own_colliders.Length <= 0)
        {
            own_colliders = GetComponents <Collider>();
        }

        // Ignore own colliders
        foreach (Collider a in own_colliders)
        {
            foreach (Collider b in own_colliders)
            {
                Physics.IgnoreCollision(a, b);
            }
        }

        // Ignore colliders
        foreach (Collider own_collider in own_colliders)
        {
            foreach (Collider ignored_collider in ignored_colliders)
            {
                Physics.IgnoreCollision(own_collider, ignored_collider);
            }
        }
    }