Exemple #1
0
    public void Report_The_Grave(GameObject nearbyObject)
    {
        KillObject obj      = nearbyObject.GetComponent <Kill_InteractObject>().killObject;
        string     obj_Name = obj.objectName;

        Debug.Log("무덤 이름 : " + obj_Name);
    }
Exemple #2
0
    //상호작용 객체(배열)들과 플레이어 객체 사이의 거리에 따른 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
        {
            //게임 종료
        }
    }
Exemple #3
0
 public void Die()
 {
     if (!dying)
     {
         dying = true;
         AudioController.PlaySound("GameOver");
         KillObject kill = gameObject.AddComponent <KillObject>();
         kill.PlayerKill();
     }
 }
Exemple #4
0
        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);
        }
Exemple #5
0
 void CheckForKill(Collider2D other)
 {
     if (other.CompareTag("Player"))
     {
         other.GetComponent <MoveState>().Kill();
     }
     else
     {
         KillObject obj = other.GetComponent <KillObject>();
         if (obj != null)
         {
             obj.Kill();
         }
     }
 }
Exemple #6
0
 // 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();
         }
     }
 }
Exemple #7
0
    // 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();
            }
        }
    }
Exemple #8
0
 // 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();
         }
     }
 }
Exemple #9
0
 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();
         }
     }
 }
Exemple #10
0
 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);
 }
Exemple #11
0
    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();
                }
            }
        }
    }
Exemple #12
0
    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);
    }