Пример #1
0
    private void UnlockAchievement(BOSS boss)
    {
        switch (boss)
        {
        case BOSS.BOSS1:
            PlayGamesPlatform.Instance.ReportProgress(GPGSIds.achievement_stage1, 100f, null);
            break;

        case BOSS.BOSS2:
            PlayGamesPlatform.Instance.ReportProgress(GPGSIds.achievement_stage2, 100f, null);
            break;

        case BOSS.BOSS3:
            PlayGamesPlatform.Instance.ReportProgress(GPGSIds.achievement_stage3, 100f, null);
            break;

        case BOSS.BOSS4:
            PlayGamesPlatform.Instance.ReportProgress(GPGSIds.achievement_stage4, 100f, null);
            break;

        case BOSS.BOSS5:
            PlayGamesPlatform.Instance.ReportProgress(GPGSIds.achievement_stage5, 100f, null);
            break;

        case BOSS.BOSS6:
            PlayGamesPlatform.Instance.ReportProgress(GPGSIds.achievement_stage6, 100f, null);
            break;

        case BOSS.BOSS7:
            PlayGamesPlatform.Instance.ReportProgress(GPGSIds.achievement_stage7, 100f, null);
            break;
        }
    }
Пример #2
0
    public StageButton init(BOSS boss, int stageNum, bool isActive = false)
    {
        SetActive(isActive);

        m_Boss      = boss;
        m_iStageNum = stageNum;

        if (boss != BOSS.BOSS7)
        {
            m_StageTXT.text = stageNum.ToString();
        }
        else
        {
            m_Crown.SetActive(true);
            m_StageTXT.text = "KING";
        }

        if (boss == BOSS.BOSS3 || boss == BOSS.BOSS4)
        {
            m_Button.sprite = SpriteMGR.Instance.GetSprite("B_SPerple");
        }
        else if (boss == BOSS.BOSS5 || boss == BOSS.BOSS6)
        {
            m_Button.sprite = SpriteMGR.Instance.GetSprite("B_SBrown");
        }
        else if (boss == BOSS.BOSS7)
        {
            m_Button.sprite = SpriteMGR.Instance.GetSprite("B_SSky");
        }


        return(this);
    }
Пример #3
0
    // ==========================================================================
    //   보스 생성함수, 코스튬도 입히고, init도 해주고, 충돌 객체도 설정도 하고 그럼
    // ==========================================================================
    public void CreateBoss(BOSS boss, float StartX = 0, float StartY = 2.5f)
    {
        m_eBoss = boss;

        m_StarterPos = new Vector3(StartX, StartY, 0.0f);

        m_PhaseController = new PhaseController();

        // 보스를 생성하고 EnemyManager의 자식으로 둔다.
        GameObject obj = Instantiate(Resources.Load <GameObject>("Boss"), m_StarterPos, Quaternion.identity) as GameObject;

        obj.transform.parent = gameObject.transform;
        m_CurBoss            = obj.GetComponent <Enemy>();

        // 보스의 눈1, 눈2, 입, 몸통을 조립하여 원하는 코스튬을 입히는 작업.
        Transform[] FaceParts = obj.transform.GetComponentsInChildren <Transform>();
        m_CStyilist.init(FaceParts[1].gameObject, FaceParts[2].gameObject, FaceParts[3].gameObject, FaceParts[4].gameObject);

        // 보스 스탯 조정 및 Init 로 시작 위치 조정.
        if (m_eBoss == BOSS.BOSS7)
        {
            m_CurBoss.SetStat(15000, 100);
        }
        else
        {
            m_CurBoss.SetStat(12000, 100);
        }

        m_CurBoss.Init(2.0f, m_StarterPos, new Vector3(0.5f, 0.5f, 0.5f), Quaternion.identity, MoverType.BOSS);

        // 충돌 처리하는 객체에게 보스가 누구인지 할당.
        m_cCollisionProcessor.Init(m_CurBoss);
        m_PhaseController.Init(StatMGR.Instance.GetPhaseList(boss));
    }
Пример #4
0
 // ====================================================================
 //     패턴을 진행합시다. 패턴은 보스가 가진 패턴 컨트롤러에 의해 관리됨.
 // ====================================================================
 protected void PatternSetting(BOSS boss)
 {
     if (!m_PatternContorller)
     {
         m_PatternContorller = gameObject.AddComponent <PatternController>();
     }
     // 공격 패턴 시작.
     m_PatternContorller.SetPattern(this, boss);
 }
Пример #5
0
    public void SceneChange(SCENE state, BOSS boss = BOSS.NONE)
    {
        m_NextScene    = state;
        m_currentScene = SCENE.LOAD;
        m_BOSSScene    = boss;

        m_cAsyncOP = SceneManager.LoadSceneAsync("Loading");
        m_cAsyncOP.allowSceneActivation = true;
    }
Пример #6
0
    public float[] GetPhaseList(BOSS boss)
    {
        if (m_fPhaseList.ContainsKey(boss))
        {
            return(m_fPhaseList[boss]);
        }

        return(null);
    }
Пример #7
0
    public List <PatternPackage> GetPatternList(BOSS boss)
    {
        if (m_mBossDic.ContainsKey(boss))
        {
            return(m_mBossDic[boss]);
        }

        return(null);
    }
