示例#1
0
    // 폭발은 예술이다.
    void explosion()
    {
        string Name = "NoData";

        // 잔해물 소환.
        for (int i = 0; i < 4; i++)
        {
            // 잔해물 4종류.
            switch (i)
            {
            case 0: Name = "Cube";      break;

            case 1: Name = "Cylinder";  break;

            case 2: Name = "Capsule";   break;

            case 3: Name = "Sphere";    break;
            }

            // 잔해물을 4종류를 5개씩 총 20개를 생성 후 뿌린다.
            for (int j = 0; j < 5; j++)
            {
                GameObject obj = ObjManager.Call().GetObject(Name);

                if (obj == null)
                {
                    continue;
                }

                obj.transform.position = transform.position;
                obj.SetActive(true);
                obj.GetComponent <ExplosionHide>().StartCoroutine("StartExplosionHide");
            }
        }
    }
示例#2
0
 public void buyClick()
 {
     if (GunMenu.activeSelf)
     {
         int price = int.Parse(ShopManager.instance.select_price.GetComponent <Text>().text.ToString());
         Debug.Log(price);
         if (price <= PlayerManager.GetInstance().player.player_Point)
         {
             ShopManager.instance.gunBuy_check = 1;
             PlayerManager.GetInstance().player.BulletPower = int.Parse(ShopManager.instance.select_damage.GetComponent <Text>().text.ToString());
             PlayerManager.GetInstance().SubPlayerPoint(price);
             ShopManager.instance.UpdatePoint();
             ObjManager.Call().PlayerInfoUpdate();                 //총알의 각각의 파워를 정의
             PotionMenu.SetActive(true);
             GunMenu.SetActive(false);
             Select_menu.SetActive(false);
             GunButton.GetComponent <Button>().enabled = false;
             Buy_Canvas.SetActive(false);
         }
     }
     else
     {
         ShopManager.instance.potionBuy_check = 1;
         PotionMenu.SetActive(false);
         GunMenu.SetActive(true);
         Select_menu.SetActive(false);
         PotionButton.GetComponent <Button>().enabled = false;
     }
     ShopManager.instance.allBuy_check();
     SoundManager.I.PlaySFX("charge");
 }
示例#3
0
    // 소환!
    void ESummon()
    {
        if (zombieName == "Enemy")
        {
            for (int i = 0; i < MaxCount; i++)
            {
                GameObject obj = ObjManager.Call().GetObject("Enemy");      // Enemy객체 요청.
                obj.transform.position = RandomPos();                       // 위치 랜덤 설정.
                obj.transform.parent   = transform;                         // 부모 설정.
                obj.SetActive(true);                                        // 적 활성화.
                obj.GetComponent <Enemy>().Init();                          // 적 정보 초기화.
                EnemyCount++;
            }
        }
        if (zombieName == "Enemy2")
        {
            for (int i = 0; i < MaxCount; i++)
            {
                GameObject obj2 = ObjManager.Call().GetObject("Enemy2");     // Enemy객체 요청.
                obj2.transform.position = RandomPos();                       // 위치 랜덤 설정.
                obj2.transform.parent   = transform;                         // 부모 설정.
                obj2.SetActive(true);                                        // 적 활성화.
                obj2.GetComponent <Enemy>().Init();                          // 적 정보 초기화.
                EnemyCount++;
            }
        }

        Summon = true;
    }
示例#4
0
    // 총알 키 체크.
    void KeyCheck()
    {
        if (Input.GetButtonDown("Jump"))  //스페이스바로 총알 발사
        {
            if (realTimeBulletNumber == 1)
            {
                realTimeBulletNumber -= 1;
                currentBulletNumber.gameObject.GetComponent <Text>().text = (realTimeBulletNumber).ToString();
                StartCoroutine("NextFire");
                Invoke("reloadBullet", 3f);
            }
            else
            {
                realTimeBulletNumber -= 1;
                currentBulletNumber.gameObject.GetComponent <Text>().text = (realTimeBulletNumber).ToString();
                StartCoroutine("NextFire");
            }
        }
        else if (Input.GetButtonUp("Jump"))
        {
            ContinuouFire = false;
        }

        if (Input.GetKeyDown(KeyCode.Q))
        {
            ObjManager.Call().MemoryDelete();
        }

        //   if (Input.GetKeyDown(KeyCode.E))
        //       ObjManager.Call().CreateObject("Bullet", 20);
    }
示例#5
0
    // 정보 갱신.
    public void InfoUpdate(float _Damage)
    {
        HP -= _Damage;

        if (HP <= 0)
        {
            // 폭발한다.
            explosion();

            HP   = 0;       // 체력의 수치가 음의 값으로 갔을 경우를 대비한 초기화.
            Life = false;   // 죽었음을 알림.

            if (this.gameObject.name == "Enemy")
            {
                PlayerManager.GetInstance().AddPlayerScore(100);
            }
            else if (this.gameObject.name == "Enemy2")
            {
                PlayerManager.GetInstance().AddPlayerScore(120);
            }
            // 내 죽음을 부모에리어에게 알려라!
            // 부모 에리어가 가진 스크립트를 가져와 DeadEnemy()함수를 호출.
            // transform.parent.GetComponent<CreateEnemy>().DeadEnemy();
            ObjManager.Call().DestroyEnemy();
            gameObject.SetActive(false);
        }
    }
