Ejemplo n.º 1
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.name.Contains("PlayerBullet") ||
            other.gameObject.name.Contains("Enemy"))
        {
            other.gameObject.SetActive(false);

            if (other.gameObject.name.Contains("PlayerBullet"))
            {
                PlayerFire player = GameObject.Find("Player").GetComponent <PlayerFire>();
                // 리스트에 총알 삽입
                player.bulletObjectPool.Add(other.gameObject);
            }

            else if (other.gameObject.name.Contains("Enemy"))
            {
                GameObject   emObject = GameObject.Find("EnemyManager");
                EnemyManager manager  = emObject.GetComponent <EnemyManager>();
                manager.enemyObjectPool.Add(other.gameObject);
            }
        }

        else
        {
            Destroy(other.gameObject);
        }
    }
Ejemplo n.º 2
0
 private void Awake()
 {
     cam   = GetComponent <CinemachineVirtualCamera>();
     shake = cam.GetCinemachineComponent <CinemachineBasicMultiChannelPerlin>();
     dash  = FindObjectOfType <PlayerDash>();
     fire  = FindObjectOfType <PlayerFire>();
 }
Ejemplo n.º 3
0
    private void OnCollisionEnter(Collision other)
    {
        // 현재점수++
        ScoreManager.Instance.Score++;

        GameObject explosion = Instantiate(explosionPrefab);

        explosion.transform.position += transform.position;

        // 충돌 개체가 총알일 시
        if (other.gameObject.name.Contains("PlayerBullet"))
        {
            other.gameObject.SetActive(false);

            PlayerFire player = GameObject.Find("Player").GetComponent <PlayerFire>();
            // 리스트에 총알 삽입
            player.bulletObjectPool.Add(other.gameObject);
        }

        else
        {
            Destroy(other.gameObject);
        }
        gameObject.SetActive(false);

        GameObject   emObject = GameObject.Find("EnemyManager");
        EnemyManager manager  = emObject.GetComponent <EnemyManager>();

        manager.enemyObjectPool.Add(gameObject);
    }
Ejemplo n.º 4
0
    private void OnCollisionEnter(Collision other)
    {
        // 에너미를 잡을 때마다 현재 점수를 표시하고 싶다.
        ScoreManager.Instance.Score++;
        //2. 폭발 효과 공장에서 폭발 효과를 하나 만들어야한다.
        GameObject explosion = Instantiate(explosionFactory);

        explosion.transform.position = transform.position;
        if (other.gameObject.name.Contains("Bullet"))
        {
            //2. 부딪힌 물체를 비활성화
            other.gameObject.SetActive(false);

            //Player 클래스 얻어오기
            PlayerFire player = GameObject.Find("Player").GetComponent <PlayerFire>();
            //리스트에 총알 삽입
            player.bulletObjectPool.Add(other.gameObject);
        }
        else
        {
            Destroy(other.gameObject);
        }
        // Destroy(gameObject);
        gameObject.SetActive(false);

        //EnemyManager 클래스 얻어오기
        GameObject   emObject = GameObject.Find("EnemyManager");
        EnemyManager manager  = emObject.GetComponent <EnemyManager>();

        //리스트에 총알 삽입
        manager.enemyObjectPool.Add(gameObject);
    }
Ejemplo n.º 5
0
 private void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
 }
Ejemplo n.º 6
0
 private void Awake()
 {
     movement = GetComponent <PlayerMovement>();
     fire     = GetComponent <PlayerFire>();
     anim     = GetComponent <Animator>();
     input    = GetComponent <PlayerInputCustom>();
 }
Ejemplo n.º 7
0
    private void OnCollisionEnter(Collision collision)//충돌검사시 사용하는 함수
    {
        if (collision.collider.name.Contains("PBullet"))
        {
            HP -= 5.0f;
            //Destroy(collision.gameObject);//충돌체의 게임 오브젝트를 없앰
            collision.gameObject.SetActive(false);
            //오브젝트풀에 추가만 해준다
            PlayerFire pf = GameObject.Find("Player").GetComponent <PlayerFire>();
            pf.bulletPool.Enqueue(collision.gameObject);
        }
        else if (collision.collider.name.Contains("MBullet"))
        {
            HP -= 3.0f;
            Destroy(collision.gameObject);//충돌체의 게임 오브젝트를 없앰
        }
        else if (collision.collider.tag.Contains("Player"))
        {
            HP -= 10.0f;   //직접 부딪히는 경우 HP가 더 많이 떨어진다
            //플레이어의 HP도 감소시켜준다(여기서 에러남)
            //int playerHP = playerLife.getLife();
            //playerLife.setLife(2);
            //playerLife.showLife();
        }

        ShowCrashFx();
        SetHPBar();

        //HP가 0이 될 경우 파괴된다
        if (HP <= 0)
        {
            DestroyEnemy(collision);
        }
    }