Пример #8
0
    // Update is called once per frame
    void Update()
    {
        if (barrriertime > 0.0f)
        {
            barrier.SetActive(true);
            barrriertime -= Time.deltaTime;
            barrier.GetComponent <Text>().text = barrriertime.ToString();
        }
        else if (barrriertime < 0.0f)
        {
            player.GetComponent <PlayerManager>().DeleteBarrier();
            barrier.SetActive(false);
            barrriertime = 0.0f;
        }

        energy.GetComponent <Text>().text = getEnergy.ToString();


        HPstack = HP / 25;
        HP      = player.GetComponent <PlayerManager>().HP;
        if (HPstack != HP / 25)
        {
            HPdalta = HPstack - HP / 25;
            if (HPdalta == 1)
            {
                hpgauge[HP / 25 + 1].GetComponent <Image>().fillAmount = 0.0f;
            }
            else if (HPdalta == 2)
            {
                hpgauge[HP / 25 + 1].GetComponent <Image>().fillAmount = 0.0f;
                hpgauge[HP / 25 + 2].GetComponent <Image>().fillAmount = 0.0f;
            }
            else if (HPdalta == 3)
            {
                hpgauge[HP / 25 + 1].GetComponent <Image>().fillAmount = 0.0f;
                hpgauge[HP / 25 + 2].GetComponent <Image>().fillAmount = 0.0f;
                hpgauge[HP / 25 + 3].GetComponent <Image>().fillAmount = 0.0f;
            }
        }
        hpgauge[HP / 25].GetComponent <Image>().fillAmount = 0.04f * (HP % 25);

        /*
         * hpgauge[HP / 25 - 1].GetComponent<Image>().fillAmount = 1.0f;
         * hpgauge[HP / 25 - 2].GetComponent<Image>().fillAmount = 1.0f;
         */
        BOSS_HP = BOSS.GetComponent <LastBoss>().HP;
        if (gamemode == "normal")
        {
            boss_guage.GetComponent <Image>().fillAmount = 0.0005f * BOSS_HP;
        }
        else
        {
            boss_guage.GetComponent <Image>().fillAmount = 0.0004f * BOSS_HP;
        }
    }
Пример #9
0
    //========================================================================
    //                           보스 코스튬 꾸미는 함수
    //========================================================================

    private void SetCostume(BOSS boss)
    {
        if (m_cMover.m_eType == MoverType.BOSS)
        {
            EnemyMGR.Instance.m_CStyilist.SetAllPart(
                m_cBossPatternList[m_CurPatternLevel].m_Body,
                m_cBossPatternList[m_CurPatternLevel].m_LEye,
                m_cBossPatternList[m_CurPatternLevel].m_REye,
                m_cBossPatternList[m_CurPatternLevel].m_Mouth
                );
        }
    }
Пример #10
0
    //===================================================================================
    //   패턴 컨트롤러는 패턴 매니저로 부터 수많은 패턴을 입력받아 가져와야함.
    //   패턴 매니저와 패턴 컨트롤러를 분리한 이유는 보스마다 패턴을 관리할 객체가 필요해서.
    //   ※사용법 :  패턴 컨트롤러는 보스의 패턴을 관리해준다.
    //===================================================================================
    public virtual void SetPattern(Mover mover, BOSS boss)
    {
        m_cMover           = mover;
        m_cBossPatternList = StatMGR.Instance.GetPatternList(boss);

        SetCostume(boss);

        m_MaxPatternLevel = m_cBossPatternList.Count;
        m_CurPatternList  = new List <BasePattern>();

        if (m_cMover.m_eType == MoverType.Player)
        {
            m_EnemyMover = EnemyMGR.Instance.m_CurBoss;
        }
        else
        {
            m_EnemyMover = PlayerMGR.Instance.m_Player;
        }
    }
Пример #11
0
 public override void SceneInit(BOSS boss)
 {
     PlayerMGR.Instance.CreatePlayer();
     EnemyMGR.Instance.CreateBoss(boss);
 }
Пример #12
0
 public PlayerPatternFactory(BOSS boss) : base(boss)
 {
 }
Пример #13
0
 public abstract void Init(BOSS bossType);
Пример #14
0
    public List <GameObject> makeBullet(BOSS bossType)
    {
        List <GameObject> bullet = createBullet();

        return(bullet);
    }
Пример #15
0
 public PatternFactory(BOSS boss)
 {
     m_Boss = boss;
 }
Пример #16
0
 public override void Init(BOSS bossType)
 {
     m_Bosstype = bossType;
     //   Bullet = GameObject.Find("Bullet");
     //  NeedleBullet = GameObject.Find("Needle");
 }
Пример #17
0
 // ====================================================================
 //    이벤트 진행 함수이다. 이 함수가 끝나면 공격을 시작하십다. 좀더 보완
 // ===================================================================
 public void StartEvent(float StartWaitTime, BOSS boss)
 {
     m_eBoss = boss;
     StartCoroutine(PatternStart(StartWaitTime));
 }
Пример #18
0
 public void PlayerVictoryProcess(BOSS boss, int Score)
 {
     ReportScore(Score);
     UnlockAchievement(boss);
 }
Пример #19
0
 public virtual void SceneInit(BOSS boss)
 {
 }
Пример #20
0
 public Boss6PatternFactory(BOSS boss) : base(boss)
 {
 }
 public BulletPatternFactory(BOSS boss) : base(boss)
 {
 }