Exemplo n.º 1
0
    public IEnumerator RespawnPlayerCo()
    {
        Instantiate(deathFX, player.transform.position, player.transform.rotation);
        player.enabled = false;
        player.GetComponent <Renderer>().enabled = false;

        camCtrl.isFollowing = false;

        // gravityStore = player.GetComponent<Rigidbody2D>().gravityScale;

        //player.GetComponent<Rigidbody2D>().gravityScale = 0f;
        //player.GetComponent<Rigidbody2D>().velocity = Vector2.zero;
        ScoreManager.AddPoints(-pointsPenaltyOnDeath);

        Debug.Log("Player Respawned");

        yield return(new WaitForSeconds(respawnDelay));

        //player.GetComponent<Rigidbody2D>().gravityScale = gravityStore;
        player.transform.position = currentCheckpoint.transform.position;
        player.knockBackCount     = 0;
        player.enabled            = true;
        player.GetComponent <Renderer>().enabled = true;

        healthManager.FullHealth();
        healthManager.isDead = false;

        camCtrl.isFollowing = true;
        Instantiate(respawnFX, currentCheckpoint.transform.position, currentCheckpoint.transform.rotation);
    }
Exemplo n.º 2
0
            /// <summary>
            /// 아이템을 공격하면 습득한다
            /// 샷건은 제외(중복 습득 가능성이 있기 때문에..)
            /// </summary>
            /// <param name="hit"></param>
            void HitItemPickUp(RaycastHit hit)
            {
                HitEffectPlay(hit.point);

                if (hit.transform.tag.Equals("Grenade"))
                {
                    if (playerCtrl.GetComponent <ItemManager>().NGrenadeCount <
                        playerCtrl.GetComponent <ItemManager>().NMaxGrenadeCount)
                    {
                        playerCtrl.GetComponent <ItemManager>().NGrenadeCount++;
                        playerCtrl.GetComponent <ItemManager>().GrenadeCountText();

                        hit.transform.gameObject.SetActive(false);
                    }
                }

                if (hit.transform.tag.Equals("Recovery"))
                {
                    if (playerCtrl.GetComponent <ItemManager>().NRecoveryCount <
                        playerCtrl.GetComponent <ItemManager>().NMaxRecorveryCount)
                    {
                        playerCtrl.GetComponent <ItemManager>().NRecoveryCount++;
                        playerCtrl.GetComponent <ItemManager>().RecoveryCountText();

                        hit.transform.gameObject.SetActive(false);
                    }
                }
            }
Exemplo n.º 3
0
    public override void ClickAction()
    {
        state  = GameObject.Find("Player").GetComponent <PlayerCtrl>();  //플레이어 현재 상태
        Arrow  = GameObject.Find("ExitRoomDoor");                        // 밖으로 통하는 문 위 화살표
        Door   = GameObject.Find("ExitRoom").GetComponent <Transform>(); // 밖으로 문
        Player = GameObject.Find("Player");
        if (state.ps == PlayerCtrl.PlayerState.Escape_House && Arrow.GetComponent <SelectableObject>()._IsArrowAppearing == true)
        // 플레이어 현재 상태가 Escape_House 이고 밖으로 통하는 문 위 화살표가 활성화 일 때만
        {
            GameObject.Find("Ment15").GetComponent <UITextManager>().EraseText();

            if (GameObject.Find("Ment16").GetComponent <UITextManager>().transform.FindChild("CanvasGroup").gameObject.active)
            {
                GameObject.Find("Ment16").GetComponent <UITextManager>().EraseText();
            }

            GameObject.Find("ExitRoom").GetComponent <AudioSource>().enabled = true;

            Arrow.GetComponent <SelectableObject>()._IsArrowAppearing = false; // 문 위 화살표 비활성화
            Audio.GetComponent <AudioSource>().enabled  = false;
            Player.GetComponent <AudioSource>().enabled = false;

            End.SetActive(true);
            towel.SetActive(false);
            EndingCam.SetActive(true);
            // GameObject.Find("Ment16").SetActive(false);
            state.GetComponent <EscapeHouse>().Ending();
            StartCoroutine("OpenDoor"); //문 여는 코루틴
        }
    }