Ejemplo n.º 8
0
    //1. 적이 다른 물체와 충돌 했으니까.
    private void OnCollisionEnter(Collision other)
    {
        // 에너미를 잡을 때마다 현재 점수 표시하고 싶다.
        ScoreManager.Instance.Score++;

        //2.폭발 효과 공장에서 폭발 효과를 하나 만들어야 한다.
        GameObject explosion = Instantiate(explosionFactory);

        //3.폭발 효과를 발생(위치) 시키고 싶다.
        explosion.transform.position = transform.position;
        // 만약 부딪힌 객체가 Bullet 인 경우에는 비활성화 시켜 탄창에 다시 넣어준다.
        //1.만약 부딪힌 물체가 Bullet 이라면
        if (other.gameObject.name.Contains("Bullet"))
        {
            //2.부딪힌 물체를 비활성화
            other.gameObject.SetActive(false);
            // PlayerFire 클래스 얻어오기
            PlayerFire player = GameObject.Find("Player").GetComponent <PlayerFire>();
            // list 에 총알 삽입
            player.bulletObjectPool.Add(other.gameObject);
        }
        //3.그렇지 않으면 제거
        else
        {
            Destroy(other.gameObject);
        }
        // EnemyManager 클래스 얻어오기
        EnemyManager manager = GameObject.Find("EnemyManager").GetComponent <EnemyManager>();

        // list 에 총알 삽입
        manager.enemyObjectPool.Add(gameObject);
        //Destroy(gameObject);
        gameObject.SetActive(false);
    }
Ejemplo n.º 9
0
    private void OnCollisionEnter(Collision other)
    {
        //적파괴시 점수 계산
        ScoreManager.Instance.Score++;
        //폭발효과
        GameObject explosion = Instantiate(explosionFactory);

        explosion.transform.position = transform.position;

        //부딪친 객체 삭제
        if (other.gameObject.name.Contains("Bullet"))
        {
            other.gameObject.SetActive(false);

            PlayerFire player = GameObject.Find("Player").GetComponent <PlayerFire>();
            player.bulletObjectPool.Add(other.gameObject);
        }
        else
        {
            Destroy(other.gameObject);
        }
        //enemy. 자기자신 삭제
        gameObject.SetActive(false);

        //enemy장전
        EnemyManager.Instance.setEnemyObject(other.gameObject);
    }
Ejemplo n.º 10
0
    private void OnTriggerEnter(Collider other)
    {
        //1.만약 부딪힌 물체가 Bullet 이라면
        if (other.gameObject.name.Contains("Bullet") ||
            other.gameObject.name.Contains("Enemy"))
        {
            //2.부딪힌 물체를 비활성화
            other.gameObject.SetActive(false);

            //3. 부딪힌 물체가 총알일 경우 총알 리스트에 삽입
            if (other.gameObject.name.Contains("Bullet"))
            {
                // PlayerFire 클래스 얻어오기
                PlayerFire player = GameObject.Find("Player").GetComponent <PlayerFire>();
                // list 에 총알 삽입
                player.bulletObjectPool.Add(other.gameObject);
            }
            else if (other.gameObject.name.Contains("Enemy"))
            {
                // EnemyManager 클래스 얻어오기
                GameObject   emObject = GameObject.Find("EnemyManager");
                EnemyManager manager  = emObject.GetComponent <EnemyManager>();
                // list 에 총알 삽입
                manager.enemyObjectPool.Add(other.gameObject);
            }
        }
    }
