Ejemplo n.º 1
0
    public void DisableOscillation(ScriptCharacterController characterController)
    {
        lineRenderer.enabled = false;

        characterController.colliderContainer.SetActive(false);
        enabled = false;
    }
Ejemplo n.º 2
0
//CAMERA

    //Switch camera to cinematic
    void RunCinematicCamera(ScriptCharacterController character)
    {
        Camera hotCam = character.characterCameras [2];         //magic number

        overviewCamera.enabled = false;
        hotCam.enabled         = true;

        StartCoroutine("StopCinematicCamera", hotCam);
    }
Ejemplo n.º 3
0
    void SetToMovementMode()
    {
        gameMode = Mode.Movement;

        //Start movement towards destination
        foreach (CharacterSheet hotSheet in charactersInPlay)
        {
            ScriptCharacterController hotScript = hotSheet.GetComponent <ScriptCharacterController> ();
            hotScript.greenLight = true;
            hotScript.startLerp  = true;
        }
    }
Ejemplo n.º 4
0
    //Wait for every character to finish their frame of movement, then stop all characters and resolve actions
    IEnumerator RedLight()
    {
        yield return(0);

        foreach (CharacterSheet hotSheet in charactersInPlay)
        {
            ScriptCharacterController hotScript = hotSheet.GetComponent <ScriptCharacterController> ();
            hotScript.greenLight = false;
        }
        if (gameMode == Mode.Engagement)
        {
            ResolveEngagements();
        }
    }
Ejemplo n.º 5
0
//CHARACTER MANAGEMENT

    //Remove character from play
    void KillCharacter(CharacterSheet hotSheet)
    {
        if (!hotSheet.inPlay)
        {
            return;                           //Stop, he's already dead!...
        }
        ScriptCharacterController scriptCharacterController = hotSheet.GetComponent <ScriptCharacterController> ();

        //Remove character from characters in play
        int hotIndex = GetCharactersInPlayIndex(hotSheet);

        //Debug.Log (hotIndex.ToString ());
        charactersInPlay.RemoveAt(hotIndex);

        //Set character's inPlay to false
        hotSheet.inPlay = false;

        //Remove character as a valid target
        foreach (CharacterSheet otherHotSheet in charactersInPlay)
        {
            if (otherHotSheet.target == hotSheet)
            {
                otherHotSheet.target = null;
            }
        }

        //Stop character
        scriptCharacterController.greenLight = false;

        //Disable oscillator
        ScriptPlayerTargeting scriptPlayerTargeting = hotSheet.GetComponentInChildren <ScriptPlayerTargeting> ();

        if (scriptPlayerTargeting != null)
        {
            scriptPlayerTargeting.DisableOscillation(scriptCharacterController);
        }


        //Set new character to spawn
        if (hotSheet.gameObject.transform.rotation.y == 0)
        {
            spawn00Time = cycle + spawnDelayCycles;
        }
        else
        {
            spawn01Time = cycle + spawnDelayCycles;
        }
    }