Exemplo n.º 1
0
    void Awake()
    {
        if (Instance != null)
        {
            Debug.LogError("Existem múltiplas instâncias do script SoundEffectScript.");
        }

        Instance = this;
    }
    void Awake()
    {
        if (Instance != null)
        {
            Debug.LogError("Existem múltiplas instâncias do script SoundEffectScript.");
        }

        Instance = this;
    }
    void Awake()
    {
        if (Instance != null)
        {
            Debug.LogError("Multiple instances of the SoundEffectScript script.");
        }

        Instance = this;
    }
Exemplo n.º 4
0
 public void Collect()
 {
     collected = true;
     velocity  = velocityMax;
     GetComponent <CapsuleCollider>().enabled = false;
     if (collectSound != null)
     {
         SoundEffectScript.PlaySoundEffect(transform.position, collectSound);
     }
 }
Exemplo n.º 5
0
    /// <summary>
    /// Static method to easily play a sound effect at the speficied location in world coordinates
    /// </summary>
    /// <param name="position">The world location at which to play the sound effect</param>
    /// <param name="clip">The sound clip to play</param>
    public static void PlaySoundEffect(Vector3 position, AudioClip clip)
    {
        GameObject soundObject = new GameObject("SoundEffect");

        soundObject.transform.position = position;
        SoundEffectScript effect = soundObject.AddComponent <SoundEffectScript>();

        effect.clip = clip;
        effect.Play();
    }
Exemplo n.º 6
0
    void Awake()
    {
        // Register the singleton
        if (Instance != null)
        {
            Debug.LogError("Multiple instances of SoundEffectScript!");
        }

        Instance = this;
    }
Exemplo n.º 7
0
    // Handle a hit to the killable object (only if it can currently be hit)
    public void Hit(int power)
    {
        // Cancel the whole function if the object can't be hit or the killablescript isn't active
        if (!canBeHit || !alive)
        {
            return;
        }

        // Disable hits to the object for a short time
        canBeHit = false;

        // If power requirement met, do damage based on attack power level (and power requirement functions as armor)
        if (power >= powerRequirement && health > 0)
        {
            health -= (power - (powerRequirement - 1));
        }

        // Handle death or recovery
        if (health <= 0)
        {
            // Kill the killable object (with fancy particle effects provided by the generator)
            alive = false;
            if (polyParticleGenerator != null)
            {
                GameObject particleFX = Instantiate(polyParticleGenerator);
                particleFX.transform.position = transform.position;
                particleFX.transform.rotation = transform.rotation;
            }
            // Play the death sound
            if (deathSound != null)
            {
                SoundEffectScript.PlaySoundEffect(transform.position, deathSound);
            }
            // If preserve isn't set, destroy the object completely
            if (!preserveAfterDeath)
            {
                Destroy(gameObject);
            }
        }
        else
        {
            // Not dead yet, so start recovery
            StartCoroutine(HitRecover());

            // Play the hit sound
            if (hitSound != null)
            {
                SoundEffectScript.PlaySoundEffect(transform.position, hitSound);
            }
        }
    }
Exemplo n.º 8
0
    void Start()
    {
        if (instance == null)
        {
            instance = this;

            CreateDictionary();

            DontDestroyOnLoad(this);
        }
        else
        {
            Destroy(gameObject);
        }
    }
Exemplo n.º 9
0
    /// <summary>
    /// Kill the player with a death sound and a small splash of pixel blood
    /// </summary>
    public void Kill()
    {
        // TODO - visual death effects

        // Death sound effect
        if (deathSound != null)
        {
            SoundEffectScript.PlaySoundEffect(transform.position, deathSound);
        }

        // Make a pixel blood splash effect for a dramatic death
        ParticleEffectScript.Splash(bloodParticlePrefab, transform, 25, 0.1f, 75.0f, 75.0f, 300.0f);

        // TODO - respawn player and reset level
    }
Exemplo n.º 10
0
    // Called at a fixed rate along with physics updates
    private void FixedUpdate()
    {
        // Jump movement
        if (Input.GetButtonDown("Jump") && grounded)
        {
            // TODO - apply jump movement
            if (jumpSound != null)
            {
                SoundEffectScript.PlaySoundEffect(transform.position, jumpSound); // Jumping sound effect
            }
        }

        // Horizontal movement
        moveVelocity.x += Input.GetAxis("Horizontal");
        moveVelocity.x  = Mathf.Clamp(moveVelocity.x, -speed, speed);

        // TODO - better movement

        // Set the animator parameters
        GetComponent <Animator>().SetBool("Grounded", grounded);
        GetComponent <Animator>().SetFloat("HVelocity", moveVelocity.x / speed);
        GetComponent <Animator>().SetFloat("VVelocity", moveVelocity.y / speed);
    }
    void Start()
    {
        if (instance == null)
        {
            instance = this;

            CreateDictionary();

            DontDestroyOnLoad(this);
        }
        else
        {
            Destroy(gameObject);
        }
    }