Ejemplo n.º 11
0
    IEnumerator FireByDelay(int i, float delay)
    {
        if (StaticData.IsSoundOn() && fireShootSource)
        {
            fireShootSource.Play();
        }
        yield return(new WaitForSeconds(delay));

        PlayerFire fire = GetFires();

        //If its null we will spawn and add to the pool list
        if (fire == null)
        {
            if (GameManager.instance.isPowerUp2X)
            {
                fire = Instantiate(bullet2XPrefab);
                fires2X.Add(fire);
            }
            else
            {
                fire = Instantiate(bulletPrefab);
                fires.Add(fire);
            }
        }
        fire.transform.position = firePoint[i].transform.position + firePoint[i].transform.forward * firePointOffset.z;
        fire.transform.rotation = firePoint[i].transform.rotation;

        fire.gameObject.SetActive(true);
        fire.Fire(fireSpeed);
    }
 void Awake()
 {
     if (instance == null)
     {
         instance = this;
     }
 }
    private void OnCollisionEnter(Collision other)
    {
        ScoreManager.Instance.Score++;

        GameObject explosion = Instantiate(explosionFactory);

        explosion.transform.position = transform.position;

        if (other.gameObject.name.Contains("Bullet"))
        {
            other.gameObject.SetActive(false);

            PlayerFire player = GameObject.Find("Player").GetComponent <PlayerFire>();

            player.bulletObjectPool.Add(other.gameObject);
        }
        else
        {
            Destroy(other.gameObject);
        }

        EnemyManager manager = GameObject.Find("EnemyManager").GetComponent <EnemyManager>();

        manager.enemyObjectPool.Add(gameObject);

        gameObject.SetActive(false);
    }
Ejemplo n.º 14
0
    public void Init(NetworkInstanceId playerAskingID)
    {
        if (_init)
        {
            return;
        }

        _init = true;

        PlayerNetwork[] playerNetworks = FindObjectsOfType <PlayerNetwork>();
        for (int i = 0; i < playerNetworks.Length; i++)
        {
            if (playerNetworks[i].netId == playerAskingID)
            {
                playerObserver = playerNetworks[i].gameObject;
                break;
            }
        }

        _playerNetwork = playerObserver.GetComponent <PlayerNetwork>();
        _playerLife    = GetComponentInChildren <PlayerLife>();
        _playerLife.SetPlayerNetwork(_playerNetwork);
        _playerMovement = GetComponent <PlayerMovement>();
        _playerFire     = GetComponent <PlayerFire>();
        _playerFire.SetPlayerNetwork(_playerNetwork);
        _playerCamera = GetComponent <PlayerCamera>();
        GameManager.GetInstance().localPlayerNetwork = _playerNetwork;
        if (isServer)
        {
            GameManager.GetInstance().PlayerJoin(this);
            GameManager.GetInstance().ShowLog(_playerNetwork.playerName + " joined the fight !");
        }
    }
Ejemplo n.º 15
0
 void HandleFire()
 {
     //We will compare the last fire time with current time to give delay in bullet spawn
     if (Time.time >= lastFireTime + delayBetweenFire)
     {
         //Setting last fire time to current time
         lastFireTime = Time.time;
         for (int i = 0; i < firePoint.Count; i++)
         {
             //Getting Fire Prefab from Pool list
             PlayerFire fire = GetFires();
             //If its null we will spawn and add to the pool list
             if (fire == null)
             {
                 fire = Instantiate(bulletPrefab);
                 fires.Add(fire);
             }
             fire.transform.position = firePoint[i].transform.position;
             fire.transform.rotation = firePoint[i].transform.rotation;
             fire.gameObject.SetActive(true);
             //Calling fire function to add force
             fire.SetDroneProperty(bulletDelayToLookTarget, rotationSpeedForBullet);
             fire.Fire(fireSpeed);
         }
     }
 }
Ejemplo n.º 16
0
    //just in case, ignore more stuff
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.name.Equals("man") && laserType == LaserType.Man)
        {
            Physics2D.IgnoreCollision(collision.gameObject.GetComponent <Collider2D>(), gameObject.GetComponent <Collider2D>());
        }
        else if (collision.gameObject.name.StartsWith("Invader") && (laserType == LaserType.Invader))
        {
            Physics2D.IgnoreCollision(collision.gameObject.GetComponent <Collider2D>(), gameObject.GetComponent <Collider2D>());
        }
        else if (collision.gameObject.name == "Finish Line")
        {
            Physics2D.IgnoreCollision(collision.gameObject.GetComponent <Collider2D>(), gameObject.GetComponent <Collider2D>());
        }
        else
        {
            //stop the laser from moving
            this.GetComponent <Rigidbody2D> ().velocity = Vector3.zero;
            //destroy the laser
            Destroy(gameObject, 0.08f);

            if (laserType == LaserType.Man)
            {
                playerFire = GameObject.Find("man").GetComponent("PlayerFire") as PlayerFire;
                //in the FireLaser script, set laserActive to false
                //so that we can fire another one
                playerFire.setLaserActive(false);
            }
        }
    }
    // Use this for initialization
    void Start()
    {
        move = GetComponent <PlayerMovement>();
        fire = GetComponent <PlayerFire>();

        move.FacingDirection = Vector2.right;
    }
