Thursday, 19 April 2012

Heres the revised audio code and code for the pickups:

AUDIO:

//****************************************************************************************************
//VARIABLE DECLARATION
//****************************************************************************************************
public var levelNo: int = 1;
public var firstPlay: boolean = true;
private var pc: GameObject;
private var cam: GameObject;
var pcZ: double;
var camZ: double;
var ambClips: AudioClip[];
var FXClips: AudioClip[];
var clipNo: int;
var soundName: String;
//****************************************************************************************************
//FIND NECESSARY GAME OBJECTS
//****************************************************************************************************
function Start()
{
    pc = GameObject.Find("PC Prefab(Clone)");
    cam = GameObject.Find("PC Camera(Clone)");
}
//****************************************************************************************************
//AMBIENT MUSIC CODE FOR LEVELS 1, 2 AND 3
//****************************************************************************************************
function Update()
{   
    pcZ = pc.transform.position.z;
    camZ = cam.transform.position.z;

    if(pcZ > (camZ - 5) && firstPlay == true)
    {
        firstPlay = false;
        clipNo = (levelNo*2) - 1;
        audio.Stop();
        clipNo = (levelNo*2) - 2;
        audio.clip = ambClips[clipNo];
        audio.Play();
    }
    else if(pcZ <= (camZ - 5) && firstPlay == false)
    {
        firstPlay = true;
        clipNo = (levelNo*2) - 2;
        audio.Stop();
        clipNo = (levelNo*2) - 1;
        audio.clip = ambClips[clipNo];
        audio.Play();
    }
}
//****************************************************************************************************
//PLAY EVENT ACTIVATED SOUND
//****************************************************************************************************
function PlayFXSound(soundName: String)
{
    switch(soundName)
    {
        case "jump":
            AudioSource.PlayClipAtPoint(FXClips[0], cam.transform.position, 0.1);
            break;
           
        case "slide":
            AudioSource.PlayClipAtPoint(FXClips[1], cam.transform.position, 0.4);
            break;
           
        case "pickup":
            AudioSource.PlayClipAtPoint(FXClips[2], cam.transform.position, 0.5);
            break;
           
        case "die":
            AudioSource.PlayClipAtPoint(FXClips[3], cam.transform.position, 0.7);
            break;
           
        case "zombie":
            AudioSource.PlayClipAtPoint(FXClips[4], cam.transform.position, 0.5);
            break;
           
        default:
            print("Sound Manager: ERROR! invalid sound clip name.");
            break;
    }
}


PICKUPS:

//****************************************************************************************************
//VARIABLE DECLARATION
//****************************************************************************************************
private var pc: GameObject;
private var pcScript: PC_Movement_Puzzel;
var mesh: Mesh;
var sound: SoundManager;
var powerValue: int = 1;
var powerType: int = 1;
var collision: boolean;
var distance: float;

function Start()
{
   
    pc = GameObject.FindGameObjectWithTag("Player");
    pcScript = pc.GetComponent(PC_Movement_Puzzel);
    sound = GameObject.Find("Sound Manager").GetComponent(SoundManager);
    mesh = GetComponentInChildren(MeshFilter).mesh;
    powerValue = 1;
    powerType = 1;
}
//****************************************************************************************************
//POWER-UP LOGIC
//****************************************************************************************************
function Update()
{
    print(pc);
    print(pcScript);
    transform.Rotate(0, 3, 0);
   
    distance = Vector3.Distance(pc.transform.position, transform.position);
   
    if(distance < 1)
    {
        print("pickup");
        PickUpHandle();
    }
}

function PickUpHandle()
{
    switch(powerType)
    {
        case 1:
            sound.PlayFXSound("pickup");
            pcScript.SpeedUp(1);
            print("case 1");
            Destroy(mesh);
            yield WaitForSeconds(2.5);
            pcScript.SpeedUp(0);
            break;
           
        case 2:
            sound.PlayFXSound("pickup");
            Time.timeScale = 0.5;
            Destroy(mesh);
            yield WaitForSeconds(15);
            Time.timeScale = 1;
            break;
           
        case 3:
            sound.PlayFXSound("pickup");
            pc.godMode = true;
            Destroy(mesh);
            yield WaitForSeconds(15);
            pc.godMode = false;
            break;
           
        case 4:
            sound.PlayFXSound("pickup");
            if(!pc.godMode)
            {
                pc.pcLives -= 1;
                pc.pcSpeed = pc.pcSpeed/2;
                Destroy(mesh);
                yield WaitForSeconds(0.33);
                pc.pcSpeed = pc.pcSpeed*2;
            }
            break;
           
        case 5:
            sound.PlayFXSound("pickup");
            Destroy(mesh);
            break;
    }
   
    Destroy(this);
}

No comments:

Post a Comment