public void DisableOscillation(ScriptCharacterController characterController) { lineRenderer.enabled = false; characterController.colliderContainer.SetActive(false); enabled = false; }
//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); }
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; } }
//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(); } }
//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; } }