Ejemplo n.º 18
0
    private void OnTriggerEnter(Collider other)
    {
        //이곳에서 트리거에 감지된 오브젝트 제거하기(총알, 에너미)
        //Destroy(other.gameObject);

        //if(other.gameObject.name.Contains("Bullet"))
        //{
        //    other.gameObject.SetActive(false);
        //}

        //레이어로 충돌체 찾기
        if (other.gameObject.layer == LayerMask.NameToLayer("Bullet") || other.gameObject.layer == LayerMask.NameToLayer("BossBullet"))
        {
            other.gameObject.SetActive(false);
            //플레이어 오브젝트의 플레이어파이어 컴포넌트의 리스트오브젝트풀 속성을 가져와서 추가해준다
            PlayerFire pf = GameObject.Find("Player").GetComponent <PlayerFire>();
            pf.bulletPool.Add(other.gameObject);
        }

        //충돌된 오브젝트가 총알이라면 총알풀에 추가한다
        //if (other.gameObject.name.Contains("Bullet"))
        //{
        //    //총알 오브젝트는 비활성화 시킨다
        //    other.gameObject.SetActive(false);
        //    //오브젝트풀에 추가만 해준다
        //    PlayerFire pf = GameObject.Find("Player").GetComponent<PlayerFire>();
        //    pf.bulletPool.Enqueue(other.gameObject);
        //}
    }
Ejemplo n.º 19
0
 private void Awake()
 {
     gunScript = GetComponent <PlayerFire>();
     if (!gunScript)
     {
         Debug.LogError("Can't find PlayerFire component!", this);
     }
 }
Ejemplo n.º 20
0
 private void Awake()
 {
     movement   = GetComponent <PlayerMovement>();
     animations = GetComponent <PlayerAnimations>();
     dash       = GetComponent <PlayerDash>();
     fire       = GetComponent <PlayerFire>();
     stats      = GetComponent <PlayerStats>();
 }
Ejemplo n.º 21
0
    protected override void Start()
    {
        playerInitialPos = this.transform;
        base.Start();

        controllerMovement = GetComponent <PlayerMovement>();
        controllerFire     = GetComponent <PlayerFire>();
        healthManager      = GetComponent <PlayerHealth>();
    }
Ejemplo n.º 22
0
    // Start is called before the first frame update
    void Start()
    {
        PlayBoom    = GetComponent <PlayerFire>();
        BoomNum     = 3;
        MaxBoombNum = BoomNum;
        PlayerCurHp = PlayerHp;

        PlayLifeNum     = 0;
        PlayerLife.text = "X :  " + PlayLifeNum;
    }
Ejemplo n.º 23
0
    // Start is called before the first frame update
    void Start()
    {
        instance = FindObjectOfType <GameManager>();
        player   = GameObject.FindGameObjectWithTag("Player");

        if (player)
        {
            playerFireScript = player.GetComponent <PlayerFire>();
        }
    }
Ejemplo n.º 24
0
    void OnTriggerEnter2D(Collider2D other)
    {
        PlayerFire player = other.GetComponent <PlayerFire>();

        if (player != null)
        {
            player.CollectPowerup(this);
            GameObject.Destroy(gameObject);
        }
    }
Ejemplo n.º 25
0
 public void FireAdded()
 {
     //GameObject f = GameObject.FindGameObjectWithTag("flame-ripple");
     //f.transform.position = fire.transform.position;
     //f.GetComponent<ParticleSystem>().Emit(1);
     hasFire = false;
     GameObject.Destroy(fire.gameObject);
     fire        = null;
     lastFirePos = new Vector3(0, 0, 0);
 }
Ejemplo n.º 26
0
 public bool SpawnFire()
 {
     if (!hasFire)
     {
         fire        = Instantiate(playerFirePrefab);
         fire.player = this;
         hasFire     = true;
         return(true);
     }
     return(false);
 }
