public override void StartEvent() { LevelController.Instance._legionCtrl.SlowDown(); //attach walker //suble bug about rotation- - _walker = PathSurfaceWalker.AttachPathSurfaceWalker(gameObject, _path, _startNodeIdx, _startTngOffset, _startBinrmOffset, 0f, _speed); _walker.WalkFinish += OnWalkFinish; _walker.MoveOnPathSurface(_startNodeIdx, _startTngOffset, 0f); Vector3 tng = Bezier.GetTangent3d(_path.Nodes[_startNodeIdx]._ctrlPts, _startTngOffset); Vector3 binrm = Bezier.GetBinormal3d(_path.Nodes[_startNodeIdx]._ctrlPts, _startTngOffset, transform.up); //instantiate cop squad _cops = new List<CopBehavior>(); for (int i = 0; i < _copNum; i++) { CopBehavior cop = Instantiate(_copPrefab, transform.position, transform.rotation) as CopBehavior; cop.transform.parent = transform; cop.transform.position += binrm * _copSpace * (i > 0 ? ((float)((i - 1) / 2) + 1f) : 0f) * (i % 2 == 0 ? 1f : -1f); //cop.transform.position += binrm * _copSpace * i; _cops.Add(cop); } SoundManagerSingletonWrapper.Instance.GetComponent<EmitterSoundManager>(). Play(UnityEngine.Random.Range(11, 14), transform, AudioType.GameSFX); _start = true; }
public override void StartEvent() { LevelController.Instance._legionCtrl.SlowDown(); //attach walker //suble bug about rotation- - _walker = PathSurfaceWalker.AttachPathSurfaceWalker(gameObject, _path, _startNodeIdx, _startTngOffset, _startBinrmOffset, 0f, _speed); _walker.WalkFinish += OnWalkFinish; _walker.MoveOnPathSurface(_startNodeIdx, _startTngOffset, 0f); Vector3 tng = Bezier.GetTangent3d(_path.Nodes[_startNodeIdx]._ctrlPts, _startTngOffset); Vector3 binrm = Bezier.GetBinormal3d(_path.Nodes[_startNodeIdx]._ctrlPts, _startTngOffset, transform.up); //instantiate cop squad _cops = new List <CopBehavior>(); for (int i = 0; i < _copNum; i++) { CopBehavior cop = Instantiate(_copPrefab, transform.position, transform.rotation) as CopBehavior; cop.transform.parent = transform; cop.transform.position += binrm * _copSpace * (i > 0 ? ((float)((i - 1) / 2) + 1f) : 0f) * (i % 2 == 0 ? 1f : -1f); //cop.transform.position += binrm * _copSpace * i; _cops.Add(cop); } SoundManagerSingletonWrapper.Instance.GetComponent <EmitterSoundManager>(). Play(UnityEngine.Random.Range(11, 14), transform, AudioType.GameSFX); _start = true; }
private IEnumerator TutorialCoroutine() { //charging _chargingCanvas.gameObject.SetActive(true); _inspirationCanvas.gameObject.SetActive(false); _reflectionCanvas.gameObject.SetActive(false); StartCoroutine(CheckChargeFinish()); while (!_chargingFinish) { yield return(null); } //inspiration _chargingCanvas.gameObject.SetActive(false); _inspirationCanvas.gameObject.SetActive(true); _reflectionCanvas.gameObject.SetActive(false); StartCoroutine(CheckInspirationFinish()); while (!_inspirationFinish) { yield return(null); } //reflection _chargingCanvas.gameObject.SetActive(false); _inspirationCanvas.gameObject.SetActive(false); _reflectionCanvas.gameObject.SetActive(true); LevelController.Instance._legionCtrl._crowd.GetComponent <BoxCollider>().enabled = false; yield return(new WaitForSeconds(3f)); _cop = Instantiate(_copPrefab, transform.position, transform.rotation) as CopBehavior; _cop.transform.parent = transform; _copWalker = PathSurfaceWalker.AttachPathSurfaceWalker(_cop.gameObject, _path, _copNodeIdx, _copTngOffset, _copBinrmOffset, 0f, _copSpeed); _copWalker.WalkFinish += OnWalkFinish; _copWalker.MoveOnPathSurface(_copNodeIdx, _copTngOffset, 0f); StartCoroutine(CheckReflectionFinish()); while (!_reflectionFinish) { yield return(null); } LevelController.Instance._legionCtrl._crowd.GetComponent <BoxCollider>().enabled = true; EndEvent(); }
public override void StartEvent() { LevelController.Instance._legionCtrl.SlowDown(); //instantiate tank _tank = Instantiate(_tankPrefab, transform.position, transform.rotation) as TankBehavior; _tank.transform.parent = transform; PathManager path = LevelController.Instance._path; _walker = PathSurfaceWalker.AttachPathSurfaceWalker(gameObject, path, _startNodeIdx, _startTngOffset, _startBinrmOffset, 0f, _speed); _walker.WalkFinish += OnWalkFinish; _walker.MoveOnPathSurface(_startNodeIdx, _startTngOffset, 0f); SoundManagerSingletonWrapper.Instance.GetComponent<EmitterSoundManager>(). Play(16, transform, AudioType.GameSFX); _start = true; }
public override void StartEvent() { LevelController.Instance._legionCtrl.SlowDown(); //instantiate tank _tank = Instantiate(_tankPrefab, transform.position, transform.rotation) as TankBehavior; _tank.transform.parent = transform; PathManager path = LevelController.Instance._path; _walker = PathSurfaceWalker.AttachPathSurfaceWalker(gameObject, path, _startNodeIdx, _startTngOffset, _startBinrmOffset, 0f, _speed); _walker.WalkFinish += OnWalkFinish; _walker.MoveOnPathSurface(_startNodeIdx, _startTngOffset, 0f); SoundManagerSingletonWrapper.Instance.GetComponent <EmitterSoundManager>(). Play(16, transform, AudioType.GameSFX); _start = true; }
public override void StartEvent() { LevelController.Instance._legionCtrl.SlowDown(); //instantiate cop motorcade GameObject motorcade = Instantiate(_copMotorcadePrefab, transform.position, transform.rotation) as GameObject; motorcade.transform.parent = transform; PathManager path = LevelController.Instance._path; _walker = PathSurfaceWalker.AttachPathSurfaceWalker(gameObject, path, _startNodeIdx, _startTngOffset, _startBinrmOffset, 0f, _speed); _walker.WalkFinish += OnWalkFinish; _walker.MoveOnPathSurface(_startNodeIdx, _startTngOffset, 0f); SoundManagerSingletonWrapper.Instance.GetComponent<EmitterSoundManager>(). Play(15, transform, AudioType.GameSFX); SoundManagerSingletonWrapper.Instance.GetComponent<EmitterSoundManager>(). Play(UnityEngine.Random.Range(11, 14), transform, AudioType.GameSFX); _start = true; }
public override void StartEvent() { LevelController.Instance._legionCtrl.SlowDown(); //instantiate cop motorcade GameObject motorcade = Instantiate(_copMotorcadePrefab, transform.position, transform.rotation) as GameObject; motorcade.transform.parent = transform; PathManager path = LevelController.Instance._path; _walker = PathSurfaceWalker.AttachPathSurfaceWalker(gameObject, path, _startNodeIdx, _startTngOffset, _startBinrmOffset, 0f, _speed); _walker.WalkFinish += OnWalkFinish; _walker.MoveOnPathSurface(_startNodeIdx, _startTngOffset, 0f); SoundManagerSingletonWrapper.Instance.GetComponent <EmitterSoundManager>(). Play(15, transform, AudioType.GameSFX); SoundManagerSingletonWrapper.Instance.GetComponent <EmitterSoundManager>(). Play(UnityEngine.Random.Range(11, 14), transform, AudioType.GameSFX); _start = true; }
private IEnumerator TutorialCoroutine() { //charging _chargingCanvas.gameObject.SetActive(true); _inspirationCanvas.gameObject.SetActive(false); _reflectionCanvas.gameObject.SetActive(false); StartCoroutine(CheckChargeFinish()); while (!_chargingFinish) yield return null; //inspiration _chargingCanvas.gameObject.SetActive(false); _inspirationCanvas.gameObject.SetActive(true); _reflectionCanvas.gameObject.SetActive(false); StartCoroutine(CheckInspirationFinish()); while (!_inspirationFinish) yield return null; //reflection _chargingCanvas.gameObject.SetActive(false); _inspirationCanvas.gameObject.SetActive(false); _reflectionCanvas.gameObject.SetActive(true); LevelController.Instance._legionCtrl._crowd.GetComponent<BoxCollider>().enabled = false; yield return new WaitForSeconds(3f); _cop = Instantiate(_copPrefab, transform.position, transform.rotation) as CopBehavior; _cop.transform.parent = transform; _copWalker = PathSurfaceWalker.AttachPathSurfaceWalker(_cop.gameObject, _path, _copNodeIdx, _copTngOffset, _copBinrmOffset, 0f, _copSpeed); _copWalker.WalkFinish += OnWalkFinish; _copWalker.MoveOnPathSurface(_copNodeIdx, _copTngOffset, 0f); StartCoroutine(CheckReflectionFinish()); while (!_reflectionFinish) yield return null; LevelController.Instance._legionCtrl._crowd.GetComponent<BoxCollider>().enabled = true; EndEvent(); }