Exemplo n.º 4
0
	void OnTriggerEnter(Collider other)
	{	
		// Playerか判定.
		if( other.tag == "Player" ){
			// アイテム取得.
			CharacterStatus aStatus = other.GetComponent<CharacterStatus>();
			aStatus.GetItem(kind);
			// オーディオ再生.
			AudioSource.PlayClipAtPoint(itemSeClip,transform.position);
			// アイテムを取得をオーナーへ通知する.
			PlayerCtrl playerCtrl = other.GetComponent<PlayerCtrl>();
			if (playerCtrl.GetComponent<NetworkView>().isMine) {
				if (GetComponent<NetworkView>().isMine)
					GetItemOnNetwork(playerCtrl.GetComponent<NetworkView>().viewID);
				else
					GetComponent<NetworkView>().RPC("GetItemOnNetwork",GetComponent<NetworkView>().owner,playerCtrl.GetComponent<NetworkView>().viewID);
			}
		}
	}
Exemplo n.º 5
0
            private void Start()
            {
                //   Debug.Log("WeaponeCtrl");
                ItemSearch(weaponeDataName); //무기 데이터 적용
                playerCtrl  = GameObject.FindGameObjectWithTag("Player").GetComponent <PlayerCtrl>();
                itemManager = playerCtrl.GetComponent <ItemManager>();

                _audio = GetComponent <AudioSource>();

                hitParticle = hitEffect.GetComponentsInChildren <ParticleSystem>();

                WeaponePartsAct(); //파츠 활성화
            }
Exemplo n.º 6
0
 private void Awake()
 {
     Instance    = this;
     BlockLength = player.GetComponent <SpriteRenderer>().bounds.size.x;
     rainbow.Add(Colour.White, new Color(1, 1, 1));
     rainbow.Add(Colour.Red, new Color(255 / 255f, 0, 0));
     rainbow.Add(Colour.Orange, new Color(255 / 255f, 152 / 255f, 0));
     rainbow.Add(Colour.Yellow, new Color(255 / 255f, 255 / 255f, 0));
     rainbow.Add(Colour.Green, new Color(0, 255 / 255f, 0));
     rainbow.Add(Colour.Cyan, new Color(0, 255 / 255f, 255 / 255f));
     rainbow.Add(Colour.Blue, new Color(0, 0, 255 / 255f));
     rainbow.Add(Colour.Purple, new Color(150 / 255f, 0, 255 / 255f));
     rainbow.Add(Colour.Black, new Color(0, 0, 0));
 }
Exemplo n.º 7
0
    void DisableAndPushPlayer()
    {
        player.transform.GetComponent <PlayerCtrl>().enabled = false;
        foreach (Collider2D c2d in player.transform.GetComponents <Collider2D>())
        {
            c2d.enabled = false;
        }
        foreach (Transform child in player.transform)
        {
            child.gameObject.SetActive(false);
        }
        Rigidbody2D rb = player.GetComponent <Rigidbody2D>();

        rb.velocity = Vector2.zero;
        rb.AddForce(new Vector2(-150.0f, 400f));
    }
Exemplo n.º 8
0
        public override void build()
        {
            Tile       tile       = StaticVar.currentSelectedTile;
            PlayerCtrl playerCtrl = Object.Instantiate(GameConfigure.instance.playerCtrlPrefab);
            Transform  t          = playerCtrl.GetComponent <Transform> ();

            t.localPosition = new Vector3(tile.x, 0, tile.z);
            Player player = new Player();

            player.team       = StaticVar.currentTeam;
            player.x          = tile.x;
            player.z          = tile.z;
            player.gameObject = playerCtrl.gameObject;
            player.init();
            playerCtrl.player = player;
        }
Exemplo n.º 9
0
            /// <summary>
            /// 이벤트 스테이지의 경우
            /// 업그래이드 포인트와 아이템 정보만 저장하여 넘긴다
            /// </summary>
            /// <param name="save"></param>
            public void ItemSave(PlayerCtrl player, ItemManager itemData, string stageNam)
            {
                data.sceneName = stageNam;

                //아이템
                ItemManager item = player.GetComponent <ItemManager>();

                data.nGrenadeCount      = item.NGrenadeCount;
                data.nRecoveryCount     = item.NRecoveryCount;
                data.nMaxGrenadeCount   = item.NMaxGrenadeCount;
                data.nMaxRecorveryCount = item.NMaxRecorveryCount;
                data.grenadeLevel       = item.GrenadeLevel;
                data.recoveryLevel      = item.RecoveryLevel;
                data.greadeDMG          = item.GreadeDMG;
                data.recoveryHP         = item.RecoveryHP;

                data.nUpgradePoint = item.NUpgradePoint;


                dataManager.Save(data);
            }
