public void Pickup() { if (!Locked && !PickedUp) { GetComponent <Collider>().isTrigger = true; this.transform.SetParent(Cam); this.transform.localPosition = new Vector3(0f, 0f, DistanceOffset); this.transform.localRotation = Quaternion.Euler(0f, 0f, 0f); this.transform.GetChild(0).GetComponent <MeshRenderer>().material.SetFloat("_Unlit", 1f); PC.NoLook = true; PickedUp = true; ASC.Sound = PickupSound; ASC.SetVolume(1f); ASC.Play(); OnPickup.Invoke(); Cursor.lockState = CursorLockMode.None; Cursor.visible = true; StartCoroutine(PutDown()); } }
//Button开始新游戏 public void NewStartButton() { //音效 if (m_AudioSourceController == null) { m_AudioSourceController = AudioSourcesManager.ApplyAudioSourceController(); } m_AudioSourceController.Play("按钮", transform); SceneManager.LoadScene(1); //加载场景1 Debug.Log("NewStart"); }
private IEnumerator Start() { if (this._playOnStart) { AudioSourceController audioSourceController = this._audioSourcePlayer.AquireAudioSourceController(); //! Calling `Play` each iteration. do { audioSourceController.Play( audioClip: this._audioClip ); yield return(new WaitForSecondsRealtime(this._audioClip.length)); }while (this._loop); ObjectPool.Instance.Release(audioSourceController); //? How to do it without calling `Play` each iteration? //? Why is it not recommended in this cae? //!? Because you are modifything a state of an entity that has been pooled. //!? It sure seems an easier and a better choice, but it may lead to unexpected bugs like something playing again when it shouldn't have. //audioSourceController.AudioSource.loop = this._loop; //audioSourceController.Play( // audioClip: this._audioClip //); //yield return new WaitForSecondsRealtime(this._audioClip.length); } }
IEnumerator Alarm() { ASC.AS.loop = true; ASC.Sound = AlarmSound; ASC.Play(); WarningText.fontSize = 0.01f; WarningText.text = "NIGHT OVER"; yield return(new WaitForSeconds(3f)); ASC.Stop(); }
private void Attack() { attackTimer = 0; healthTarget.TakeDamage(damage); // Animation && Sound muzleParticle.Play(); audioSourceController.Play(shotClip); }
public void Play(AudioSourceController source, float currentSfx) { if (clip == null || source == null) { return; } source.Play(clip, volume * currentSfx, pitch); }
void MakeNoise() { if (ASC && !isSpeaking) { ASC.Sound = Noises[Random.Range(0, Noises.Count)]; ASC.SetVolume(0.25f); ASC.Play(); } }
//public void PlayUI(AudioClip audioClip) //{ // AudioSourceController audioSourceController = ObjectPool.Instance.Aquire<AudioSourceController>( // poolable: this._audioSourceControllerPrefab // ); // audioSourceController.Play(audioClip: audioClip); //} public AudioSourceController Play(AudioClip audioClip) { AudioSourceController audioSourceController = ObjectPool.Instance.Aquire <AudioSourceController>( poolable: this._audioSourceControllerPrefab ); audioSourceController.Play(audioClip: audioClip); return(audioSourceController); }
public AudioSourceController Play() { AudioSourceController controller = AudioPoolManager.Instance.GetController(); controller.SetSourceProperties(GetClip(), volume, pitch, loop, spacialBlend); controller.Category = Category; controller.Play(); return(controller); }
public void GetSkill() { AudioSourceController audioSourceController = AudioSourcesManager.ApplyAudioSourceController(); audioSourceController.Play("修理轮椅", transform); m_Disable = false; GetComponent <ShowAndHideUI>().Show(); GetComponent <Image>().sprite = normalSprite; GetComponent <Image>().color = new Color(1f, 1f, 1f, 1f); transform.GetChild(0).GetComponent <Image>().color = new Color(1, 1, 1, 0); }
public AudioSourceController Play(Vector3 position) { controller = AudioPoolManager.Instance.GetController(); float volGen = AudioUtils.DecibelToLinear(Volume + Random.Range(RandomVolume, 0)); float pitchVar = (RandomPitch / 2); float pitchGen = AudioUtils.St2pitch(Random.Range(Pitch - pitchVar, Pitch + pitchVar)); controller.SetSourceProperties(GetClip(), volGen, pitchGen, Loop, SpatialBlend); controller.SetPosition(position); controller.Play(); return(controller); }
//显示获得道具的提示:道具名、渐入并淡出时长、上下偏移量、完全显示的停留时长、完全显示时的alpha值 public void GetShow(string itemName, float showTime = 2f, float offset = 0.4f, float holdTime = 0.2f, System.Action action = null, float alpha = 1f) { transform.Find("道具").GetComponent <Image>().sprite = itemsData.GetSpriteByItemName(itemName); transform.Find("符号").GetComponent <Image>().sprite = getIron; ShowFromTop(showTime, offset, holdTime, action, alpha); //音效 if (m_AudioSourceController == null) { m_AudioSourceController = AudioSourcesManager.ApplyAudioSourceController(); } m_AudioSourceController.Play("获得道具", transform); }
void PlaySound(char Letter) { Letter = char.ToLower(Letter); for (int i = 0; i < Alphabet.Length; i++) { if (Letter == Alphabet[i]) { CurrentSource.Sound = CurrentVoice.Letters[i]; CurrentSource.SetPitch(CurrentVoice.Pitch); CurrentSource.Play(); } } }
public void UseSkill() { if (!m_IsCD && !m_Disable) { m_IsCD = true; m_Timer = 0f; GetComponent <Image>().sprite = normalSprite; GetComponent <Image>().color = new Color(0.5f, 0.5f, 0.5f, 1f); transform.GetChild(0).GetComponent <Image>().sprite = cdSprite; transform.GetChild(0).GetComponent <Image>().color = new Color(0f, 0f, 0f, 0.4f); AudioSourceController audioSourceController = AudioSourcesManager.ApplyAudioSourceController(); audioSourceController.Play("冲刺", transform); StartCoroutine(IE_CD()); } }
public void CloseButton(string itemName = null) { //音效 if (m_AudioSourceController == null) { m_AudioSourceController = AudioSourcesManager.ApplyAudioSourceController(); } if (itemName != "收音机") { m_AudioSourceController.Play("阅读字条", transform); } else { m_AudioSourceController.Stop(); } //解除禁用输入 InputController.BanButton(false); InputController.BanMouse(false); StopCoroutine(IE_ShowButton()); GetComponent <ShowAndHideUI>().Hide(0.5f); GameObject.Find("EventSystem").GetComponent <EventSystem>().enabled = true; }
void Update() { if (!is_Cough) { last_time += Time.deltaTime; } if (last_time > interval_time) { StopMoving(); child.GetComponent <Animator>().SetBool("IsCough", true); audioSourceController.Play("咳嗽", transform); InputController.BanButton(true); last_time = 0f; is_Cough = true; Invoke("FinishCough", cough_time); } }
private void Update() { if (SceneManager.GetActiveScene().buildIndex != 0) //场景不为主菜单时 { if (Input.GetKeyDown(KeyCode.Escape) && !m_IsPause) //开始暂停 { //音效 if (m_AudioSourceController == null) { m_AudioSourceController = AudioSourcesManager.ApplyAudioSourceController(); } m_AudioSourceController.Play("按钮", transform); m_IsPause = true; /*GameObject[] UIs = GameObject.FindGameObjectsWithTag("UI"); * foreach (GameObject ui in UIs) * { * ui.SetActive(false); * }*/ transform.Find("PauseCanvas").gameObject.SetActive(true); transform.Find("PauseCanvas/BackgroundPanel/HelpPanel").gameObject.SetActive(false); transform.Find("PauseCanvas/BackgroundPanel/MusicPanel").gameObject.SetActive(false); transform.Find("PauseCanvas/BackgroundPanel/BasicPanel").gameObject.SetActive(true); ButtonOverride[] buttonOverrides = transform.GetComponentsInChildren <ButtonOverride>(); foreach (ButtonOverride buttonOverride in buttonOverrides) { buttonOverride.Init(); } Time.timeScale = 0f; } else if (Input.GetKeyDown(KeyCode.Escape) && m_IsPause) //取消暂停 { //音效 if (m_AudioSourceController == null) { m_AudioSourceController = AudioSourcesManager.ApplyAudioSourceController(); } m_AudioSourceController.Play("按钮", transform); m_IsPause = false; transform.Find("PauseCanvas").gameObject.SetActive(false); Time.timeScale = 1f; } } }
public void SetFrozen(bool State) { Frozen = State; if (Frozen) { ASC_Engine.Stop(); SetStation(0, false); } else { ASC_Engine.Play(); BA.FixGlass(); if (!RadioTurnedOff) { SetStation(DefaultStation, false); } } }
public override void OnPointerEnter(PointerEventData eventData) { //音效 if (m_AudioSourceController == null) { m_AudioSourceController = AudioSourcesManager.ApplyAudioSourceController(); } m_AudioSourceController.Play("按钮悬浮", transform); base.OnPointerEnter(eventData); Text text = transform.GetComponentInChildren <Text>(); if (text) { text.fontSize = GetComponent <ButtonParameter>().fonthighlightSize; text.color = GetComponent <ButtonParameter>().fontHighlightedColor; } }
public void BackpackToggle() { if (transform.GetComponent <Toggle>().isOn) { transform.GetComponent <Toggle>().targetGraphic.GetComponent <Image>().sprite = on; transform.GetComponent <Toggle>().targetGraphic.GetComponent <Image>().color = new Color(1, 1, 1, 1); } else { transform.GetComponent <Toggle>().targetGraphic.GetComponent <Image>().sprite = off; transform.GetComponent <Toggle>().targetGraphic.GetComponent <Image>().color = new Color(0.5f, 0.5f, 0.5f, 1); } if (audioSourceController == null) { audioSourceController = AudioSourcesManager.ApplyAudioSourceController(); } audioSourceController.Play("按钮", transform); }
void Start() { DriverMaxSpeed = Random.Range(MaxSpeedRandom.x, MaxSpeedRandom.y); TurnDeadZone = Random.Range(TurnDeadZoneRandom.x, TurnDeadZoneRandom.y); OuterLane = Random.Range(0f, 1f) > 0.5; CS = GetComponent <CollisionSound>(); r = GetComponent <Rigidbody>(); r.centerOfMass = Mass.localPosition; Goal.SetParent(null); CurrentNode = new Road.Node(); CurrentNode.Index = -1; InitTune(); GetRoad(); InvokeRepeating("CheckWaiting", 10f, 10f); InvokeRepeating("ChangeLanes", Random.Range(0f, 25f), Random.Range(10f, 25f)); ASC_Engine.Play(); }
IEnumerator ChangeChannel(int Index, bool Static) { RadioSwapping = true; if (Static) { ASC_Radio.SetVolume(0.5f); ASC_Radio.Sound = StaticSound; ASC_Radio.Play(); yield return(new WaitForSeconds(1f)); ASC_Radio.Stop(); } PlaySong(); yield return(new WaitForSeconds(0.25f)); RadioSwapping = false; }
// Returns length of random clip just played private float PlayRandomClip(SFXScriptableObject sfxSO, Vector3 pos) { asc = GetController(); var audioClipArraySize = sfxSO.audioClips.Length; if (audioClipArraySize == 0) { Debug.LogError("Please set audio clip(s) on " + sfxSO.name + " scriptable object."); return(0); } AudioClip clip = sfxSO.audioClips[Random.Range(0, audioClipArraySize)]; if (asc != null) { asc.SetPosition(pos); asc.SetSourceProperties(clip, sfxSO.volume, sfxSO.pitch, sfxSO.loop); asc.Play(); } return(clip.length); }
private void OnCollisionEnter2D(Collision2D collision) { if (collision.gameObject.tag == "Dog") { if (interaction_type == 0) { if (collision.contacts[0].normal.x == 1) { transform.parent.GetComponent <Animator>().SetTrigger("Open"); GameObject.Find("MouseCursor").GetComponent <MouseCursorController>().EnterPointPlane(); m_AudioSourceController = AudioSourcesManager.ApplyAudioSourceController(); m_AudioSourceController.Play("开关门", transform); GetComponent <Collider2D>().enabled = false; transform.parent.Find("Gate").gameObject.SetActive(false); InputController.BanMouse(true); InputController.BanButton(true); Invoke("CanMove", 2f); } } } }
private void FireGun() { Ray ray = Camera.main.ViewportPointToRay(Vector3.one * 0.5f); //Debug.DrawRay(ray.origin, ray.direction * 100, Color.red, 2f); RaycastHit hitInfo; if (Physics.Raycast(ray, out hitInfo, fireRange)) { var health = hitInfo.collider.GetComponent <Health>(); if (health != null) { health.TakeDamage(damage); } } // Animation && Sound muzleParticle.Play(); audioSourceController.Play(shotClip); }
public void BreakGlass() { ASC_FrontGlass.SetVolume(1f); ASC_SideGlass.SetVolume(1f); ASC_FrontGlass.Sound = BreakSound; ASC_SideGlass.Sound = BreakSound; ASC_FrontGlass.Play(); ASC_SideGlass.Play(); Material[] Temp = new Material[Body.materials.Length]; for (int i = 0; i < Temp.Length; i++) { Temp[i] = Body.materials[i]; } Temp[4] = Broken_Glass; Body.materials = Temp; }
IEnumerator IE_ShowAndHide(float showTime, float holdTime, float alpha) { //音效 if (m_AudioSourceController == null) { m_AudioSourceController = AudioSourcesManager.ApplyAudioSourceController(); } m_AudioSourceController.Play("气泡提示", transform); //淡入 float delta = Time.deltaTime / showTime; //showTime时间内渐入/淡出 while (GetComponent <CanvasGroup>().alpha != alpha) { GetComponent <RectTransform>().position = character.position + new Vector3(xOffset, yOffset, 0); GetComponent <CanvasGroup>().alpha += delta; if (GetComponent <CanvasGroup>().alpha > alpha) { GetComponent <CanvasGroup>().alpha = alpha; } yield return(0); } //保持完全显示 float timer = 0f; while (timer < holdTime) { GetComponent <RectTransform>().position = character.position + new Vector3(xOffset, yOffset, 0); timer += Time.deltaTime; yield return(0); } //淡出 Hide(showTime); }
private void Update() { if (!gameObject.transform.GetChild(1).gameObject.activeInHierarchy&& interaction_type != 17) { return; } if (is_inBounds && player != null) { if (player.GetComponent <PlayerActions>().GetInteraction()) { switch (interaction_type) { case 0: #region 纸条 WaitFor(2f); GetSomething("纸条"); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("BackpackUI/Canvas/Note").transform.GetComponent <NoteUI>().Show("纸条", 5f); GameObject.Find("BackpackUI").GetComponent <BackpackUI>().AddItem("纸条"); }, 2f)); #endregion break; case 1: #region 罐头 GetSomething("罐头"); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("n格漫画UI").transform.GetComponent <CartoonUI>().Show(1); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameController.LoadScene(4); }, 13f)); }, 1f)); #endregion break; case 2: m_AudioSourceController.Play("四格漫画1-3", transform); break; case 3: #region 轮椅 GameObject.Find("零件堆").GetComponent <Animator>().SetTrigger("Disappear"); itemsData.items.Add(new Item("轮椅", "", get_object.GetComponent <SpriteRenderer>().sprite)); GetSomething("轮椅"); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("n格漫画UI").transform.GetComponent <CartoonUI>().Show(2); }, 1f)); CameraAndCharacterController cameraController = GameObject.Find("CameraAndCharacterController").GetComponent <CameraAndCharacterController>(); cameraController.character_man.GetComponent <ShowAndHide>().Hide(2f); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { ShowChairMan(); }, 2f)); transform.parent.Find("SwitchTrigger").gameObject.SetActive(true); #endregion break; case 4: #region 电线开关 m_AudioSourceController.Play("开关", transform); WaitFor(8f); GameObject.Find("TrackCameraController-ElectricWire").GetComponent <TrackCameraController>().StartMove(); m_AudioSourceController.Play("电流", transform); transform.GetChild(1).gameObject.SetActive(false); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("漏电的电线").GetComponent <Animator>().SetTrigger("IsCut"); GameObject.Find("ElectricLine").SetActive(false); Destroy(remind); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { m_AudioSourceController.Stop(); }, 1.5f)); }, 4f)); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-ElectricWire").GetComponent <TrackCameraController>().Finished(); }, 5.5f)); #endregion break; case 5: break; case 6: #region 收据 WaitFor(1f); GetSomething("收据1"); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { //GameObject.Find("BackpackUI/Canvas/Note").transform.GetComponent<NoteUI>().Show("收据1", 5f); GameObject.Find("BackpackUI").GetComponent <BackpackUI>().AddItem("收据1"); }, 2f)); #endregion break; case 7: #region 日记 WaitFor(1f); GetSomething("日记"); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("BackpackUI").GetComponent <BackpackUI>().AddItem("日记"); }, 2f)); #endregion break; case 8: #region 花盆 if (GameObject.Find("BackpackUI").GetComponent <BackpackUI>().HasItem("瓶装水")) { GetComponent <Collider2D>().enabled = false; WaitFor(15.5f); LoseSomething("瓶装水"); m_AudioSourceController.Play("倒水", transform); zimu.Show("希望它可以快快发芽。"); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("n格漫画UI").transform.GetComponent <CartoonUI>().Show(4); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { zimu.Show("好像有一本日记。"); transform.parent.Find("日记Trigger").gameObject.SetActive(true); }, 10.5f)); }, 3f)); } else { WaitFor(9f); LoseSomething("种子"); zimu.Show("种子已经种下了,或许需要给它浇浇水。"); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-Water").GetComponent <TrackCameraController>().StartMove(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-Water").GetComponent <TrackCameraController>().Finished(); }, 5f)); }, 2f)); } #endregion break; case 9: #region 瓶装水 WaitFor(1f); GetSomething("瓶装水"); GameObject.Find("BackpackUI").GetComponent <BackpackUI>().AddItem("瓶装水"); #endregion break; case 10: #region 种子 WaitFor(9f); GetSomething("种子"); GameObject.Find("BackpackUI").GetComponent <BackpackUI>().AddItem("种子"); zimu.Show("捡到了一颗种子,要找个地方把它种下。"); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-FlowerPot").GetComponent <TrackCameraController>().StartMove(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-FlowerPot").GetComponent <TrackCameraController>().Finished(); transform.parent.Find("花盆Trigger").GetComponent <Collider2D>().enabled = true; }, 5f)); }, 2f)); #endregion break; case 11: #region 收音机 WaitFor(9f); GetSomething("收音机"); GameObject.Find("BackpackUI").GetComponent <BackpackUI>().AddItem("收音机"); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-Battery").GetComponent <TrackCameraController>().StartMove(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-Battery").GetComponent <TrackCameraController>().Finished(); Invoke("CanMove", 2f); }, 5f)); transform.parent.Find("电池Trigger").GetComponent <Collider2D>().enabled = true; }, 2f)); #endregion break; case 12: #region 电池 WaitFor(1f); GetSomething("电池"); GameObject.Find("BackpackUI").GetComponent <BackpackUI>().AddItem("电池"); #endregion break; case 13: #region 零件 #endregion break; case 14: #region 炸弹 WaitFor(1f); GetSomething("炸弹"); GameObject.Find("BackpackUI").GetComponent <BackpackUI>().AddItem("炸弹"); zimu.Show("一捆炸药!"); #endregion break; case 15: #region 电箱 //水坑没水 if (!transform.parent.Find("水坑Trigger/GetObject").GetChild(3).gameObject.activeInHierarchy) { WaitFor(7f); GameObject.Find("TrackCameraController-Pool2").GetComponent <TrackCameraController>().StartMove(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-Pool2").GetComponent <TrackCameraController>().Finished(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { zimu.Show("电线断了..."); }, 1.5f)); }, 5f)); return; } //水坑有水并且已经摆了炸弹 if (transform.parent.Find("摆炸弹Trigger/GetObject").gameObject.activeInHierarchy) { GameObject.Find("n格漫画UI").transform.GetComponent <CartoonUI>().Show(5); } //水坑有水但是么有摆炸弹 else { WaitFor(7f); GameObject.Find("TrackCameraController-Wall").GetComponent <TrackCameraController>().StartMove(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-Wall").GetComponent <TrackCameraController>().Finished(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { m_AudioSourceController.Play("电流", transform); zimu.Show("电路连通了,或许可以点燃什么。"); }, 1.5f)); }, 5f)); } #endregion break; case 16: #region 水坑 //包里有水 if (GameObject.Find("BackpackUI").GetComponent <BackpackUI>().HasItem("瓶装水")) { m_AudioSourceController.Play("倒水", transform); LoseSomething("瓶装水"); GameObject.Find("TrackCameraController-Pool").GetComponent <TrackCameraController>().StartMove(); Transform pool = get_object.transform; InputController.BanButton(true); InputController.BanMouse(true); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { if (!pool.GetChild(1).gameObject.activeInHierarchy) { Initial(); WaitFor(5f); pool.GetChild(1).GetComponent <ShowAndHide>().Show(3f); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-Pool").GetComponent <TrackCameraController>().Finished(); zimu.Show("还需要更多的水。"); }, 3f)); } else if (!pool.GetChild(2).gameObject.activeInHierarchy) { Initial(); WaitFor(5f); pool.GetChild(2).GetComponent <ShowAndHide>().Show(3f); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-Pool").GetComponent <TrackCameraController>().Finished(); zimu.Show("还需要更多的水。"); }, 3f)); } else if (!pool.GetChild(3).gameObject.activeInHierarchy) { WaitFor(11f); pool.GetChild(3).GetComponent <ShowAndHide>().Show(3f); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-Pool").GetComponent <TrackCameraController>().Finished(); //电路连通,可以开电箱 transform.parent.Find("电箱Trigger").GetComponent <Collider2D>().enabled = true; GameObject.Find("TrackCameraController-ElectricityBox2").GetComponent <TrackCameraController>().StartMove(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { transform.parent.Find("电箱Trigger").GetChild(1).GetComponent <Animator>().SetBool("Open", true); m_AudioSourceController.Play("电流", transform); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-ElectricityBox2").GetComponent <TrackCameraController>().Finished(); zimu.Show("只要再把电源打开。。。"); }, 3f)); }, 3f)); }, 3f)); } }, 3f)); } //包里没水 else { WaitFor(2f); zimu.Show("或许可以想办法把这个水坑填满。"); } #endregion break; case 17: #region 放炸弹 //包里没炸弹 if (!GameObject.Find("BackpackUI").GetComponent <BackpackUI>().HasItem("炸弹")) { WaitFor(2f); zimu.Show("这面墙快塌了,要是有炸药什么的应该可以炸开吧。"); return; } //包里有炸弹 InputController.BanButton(true); InputController.BanMouse(true); Invoke("CanMove", 1f); LoseSomething("炸弹"); //包里有炸弹且电路连通 if (transform.parent.Find("电箱Trigger").GetChild(1).GetComponent <Animator>().GetBool("Open")) { GameObject.Find("n格漫画UI").transform.GetComponent <CartoonUI>().Show(5); return; } //包里有炸弹但电路不通 get_object.GetComponent <ShowAndHide>().Show(2f); WaitFor(7f); GameObject.Find("TrackCameraController-ElectricityBox").GetComponent <TrackCameraController>().StartMove(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { GameObject.Find("TrackCameraController-ElectricityBox").GetComponent <TrackCameraController>().Finished(); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { zimu.Show("电线断了..."); }, 1.5f)); }, 5f)); #endregion break; default: break; } } } }
// Update is called once per frame void Update() { interaction = false; InputController.GetKey(); #region 切换视角 if (CameraController != null && GameController.GetCharacterNumber() == 2) { int mainCamera = CameraController.GetComponent <CameraAndCharacterController>().mainCamera; if (mainCamera == 0 && InputController.mouseDown) { CameraController.GetComponent <CameraAndCharacterController>().mainCamera = 1; CameraController.GetComponent <CameraAndCharacterController>().SendMessage("ChangeCamera"); } else if (mainCamera == 1 && InputController.buttonDown) { CameraController.GetComponent <CameraAndCharacterController>().mainCamera = 0; CameraController.GetComponent <CameraAndCharacterController>().SendMessage("ChangeCamera"); } } else if (GameController.GetCharacterNumber() != 2) { Debug.Log("这个场景的角色不是两个,所以不能切换视角!"); } #endregion #region 虚弱的人的移动 if (m_state == 0) { if (InputController.left) { gameObject.GetComponent <PoorManMoving>().SendMessage("MoveLeft"); audioSourceController.Play("人走路", transform); } else if (InputController.right) { gameObject.GetComponent <PoorManMoving>().SendMessage("MoveRight"); audioSourceController.Play("人走路", transform); } else if (InputController.interaction) { interaction = true; gameObject.GetComponent <PoorManMoving>().SendMessage("StopMoving"); audioSourceController.Stop(); audioSourceController = AudioSourcesManager.ApplyAudioSourceController(); return; } else { gameObject.GetComponent <PoorManMoving>().SendMessage("StopMoving"); audioSourceController.Stop(); audioSourceController = AudioSourcesManager.ApplyAudioSourceController(); return; } } #endregion #region 轮椅的移动 if (m_state == 1) { if (InputController.rush) { Skill rushSkill = GameObject.Find("技能UI/Canvas/Panel").transform.Find("技能1").GetComponent <Skill>(); if (rushSkill.IsAble()) { if (!rushSkill.isCD) { rushSkill.UseSkill(); //audioSourceController.Play("冲刺", transform); gameObject.GetComponent <ChairMoving>().SendMessage("Rush"); } } } if (InputController.left) { audioSourceController.Play("轮椅移动", transform); gameObject.GetComponent <ChairMoving>().SendMessage("MoveLeft"); } else if (InputController.right) { audioSourceController.Play("轮椅移动", transform); gameObject.GetComponent <ChairMoving>().SendMessage("MoveRight"); } else if (InputController.interaction) { interaction = true; gameObject.GetComponent <ChairMoving>().SendMessage("StopMoving"); audioSourceController.Stop(); audioSourceController = AudioSourcesManager.ApplyAudioSourceController(); return; } else { gameObject.GetComponent <ChairMoving>().SendMessage("StopMoving"); audioSourceController.Stop(); audioSourceController = AudioSourcesManager.ApplyAudioSourceController(); return; } } #endregion #region 健康人的移动 if (m_state == 2) { if (InputController.left) { gameObject.GetComponent <PlayerMoving>().SendMessage("IsMoving", true); gameObject.GetComponent <PlayerMoving>().SendMessage("MoveLeft"); audioSourceController.Play("人走路", transform); } else if (InputController.right) { gameObject.GetComponent <PlayerMoving>().SendMessage("IsMoving", true); gameObject.GetComponent <PlayerMoving>().SendMessage("MoveRight"); audioSourceController.Play("人走路", transform); } else if (InputController.interaction) { interaction = true; gameObject.GetComponent <PlayerMoving>().SendMessage("IsMoving", false); audioSourceController.Stop(); audioSourceController = AudioSourcesManager.ApplyAudioSourceController(); return; } else { gameObject.GetComponent <PlayerMoving>().SendMessage("IsMoving", false); audioSourceController.Stop(); audioSourceController = AudioSourcesManager.ApplyAudioSourceController(); return; } } #endregion #region 狗子的移动 if (m_state == 3) { GameObject plane = GameObject.FindGameObjectWithTag("Plane"); Vector3 target = new Vector3(InputController.hitPoint.x, InputController.hitPoint.y, plane.transform.position.z); if (InputController.right_mouseDown) { GetComponent <DogMoving>().SendMessage("JumpTo", target); } if (plane.GetComponent <Collider2D>().bounds.Contains(target)) { if (InputController.left_mouseDown) { GetComponent <DogMoving>().SendMessage("MoveTo", target); interaction = true; } } } #endregion }
private void Update() { Vector3 playerWordDir = Camera.main.WorldToScreenPoint(new Vector3(0, 0, 0f)); Vector3 mousePosition = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, playerWordDir.z)); switch (interaction_type) { case 1: if (transform.parent.GetComponent <Collider2D>().bounds.Contains(mousePosition)) { if (!action_finished) { GameObject.Find("MouseCursor").GetComponent <MouseCursorController>().InterationPrompt(); } InputController.GetKey(); if (!dog_inBounds) { return; } if (m_dog.GetComponent <PlayerActions>().GetInteraction() && !action_finished) { action_finished = true; m_AudioSourceController.Play("碎石", transform); GameObject.Find("MouseCursor").GetComponent <MouseCursorController>().EnterPointPlane(); Transform stone = transform.parent; stone.GetChild(1).GetComponent <ShowAndHide>().Hide(3f); stone.GetChild(2).gameObject.SetActive(true); stone.GetChild(2).GetComponent <ShowAndHide>().Show(3f); StartCoroutine(DelayToInvoke.DelayToInvokeDo(() => { m_dog.GetComponent <DogMoving>().StopMoving(); gameObject.SetActive(false); stone.GetComponent <Collider2D>().isTrigger = true; }, 3f)); } } else { GameObject.Find("MouseCursor").GetComponent <MouseCursorController>().EnterPointPlane(); } break; case 3: if (transform.parent.GetComponent <Collider2D>().bounds.Contains(mousePosition)) { if (!action_finished) { GameObject.Find("MouseCursor").GetComponent <MouseCursorController>().InterationPrompt(); } InputController.GetKey(); if (!dog_inBounds) { return; } if (m_dog.GetComponent <PlayerActions>().GetInteraction() && !action_finished) { GetSomething("零件"); GameObject.Find("箱子").GetComponent <Collider2D>().enabled = false; transform.parent.GetChild(2).GetComponent <Collider2D>().enabled = false; GameObject.Find("BackpackUI").GetComponent <BackpackUI>().AddItem("零件"); GameObject.Find("MouseCursor").GetComponent <MouseCursorController>().EnterPointPlane(); zimu.Show("拿到了零件!可以修理一下轮椅了。"); GameObject.Find("CameraAndCharacterController").GetComponent <CameraAndCharacterController>().SendMessage("LookAtMan"); } } else { GameObject.Find("MouseCursor").GetComponent <MouseCursorController>().EnterPointPlane(); } break; case 4: if (transform.parent.GetComponent <Collider2D>().bounds.Contains(mousePosition)) { GameObject.Find("MouseCursor").GetComponent <MouseCursorController>().InterationPrompt(); } else { GameObject.Find("MouseCursor").GetComponent <MouseCursorController>().EnterPointPlane(); } break; default: break; } }