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; } }
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); }
// ========================================================================== // 보스 생성함수, 코스튬도 입히고, 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)); }
// ==================================================================== // 패턴을 진행합시다. 패턴은 보스가 가진 패턴 컨트롤러에 의해 관리됨. // ==================================================================== protected void PatternSetting(BOSS boss) { if (!m_PatternContorller) { m_PatternContorller = gameObject.AddComponent <PatternController>(); } // 공격 패턴 시작. m_PatternContorller.SetPattern(this, boss); }
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; }
public float[] GetPhaseList(BOSS boss) { if (m_fPhaseList.ContainsKey(boss)) { return(m_fPhaseList[boss]); } return(null); }
public List <PatternPackage> GetPatternList(BOSS boss) { if (m_mBossDic.ContainsKey(boss)) { return(m_mBossDic[boss]); } return(null); }
// 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; } }
//======================================================================== // 보스 코스튬 꾸미는 함수 //======================================================================== 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 ); } }
//=================================================================================== // 패턴 컨트롤러는 패턴 매니저로 부터 수많은 패턴을 입력받아 가져와야함. // 패턴 매니저와 패턴 컨트롤러를 분리한 이유는 보스마다 패턴을 관리할 객체가 필요해서. // ※사용법 : 패턴 컨트롤러는 보스의 패턴을 관리해준다. //=================================================================================== 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; } }
public override void SceneInit(BOSS boss) { PlayerMGR.Instance.CreatePlayer(); EnemyMGR.Instance.CreateBoss(boss); }
public PlayerPatternFactory(BOSS boss) : base(boss) { }
public abstract void Init(BOSS bossType);
public List <GameObject> makeBullet(BOSS bossType) { List <GameObject> bullet = createBullet(); return(bullet); }
public PatternFactory(BOSS boss) { m_Boss = boss; }
public override void Init(BOSS bossType) { m_Bosstype = bossType; // Bullet = GameObject.Find("Bullet"); // NeedleBullet = GameObject.Find("Needle"); }
// ==================================================================== // 이벤트 진행 함수이다. 이 함수가 끝나면 공격을 시작하십다. 좀더 보완 // =================================================================== public void StartEvent(float StartWaitTime, BOSS boss) { m_eBoss = boss; StartCoroutine(PatternStart(StartWaitTime)); }
public void PlayerVictoryProcess(BOSS boss, int Score) { ReportScore(Score); UnlockAchievement(boss); }
public virtual void SceneInit(BOSS boss) { }
public Boss6PatternFactory(BOSS boss) : base(boss) { }
public BulletPatternFactory(BOSS boss) : base(boss) { }