示例#6
0
    void Start()
    {
        // 총알 생성 요청.
        ObjManager.Call().SetObject("Bullet");
        Vec = GameObject.Find("CameraVector").transform;

        Init();
    }
示例#7
0
    public void RestartStage()
    {
        this.stage = 1;
        this.realTimeBulletNumber = 15;

        this.StageSetting();

        ObjManager.Call().CreateEnemyArea(10, 0, 1, 0);
    }
示例#8
0
 // 연속발사.
 IEnumerator NextFire()
 {
     ContinuouFire = true;
     while (ContinuouFire)
     {
         // 총알을 리스트에서 가져온다.
         BulletInfoSetting(ObjManager.Call().GetObject("Bullet"));
         yield return(new WaitForSeconds(AttackGap));
     }
 }
示例#9
0
    public void InitArea(int areaCount, int areaGap, int createCount, int _newEnemyCount)
    {
        this.AreaCount     = areaCount;
        this.AreaGap       = areaGap;
        this.CreateCount   = createCount;
        this.newEnemyCount = _newEnemyCount;

        CreateArea(this.AreaCount);

        // 에너미 생산 요청.
        ObjManager.Call().SetObject("Enemy");
        ObjManager.Call().SetObject("Enemy2");
    }
示例#10
0
        /// <summary>
        /// 스캔완료 버튼을 누를 시 가동되는 함수
        /// </summary>
        private void MakeRespawn()
        {
            showHUD = true;
            Debug.Log("버튼눌림");
            GameObject doorPreb = GameObject.Instantiate(door, Vector3.forward, Quaternion.identity);

            Debug.Log("생성됨");
            GameObject.Find("Plane Generator").GetComponent <DetectedPlaneGenerator>().InitRespawn(doorPreb);
            Debug.Log("버튼종료");
            ObjManager.Call().SetObject("Bullet");
            ScanningForPlaneUI.SetActive(false);
            HUDUI.SetActive(true);
        }
示例#11
0
 public void NextStage()
 {
     this.stage++;
     GameObject.Find("Controller").GetComponent <ARSurvive.ARController>().NextStage();
     this.StageSetting();
     if (this.stage == 2)
     {
         ObjManager.Call().CreateEnemyArea(15, 0, 1, 5);
     }
     else if (this.stage == 3)
     {
         ObjManager.Call().CreateEnemyArea(15, 0, 1, 10);
     }
 }
示例#12
0
    public void StageSetting()
    {
        ObjManager.Call().MemoryDelete();
        ObjManager.Call().GetComponent <EnemyArea>().RespawnArea.Clear();
        GameObject.Destroy(GameObject.Find("EnemyArea"));
        // for(int i = 0; i < ObjManager.Call().transform.childCount; i ++){
        //  GameObject.Destroy(ObjManager.Call().transform.GetChild(i).gameObject);
        // }
        GameObject.Destroy(ObjManager.Call().gameObject.GetComponent <WreckageManager>());

        ObjManager.Call().gameObject.AddComponent <WreckageManager>();
        ObjManager.Call().SetObject("Bullet");
        // ObjManager.Call().PlayerInfoUpdate(); //총알의 각각의 파워를 정의
    }
示例#13
0
    void Start()
    {
        string Name = "NoData";

        for (int i = 0; i < 4; i++)
        {
            switch (i)
            {
            case 0: Name = "Cube";     break;

            case 1: Name = "Cylinder"; break;

            case 2: Name = "Capsule";  break;

            case 3: Name = "Sphere";   break;
            }
            ObjManager.Call().SetObject(Name);
        }
    }
示例#14
0
    private bool ContinuouFire; // 게속 발사할 것인가? 에 대한 플래그.

    void Init()
    {
        // 구조체 정보 초기화.
        pInfo.MAX_HP      = 100;
        pInfo.HP          = pInfo.MAX_HP;
        pInfo.BulletPower = 20;
        pInfo.MoveSpeed   = 5;
        pInfo.Life        = true;

        //공개.
        AttackGap = 0.2f;

        // 비공개
        MovePos       = Vector3.zero;
        ContinuouFire = true;

        // 플레이어 정보갱신.
        ObjManager.Call().PlayerInfoUpdate();
    }
示例#15
0
    // 총알 키 체크.
    void KeyCheck()
    {
        if (Input.GetButtonDown("Jump")) //스페이스바로 총알 발사
        {
            StartCoroutine("NextFire");
        }
        else if (Input.GetButtonUp("Jump"))
        {
            ContinuouFire = false;
        }

        if (Input.GetKeyDown(KeyCode.Q))
        {
            ObjManager.Call().MemoryDelete();
        }

        //   if (Input.GetKeyDown(KeyCode.E))
        //       ObjManager.Call().CreateObject("Bullet", 20);
    }