Exemplo n.º 10
0
    private void OnTriggerStay(Collider other)
    {
        PlayerCtrl NetworkPlayerCtrl = other.gameObject.GetComponentInParent <PlayerCtrl>();

        if (NetworkPlayerCtrl == null || NetworkPlayerCtrl == this)
        {
            return;
        }

        if (NetworkPlayerCtrl.m_PlayerTeam == m_PlayerTeam)
        {
            if (m_PhotonView.isMine)
            {
                m_fTime += Time.deltaTime;

                if (m_fTime >= 3.0f)
                {
                    NetworkPlayerCtrl.GetComponent <CapsuleCollider>().isTrigger = false;
                }
            }
        }
    }
Exemplo n.º 11
0
            /// <summary>
            /// 데이터 저장
            /// </summary>
            public void SaveGameData(PlayerCtrl player, WeaponeManager weaponeData,
                                     ItemManager itemData, string stageName)
            {
                data.sceneName = stageName;
                //캐릭터
                data.hp       = player.Hp;
                data.maxHp    = player.MaxHp;
                data.speed    = player.Speed;
                data.isLive   = player.IsLive;
                data.isFire   = player.IsFire;
                data.isReload = player.IsReload;
                data.isStop   = player.IsStop;

                //무기
                int length = weaponeData.WeaponePos.Length;

                data.weaponeList.Clear(); //리스트 정리

                //Debug.Log("Weapone List : " + weaponeData.WeaponePos.Length);

                for (int i = 0; i < length; i++)
                {
                    WeaponeCtrl weapone     = weaponeData.WeaponePos[i].GetComponentInChildren <WeaponeCtrl>();
                    WeaponeData weaponeList = new WeaponeData();

                    //Debug.Log("weapone Info : " + weaponeData.WeaponePos[i].GetComponentInChildren<WeaponeCtrl>().name);

                    weaponeList.id           = weapone.Id;
                    weaponeList.weaponeName  = weapone.WeaponeName;
                    weaponeList.weaponeState = weapone.WeaponeState;
                    weaponeList.nLevel       = weapone.NLevel;
                    weaponeList.nMaxLevel    = weapone.NMaxLevel;
                    weaponeList.m_fMinDmg    = weapone.FMinDmg;
                    weaponeList.m_MaxDmg     = weapone.MaxDmg;
                    weaponeList.m_nMag       = weapone.NMag;
                    weaponeList.m_nCurBullet = weapone.NCurBullet;

                    data.weaponeList.Add(weaponeList);

                    //Debug.Log("Weapone Data : " + data.weaponeList[i].weaponeName);
                    //weaponeList = null;
                }

                //아이템
                ItemManager item = player.GetComponent <ItemManager>();

                data.nGrenadeCount      = item.NGrenadeCount;
                data.nRecoveryCount     = item.NRecoveryCount;
                data.nMaxGrenadeCount   = item.NMaxGrenadeCount;
                data.nMaxRecorveryCount = item.NMaxRecorveryCount;
                data.grenadeLevel       = item.GrenadeLevel;
                data.recoveryLevel      = item.RecoveryLevel;
                data.greadeDMG          = item.GreadeDMG;
                data.recoveryHP         = item.RecoveryHP;

                data.nUpgradePoint = item.NUpgradePoint;


                dataManager.Save(data);

                item = null;
            }
Exemplo n.º 12
0
    void Awake()
    {
        PlayerCtrl player_ctrl = (PlayerCtrl)GameObject.FindObjectOfType(typeof(PlayerCtrl));

        playerStatus = player_ctrl.GetComponent <CharacterStatus>();
    }
 void onItemEffect()
 {
     player.GetComponent <Skill>().reduce_cooltime = this.item.reduce_cooltime;
     Invoke("offItemEffect", 25.0f);     // 지정 시간 뒤 아이템 효과 해제.
 }
Exemplo n.º 14
0
            /// <summary>
            /// 레벨 출력
            /// </summary>
            void StatsLevel()
            {
                levelText[0].text = "";
                levelText[1].text = "Level " + player.GetComponent <ItemManager>().RecoveryLevel + "/10";
                levelText[2].text = "Level " + player.GetComponent <ItemManager>().GrenadeLevel + "/10";

                levelText[3].text = "Level " + weapone[0].NLevel + "/" + weapone[0].NMaxLevel;
                levelText[4].text = "Level " + weapone[1].NLevel + "/" + weapone[1].NMaxLevel;
                levelText[5].text = "Level " + weapone[2].NLevel + "/" + weapone[2].NMaxLevel;
            }