Ejemplo n.º 27
0
 private void OnCollisionEnter(Collision collision)
 {
     if (collision.gameObject.name.Contains("Bullet"))
     {
         collision.gameObject.SetActive(false);
         //오브젝트 풀에 추가만 해준다
         PlayerFire pf = GameObject.Find("Player").GetComponent <PlayerFire>();
         pf.bulletPool.Enqueue(collision.gameObject);
         BossHpLoss();
     }
 }
Ejemplo n.º 28
0
 /// <summary>
 /// Used for initialization
 /// </summary>
 void Awake()
 {
     // retrieve necessary components and information
     myLook            = GetComponent <FaceMousePosition>();
     myFire            = GetComponent <PlayerFire>();
     myTriggerCollider = GetComponent <CircleCollider2D>();
     mySanity          = GetComponent <SanityControl>();
     if (!effectsContainer)
     {
         effectsContainer = transform.GetChild(1);       // assumed to be second child under player
     }
 }
Ejemplo n.º 29
0
    //로드 할떄 재소환
    public void LoadEnemy()
    {
        ReStart = true;
        //로드햇을떄 숫자가 다르면  다 비워주고
        if (ReStart == true)
        {
            for (int i = 0; i < EnemyList.Count; i++)
            {
                EnemyList[i].gameObject.SetActive(false);
            }

            EnemyList.Clear();
            EnemyDieList.Clear();
            ETransform.Clear();
            SpawnStart.Clear();
            SpawnEnd.Clear();



            ReSpawnSize = Stage;

            for (int i = 0; i < ReSpawnSize; i++)
            {
                //SpawnStart[i] = new Vector3(Random.Range(-9+i, i-8), 0.5f, Random.Range(13, 15));
                SpawnStart.Add(new Vector3(Random.Range(i + 1, i - 1), 0.5f, Random.Range(13, 15)));
                ETransform.Add(SpawnStart[i]);
            }


            for (int i = 0; i < ReSpawnSize; i++)
            {
                SpawnEnd.Add(new Vector3(Random.Range(i + 1, i - 1), 0.5f, Random.Range(7, 12)));
            }



            for (int i = 0; i < Stage; i++)
            {
                //EnemyPre.GetComponent<EnemyParams>().CurHp = 20;
                Enemy = ObjectPool.Instance.SpawnFromPool("Enemy", ETransform[i], Quaternion.identity).GetComponent <PlayerFire>();


                EnemyList.Add(Enemy);

                EnemyEffect = ObjectPool.Instance.SpawnFromPool("Effect", ETransform[i], Quaternion.identity).GetComponent <ParticleSystem>();
                EnemyEffect.Stop();
                EnemyDieList.Add(EnemyEffect);
            }
            ReStart = false;
        }
    }
Ejemplo n.º 30
0
    private void Awake()
    {
        walkController = player.GetComponent <PlayerWalk>();
        dashController = player.GetComponent <PlayerDash>();
        jumpController = player.GetComponent <PlayerJump>();
        fireController = player.GetComponent <PlayerFire>();

        thisTransform = gameObject.GetComponent <Transform>();

        energy     = player.GetComponent <EnergyController>();
        playerBody = player.GetComponent <Rigidbody2D>();
        sprite     = GetComponent <SpriteRenderer>();
        sounds     = GetComponent <Sounds>();
    }
Ejemplo n.º 31
0
 void Awake()
 {
     _animator = GetComponent<Animator>();
     _scoreManager = GameObject.Find("Game Manager").GetComponent<UIScoreManager>();
     _playerFire = GetComponent<PlayerFire>();
     _playerImmortal = GetComponent<PlayerImmortalEffect>();
 }
Ejemplo n.º 32
0
    // Use this for initialization
    void Start()
    {
        tempFire = gameObject.GetComponent<PlayerFire>();
        tempMana = gameObject.GetComponent<PlayerMana>();
        _inSkill01 = false;
        _inSkill02 = false;
        _inSkill03 = false;

        _cooldown01 = 5.0f;
        //coolTime01 = GameObject.FindGameObjectWithTag("CoolTime01").GetComponent<Text>();
        //coolTime03 = GameObject.FindGameObjectWithTag("CoolTime03").GetComponent<Text>();
    }