public void Report_The_Grave(GameObject nearbyObject) { KillObject obj = nearbyObject.GetComponent <Kill_InteractObject>().killObject; string obj_Name = obj.objectName; Debug.Log("무덤 이름 : " + obj_Name); }
//상호작용 객체(배열)들과 플레이어 객체 사이의 거리에 따른 UI변경 메소드 public void btwPlayerAndkill(Vector3 posPlayer, List <GameObject> kills) { if (kills.Count != 0) { Vector3 poskill; distances = new double[kills.Count]; for (int i = 0; i < kills.Count; i++) { poskill = kills[i].transform.position; distances[i] = calcDistance(posPlayer, poskill); if (distances[i] > 5f) { //오브젝트 태두리 설정 killBorder = kills[i].GetComponent <SpriteOutline>(); killBorder.enabled = false; } else { //오브젝트 태두리 설정 killBorder = kills[i].GetComponent <SpriteOutline>(); killBorder.enabled = true; } } nearbyObject = kills[0]; min = distances[0]; for (int i = 0; i < distances.Length; i++) { if (min > distances[i]) { nearbyObject = kills[i]; min = distances[i]; } } if (min < 5.0f) { KillObject paramObject = nearbyObject.gameObject.GetComponent <Kill_InteractObject>().killObject; GameObject killobject = GameObject.Find(paramObject.objectName); if (paramObject.IsPlayerAlive) { if (killButton.onClick != null) { killButton.onClick.RemoveAllListeners(); } killButton.onClick.AddListener(() => Use_kill(killobject, paramObject)); } ChangeButtonUI(true); } else { ChangeButtonUI(false); } } else { //게임 종료 } }
public void Die() { if (!dying) { dying = true; AudioController.PlaySound("GameOver"); KillObject kill = gameObject.AddComponent <KillObject>(); kill.PlayerKill(); } }
public IAsyncResult BeginClose(AsyncCallback callback) { if (m_thread == null || !m_thread.IsAlive) { return(new ValueAsyncResult(null, null)); } KillObject kill = new KillObject(callback, this); this.BeginInvoke((Action <bool>)DoCallClose, kill.CloseFinished, true); kill.Start(); return(kill); }
void CheckForKill(Collider2D other) { if (other.CompareTag("Player")) { other.GetComponent <MoveState>().Kill(); } else { KillObject obj = other.GetComponent <KillObject>(); if (obj != null) { obj.Kill(); } } }
// Use this for initialization void OnTriggerEnter2D(Collider2D other) { if (other.CompareTag("Player")) { other.GetComponent <DeadState>().typeOfDead = DeadType.Acid; other.GetComponent <MoveState>().Kill(acidDeathSFX); } else { KillObject obj = other.GetComponent <KillObject>(); if (obj != null) { obj.Kill(); } } }
// Use this for initialization void OnTriggerEnter2D(Collider2D other) { // Debug.Log("Collision"); if (other.CompareTag("Player")) { if (isElectricKill) { other.GetComponent <DeadState>().typeOfDead = DeadType.Ray; } other.GetComponent <MoveState>().Kill(spikeDeathSFX); } else { KillObject obj = other.GetComponent <KillObject>(); if (obj != null) { obj.Kill(); } } }
// Use this for initialization protected virtual void OnTriggerEnter2D(Collider2D other) { if (!other.CompareTag("Glitch")) { if (box.enabled) { if (other.CompareTag("Player") && canKillPlayer) { if (isMegaElectricKill) { other.GetComponent <DeadState>().typeOfDead = DeadType.MegaRay; } else if (isElectricKill) { other.GetComponent <DeadState>().typeOfDead = DeadType.Ray; } if (isGlitch == "W5" && isCollectable != "W5C")//klvo { other.GetComponent <MoveState>().Kill(bulletDeathGSFX); } else //endKlvo { other.GetComponent <MoveState>().Kill(bulletDeathSFX); } } else { KillObject killer = other.GetComponent <KillObject>(); // Debug.Log(other.name +" Killobject: "+ killer); if (killer != null) { killer.Kill(); } } box.enabled = false; HandlerDestroy(); } } }
void CheckForKill(Collider2D other) { if (other.CompareTag("Player")) { other.GetComponent <DeadState>().typeOfDead = DeadType.Ray; other.GetComponent <MoveState>().Kill(); if (sfxAudio.clip != shieldDeathSFX) { sfxAudio.clip = shieldDeathSFX; sfxAudio.volume = 1; sfxAudio.Play(); } } else { KillObject obj = other.GetComponent <KillObject>(); if (obj != null) { obj.Kill(); } } }
bool CheckForKill(Collider2D other, bool canKill) { if (other.CompareTag("Player")) { if (canKill) { other.GetComponent <DeadState>().typeOfDead = DeadType.Ray; other.GetComponent <MoveState>().Kill(electricDeathSFX); } } else if (other.CompareTag("Player2")) { return(true); } else if (other.CompareTag("DoorEspecial")) { if (canKill) { other.GetComponent <EspecialDoorRay>().Kill(); } } else { KillObject obj = other.GetComponent <KillObject>(); if (obj != null) { if (canKill) { obj.Kill(); } } else { return(false); } } return(true); }
protected override void OnTriggerEnter2D(Collider2D other) { if (!other.CompareTag("Glitch")) { if (box.enabled) { if (other.CompareTag("Player")) { if (isElectricKill) { other.GetComponent <DeadState>().typeOfDead = DeadType.Ray; } other.GetComponent <MoveState>().Kill(bulletDeathSFX); box.enabled = false; HandlerDestroy(); } else if (other.CompareTag("Resorte")) { } else if (other.CompareTag("Pistol")) { } else { KillObject killer = other.GetComponent <KillObject>(); // Debug.Log(other.name +" Killobject: "+ killer); if (killer != null) { killer.Kill(); } box.enabled = false; HandlerDestroy(); } } } }
public void Use_kill(GameObject ghost, KillObject ghostObject) { killInfo killinfo = new killInfo(); Vector3 pos; pos = ghost.transform.localPosition; if (ghostObject.objectName.Equals("Player1Object")) { killinfo.ImageNumber = 1; } else if (ghostObject.objectName.Equals("Player2Object")) { killinfo.ImageNumber = 2; } else if (ghostObject.objectName.Equals("Player3Object")) { killinfo.ImageNumber = 3; } else if (ghostObject.objectName.Equals("Player4Object")) { killinfo.ImageNumber = 4; } else if (ghostObject.objectName.Equals("Player5Object")) { killinfo.ImageNumber = 5; } killinfo.x = pos.x; killinfo.y = pos.y; Debug.Log(killinfo.ImageNumber); Debug.Log(killinfo.x); Debug.Log(killinfo.y); string message = JsonUtility.ToJson(killinfo, prettyPrint: true); SocketManger.Socket.Emit("kill", message); GameObject temp_player = GameObject.Find("Player" + killinfo.ImageNumber + "Object"); temp_player.SetActive(false); //무덤 프리팹 인스턴스 생성 graveStone = Instantiate(graveStonePrefab); //죽은 플레이어의 킬 인터렉트 속성 값을 무덤 오브젝트의 킬 인터렉트 속성에 저장함 graveStone.GetComponent <Kill_InteractObject>().killObject = temp_player.GetComponent <Kill_InteractObject>().killObject; //무덤의 위치를 죽은 플레이어의 위치로 이동 graveStone.transform.localPosition = new Vector3(killinfo.x, killinfo.y, 0); //무덤 오브젝트를 무덤 리스트에 추가함 graveStoneList.Add(graveStone); //플레이어가 죽여서 죽은 플레이어의 위치로 이동 player.transform.localPosition = ghost.transform.localPosition; /* * //죽은 플레이어의 에니메이터 설정 * Animator deadPlayerAnimator = ghost.GetComponent<Animator>(); * deadPlayerAnimator.runtimeAnimatorController = (RuntimeAnimatorController)RuntimeAnimatorController.Instantiate(Resources.Load("Ani\\" + ghostObject.objectName + "GhostController", typeof(RuntimeAnimatorController))); * * //죽은 플레이어의 컬러 설정 * SpriteRenderer deadPlayerSprite = ghost.GetComponent<SpriteRenderer>(); * deadPlayerSprite.sprite = ghostObject.sprite; * * //죽은 플레이어의 태두리 설정 * SpriteOutline deadPlayerBorder = ghost.GetComponent<SpriteOutline>(); * deadPlayerBorder.enabled = false; * //죽은 플레이어의 레이어 설정 * ghost.layer = 0; * //플레이어가 죽었다고 설정 * ghostObject.IsPlayerAlive = false; */ /* * //무덤 프리팹 인스턴스 생성 * graveStone = Instantiate(graveStonePrefab); * //죽은 플레이어의 킬 인터렉트 속성 값을 무덤 오브젝트의 킬 인터렉트 속성에 저장함 * graveStone.GetComponent<Kill_InteractObject>().killObject = ghost.GetComponent<Kill_InteractObject>().killObject; * //무덤의 위치를 죽은 플레이어의 위치로 이동 * graveStone.transform.localPosition = ghost.transform.localPosition; * //무덤 오브젝트를 무덤 리스트에 추가함 * graveStoneList.Add(graveStone); */ //타이머 마스크를 가림 killButtonBackgroundImage.fillAmount = 1; killButton.enabled = false; StartCoroutine(coolTimeImage); //남은시간을 쿨타임시간으로 초기화함 currentCoolTime = coolTime; killButtonText.text = "" + currentCoolTime; StartCoroutine(coolTimeText); }