/// <summary> /// Stageを初期化する /// </summary> public void InitStage() { StageInfo nextStage = stageInfo[dungeonIndex]; //指定のダンジョン int chooseFloor = nextStage.bossRange * floorIndex + 1; //指定のフロアを計算 //Stage情報を入力 gameManager.StageNum = nextStage.fileNum; gameManager.InitStage( nextStage.dungeonNo, nextStage.name, (int)nextStage.limitTime, chooseFloor, nextStage.totalFloor, nextStage.bossRange, nextStage.baseSize + (chooseFloor - 1) * nextStage.expandRate, nextStage.expandRate, nextStage.fogColor, nextStage.constractColor, nextStage.useParticle, nextStage.bgmName); //BlockStyle設定 gameManager.ClearBlockStyle(); gameManager.BlockStyle.Add(Map.MapDef.BlockDef.Entry, nextStage.groundTexture); gameManager.BlockStyle.Add(Map.MapDef.BlockDef.Exit, nextStage.groundTexture); gameManager.BlockStyle.Add(Map.MapDef.BlockDef.Space, nextStage.groundTexture); gameManager.BlockStyle.Add(Map.MapDef.BlockDef.Wall, nextStage.wallTexture); }
private void Awake() { playerInput = GetComponentInChildren <PlayerInput>(); PlayerID = playerInput.user.index; playerCreating = GetComponentInChildren <PlayerCreating>(); stageInfo = GameObject.FindGameObjectWithTag("StageInfo").GetComponent <StageInfo>(); colliders = GetComponentsInChildren <Collider>(); rbs = GetComponentsInChildren <Rigidbody>(); Material[] mats = BodyMeshRenderer1.materials; mats[0] = MaterialsArray[PlayerID]; BodyMeshRenderer1.materials = mats; mats = BodyMeshRenderer2.materials; mats[0] = MaterialsArray[PlayerID]; BodyMeshRenderer2.materials = mats; // RingDecal.material = RingMaterialsArray[PlayerID]; /*_playerMove = GetComponentInChildren<PlayerMove>(); * _playerMove.enabled = false; * _playerBehavior = GetComponentInChildren<PlayerBehavior>(); * _playerBehavior.enabled = false;*/ StartCoroutine(SpawnToPosition()); }
public void Show(Stage stage, StageInfo info) { rect.anchoredPosition = startPos; textName.text = Localization.currentLanguageStrings[stage.displayName]; if (stage.type == StageType.Normal) { hive1.gameObject.SetActive(true); hive2.gameObject.SetActive(true); hive3.gameObject.SetActive(true); hive1.color = info.hiveCount >= 1 ? Color.white : defaultColor; hive2.color = info.hiveCount >= 2 ? Color.white : defaultColor; hive3.color = info.hiveCount >= 3 ? Color.white : defaultColor; textName.alignment = TextAnchor.MiddleLeft; } else if (stage.type == StageType.Cinematic) { hive1.gameObject.SetActive(false); hive2.gameObject.SetActive(false); hive3.gameObject.SetActive(false); textName.alignment = TextAnchor.MiddleCenter; } anim.Play("ShowStagePanel", -1, 0); }
void Start() { // Iniciar os componenetes e objetos filhos button = GetComponent <Button>(); padlock = transform.Find("Padlock").GetComponent <Image>(); iconVideo = transform.Find("IconVideo").GetComponent <Image>(); numberText = transform.Find("Number").GetComponent <Text>(); numberText.text = stage.number.ToString(); // Carrega as informações do estágio (para saber se está bloqueado) stageInfo = DataManager.LoadStageInfo(stage.key); // Ativa ou desativa o botão, dependendo se ele está liberado ou não if (stageInfo.unlocked || stage.alwaysUnlocked) { if (stage.type == StageType.Normal) { numberText.gameObject.SetActive(true); } else if (stage.type == StageType.Cinematic) { iconVideo.gameObject.SetActive(true); } } else { button.interactable = false; padlock.gameObject.SetActive(true); } if (stage.type == StageType.Normal) // Se for um estágio normal, exibe as informações das colmeias coletadas { if (stageInfo.hiveCount >= 1) { hive1.color = Color.white; } if (stageInfo.hiveCount >= 2) { hive2.color = Color.white; } if (stageInfo.hiveCount >= 3) { hive3.color = Color.white; } } else if (stage.type == StageType.Cinematic) // Se for um estágio de vídeo (cinematic), remove as informações das colmeias coletadas { hive1.gameObject.SetActive(false); hive2.gameObject.SetActive(false); hive3.gameObject.SetActive(false); } if (stage.key == WorldMap.Instance.SelectedStageKey) { button.Select(); WorldMap.Instance.SetCurrentRegion(this.mapRegion); } }
public void updateText() { StageInfo stageInf = sceneDataObjects[currentStage].GetComponent <StageInfo>(); string s = string.Format("Name: {0}\nLocation: {1}\nLength: {2}\nSurface: {3}\n\nTime required to win: {4}\nStage beaten: {5}\nBest time: {6}", stageInf.stageName, stageInf.stageLocation, stageInf.stageLength, stageInf.stageSurface, stageInf.stageTimeToBeat, stageInf.stageBeaten, stageInf.stageBestTime); stageDataText.text = s; }
private static new StageInfo Create() { StageInfo result = PanelWithChildren.Create <StageInfo> (); result.gameObject.name = "panel_StageInfo"; RectTransform rt = result.gameObject.transform as RectTransform; rt.offsetMin = new Vector2(6, 0); rt.offsetMax = new Vector2(8, 6); result.items = new List <GameObject> (); result.LiScore = CreateScore(); result.items.Add(result.LiScore.gameObject); result.LiHitPoints = CreateHitPoints(); result.items.Add(result.LiHitPoints.gameObject); result.buffCaption = CreateBuffCaption(); result.items.Add(result.buffCaption.gameObject); result.buffZone = BuffZone.Create(); result.items.Add(result.buffZone.gameObject); result.alignDirection = Aligner.AlignDirection.adTop; result.SetAligner_Pivot(); result.Rebuild(); return(result); }
public void CopyBattleStageData(StageInfo _info) { LogManager.LogToFile("start copy chapter ..."); BattleStage pNewData = new BattleStage(); pNewData.m_BattlePieceNum = _info.id; pNewData.m_StarSum = _info.starsum; pNewData.m_bRewardGot = _info.rewardgot; foreach (StageBattle item in _info.stagebattles) { StageData pData = new StageData(); pData.m_StageID = item.id; pData.m_StageStar = item.maxstar; pData.m_FightSum = item.fightnum; pData.m_BuyBattleNum = item.buybattlenum; //if (pData.m_FightSum == 0) //{ // // 是否已经查看 // if (mViewList.ContainsKey(pData.m_StageID)) // { // // 插入未开启列表 // mViewList.Add(pData.m_StageID, true); // } //} pNewData.m_BattleStage.Add(pData); } if (_info.id != 1001) { ObjectSelf.GetInstance().SetCurChapterID(_info.id); } m_BattleStageList.Add(_info.id, pNewData); }
private Stage CreateStage(StageInfo stageInfo) { var stage = new Stage(); foreach (var position in stageInfo.positions) { // CellTypeを取得 var cellType = position.value switch { "treasure" => CellType.Treasure, "arrow-up" => CellType.ArrowUp, "arrow-down" => CellType.ArrowDown, "arrow-left" => CellType.ArrowLeft, "arrow-right" => CellType.ArrowRight, _ => throw new ArgumentException() }; var treasureCell = stage.CreateCell(position.w, position.h, cellType); if (cellType == CellType.Treasure) { stage.CreateRockAroundTreasure(treasureCell); } } return(stage); } }
private void DrawFloors(float constractAlpha) { renderer.DrawTexture("fade", //背景 FLOOR_OFFSET, new Vector2(280, 330), backLayer.CurrentAlpha() * 0.5f); StageInfo info = stageInfo[dungeonIndex]; int chooseFloor = info.totalFloor / info.bossRange; for (int i = 0; i < floors.Count; i++) //各ダンジョン { Vector2 buttonPos = new Vector2(floors[i].Position().X, floors[i].Position().Y); Color color = (i == floorIndex) ? Color.Gold : Color.White; //選択の色 renderer.DrawTexture( "fade", buttonPos, floors[i].Size(), backLayer.CurrentAlpha()); renderer.DrawString( "地下 " + (1 + info.bossRange * i) + " 階", FLOOR_OFFSET + new Vector2(10, 25 * i + 35), new Vector2(1.1f, 1.1f), color, backLayer.CurrentAlpha() * constractAlpha); } }
private double b(int n, int snum) { StageInfo stage = stages[snum]; if (!stage.b_dirty[n]) { return(stage.b[n]); } double ret; if (n == 0) { ret = stage.dV; } else { ret = b(n - 1, snum) * stage.tau - stage.v_e * MuUtils.IntPow(stage.T, n) / n; } stage.b[n] = ret; stage.b_dirty[n] = false; return(ret); }
void UpdateStageStats() { if (stages.Count == 0) { InitStageStats(); } for (int i = 0; i < stages.Count; i++) { StageInfo stage = stages[i]; stage.kspStage = FixKSPStage(stage.kspStage, stage.parts); if (stage.kspStage >= 0) { UpdateStageFromMechJeb(stage, i == 0); } } for (int i = stages.Count - 1; i >= 0; i--) { if (stages[i].kspStage < 0) { /* if someone runs a booster program though the full boster we don't consume a PEG stage */ /* also if PEG is disabled manually we don't consume stages */ if (mode == AscentMode.GRAVITY_TURN && guidanceEnabled) { SetNumStages(Math.Max(1, num_stages - 1)); } stages.RemoveAt(i); InitConstantCache(); } } // dirty the constant cache for the bottom stage because v_e and such is live and may be changing (even exoatmospheric due to Agathorn) DirtyCacheForStage(0); }
public void InitStageStats() { Debug.Log("MechJebModuleAscentPEG.InitStageStats()"); terminalGuidance = false; stages.Clear(); skippedParts.Clear(); for (int i = vacStats.Length - 1; i >= 0; i--) { if (vacStats[i].deltaV > stageLowDVLimit) { StageInfo stage = new StageInfo(); stage.parts = vacStats[i].parts; stage.kspStage = i; UpdateStageFromMechJeb(stage, i == 0); stages.Add(stage); } else { skippedParts.AddRange(vacStats[i].parts); } } /* sometimes parts we want also wind up in zero dV stages and we need to remove them here */ for (int i = 0; i < stages.Count; i++) { for (int j = 0; j < stages[i].parts.Count; j++) { if (skippedParts.Contains(stages[i].parts[j])) { skippedParts.Remove(stages[i].parts[j]); } } } InitConstantCache(); ResetBooleans(); }
IEnumerator SpawnToPositionLoad() { footIK_AF.followTerrain = false; foreach (Rigidbody rb in rbs) { rb.velocity = Vector3.zero; } foreach (Collider collider in colliders) { collider.isTrigger = true; } yield return(new WaitForFixedUpdate()); stageInfo = GameObject.FindGameObjectWithTag("StageInfo").GetComponent <StageInfo>(); playerMove.transform.position = stageInfo.SpawnPosition[PlayerID]; playerMove.transform.eulerAngles = stageInfo.SpawnRotation[PlayerID]; playerRigHips.transform.position = stageInfo.SpawnPosition[PlayerID]; playerRigHips.transform.eulerAngles = stageInfo.SpawnRotation[PlayerID]; yield return(new WaitForSeconds(1.5f)); foreach (Rigidbody rb in rbs) { rb.velocity = Vector3.zero; } foreach (Collider collider in colliders) { collider.isTrigger = false; } if (!StageManager.InLobby && !SceneChangeTest.IsLoadingTutorial) { footIK_AF.followTerrain = true; } yield return(null); }
private double c(int n, int snum) { StageInfo stage = stages[snum]; if (!stage.c_dirty[n]) { return(stage.c[n]); } double ret; if (n == 0) { ret = b(0, snum) * stage.T - b(1, snum); } else { ret = c(n - 1, snum) * stage.tau - stage.v_e * MuUtils.IntPow(stage.T, n + 1) / (n * (n + 1)); } stage.c[n] = ret; stage.c_dirty[n] = false; return(ret); }
public static char[,] LoadMap(StageInfo stageInfo) { string fileName = "MapData"; fileName += stageInfo.Stage.ToString() + "_" + stageInfo.Chapter.ToString(); TextAsset textAsset = new TextAsset(); //テキストファイルのデータを取得するインスタンスを作成 textAsset = Resources.Load(fileName, typeof(TextAsset)) as TextAsset; //Resourcesフォルダから対象テキストを取得 // 改行コード'\n'を取り除く string[] tmp = textAsset.text.Split('\n'); //テキスト全体をstring型で入れる変数を用意して入れる. // '\r'を取り除く for (int i = 0; i < tmp.GetLength(0); i++) { tmp[i] = tmp[i].TrimEnd('\r'); } var data = new char[tmp.GetLength(0) - 1, tmp[0].Length]; for (int row = 0; row < data.GetLength(0); row++) { for (int col = 0; col < data.GetLength(1); col++) { data[row, col] = tmp[row][col]; } } return(data); }
private static void ApplySettingsChanges(ClassicStageInfo self, StageInfo stageInfo) { StageSettings settings = GetStageSettings(self); StageSettingsActions?.Invoke(settings, stageInfo); SetStageSettings(self, settings); }
private async Task <StageInfo> ScanFirstPick() { var finder = new Finder(); var stageInfo = new StageInfo { Step = -1 }; while (stageInfo.Step == -1 && !_scanningCancellationToken.IsCancellationRequested) { if (OcrUtil.SuspendScanning) { await Task.Delay(1000); continue; } stageInfo = finder.GetStageInfo(); if (stageInfo.Step > -1) { return(stageInfo); } await Task.Delay(1000); } return(stageInfo); }
/// <summary> /// FloorUIを更新 /// </summary> public void InitFloor() { floorIndex = 0; floors = new List <Button>(); DungeonProcess process = gameManager.DungeonProcess; StageInfo info = stageInfo[dungeonIndex]; int limit = 1; //制限階層 if (process.HasKey(info.dungeonNo)) //攻略したことがあれば進捗で更新 { limit = process.GetProcess()[info.dungeonNo]; } int chooseFloor = info.totalFloor / info.bossRange; for (int i = 0; i < chooseFloor; i++) //Buttonを作る { if ((1 + info.bossRange * i) > limit + 1) //到達した階層以外は選択できない { break; } Vector2 position = FLOOR_OFFSET + new Vector2(0, 25 * i + 35); Button button = new Button(position + new Vector2(0, 2), 280, 21); floors.Add(button); } }
public void LoadStage(int stageNum) { loading = true; InitStage(); if (GameData.instance.stageList.Length > 0) { mapNo = 0; objectNo = 0; repeatNo = 0; distance = 0; currentWave = 0; currentStageInfo = GameData.instance.stageList[stageNum]; float h = 0; float y = -screenY; float spriteH; while (h <= screenY * 2) { spriteH = AddNextBackground(y); y += spriteH; h += spriteH; } } loading = false; }
public void GenerateStage(bool useAllSpawns) { CurrentStageInfo = Stages[CurrentStageNum]; foreach (SpawnInfo si in CurrentStageInfo.Spawns) { int usedCount = Random.Range(si.MinNumber, si.MaxNumber); for (int i = 1; i <= usedCount; i++) { GameObject spawnGO = Instantiate(si.prefabEnemy, CharacterHolder, true); Vector3 sourcePostion = si.SpawnLocation.position; NavMeshHit closestHit; if (NavMesh.SamplePosition(sourcePostion, out closestHit, 500, 1)) { spawnGO.transform.position = closestHit.position; //print("Closest Point " + spawnGO.name + " | " + closestHit.position); spawnGO.GetComponent <NavMeshAgent>().enabled = true; spawnGO.GetComponent <NavMeshAgent>().Warp(closestHit.position); spawnGO.transform.localScale = Vector3.zero; LeanTween.scale(spawnGO, Vector3.one, 0.5f).setEaseInOutCirc(); } else { Debug.Log("..."); } } } }
// ステージ情報をセット void CatchStageInfo(StageInfo info) { this.killedMonster = 0; this.maxMonsterNumber = info.monsterNumber; Debug.Log("maxMonsterNumber : " + maxMonsterNumber); this.levelText.guiText.text = LV + info.stageLevel; }
public void OpenStageSelect() { sSelectScreenGO.SetActive(true); cSelectScreenGO.SetActive(false); cSelectCamera.SetActive(false); //Cleanup foreach (Transform t in sSelectStageHolder.transform) { Destroy(t.gameObject); } //Create SSS for (int i = 0; i < gameInfo.stages.Length; i++) { GameObject go = Instantiate(sSelectStagePrefab, sSelectStageHolder.transform, false); StageInfo sN = gameInfo.stages[i]; EventTrigger et = go.GetComponent <EventTrigger>(); EventTrigger.Entry entryT = new EventTrigger.Entry(); entryT.eventID = EventTriggerType.Submit; entryT.callback.AddListener((eventData) => { StartMatch(sN); }); et.triggers.Add(entryT); EventTrigger.Entry entryCl = new EventTrigger.Entry(); entryCl.eventID = EventTriggerType.PointerClick; entryCl.callback.AddListener((eventData) => { StartMatch(sN); }); et.triggers.Add(entryCl); } }
public void AddPanel(StageInfo info) { StageSelectorPanel panel = panels[count]; panel.SetPortrait(info); count++; }
private void SetStageInfo() { var manager = GameManager.Instance; string nextStage = "Stage" + nowSelected.ToString(); StageInfo nextStageInfo = stageInfo[nextStage]; stagePanel.SetDisplayFromStageInfo(nextStageInfo); isLocked = nextStageInfo.unlockCoin > manager.GetCollectedCoinNum(); if (isLocked) { if (!locked) { var obj = Instantiate(Resources.Load("Prefabs/Locked") as GameObject, stagePanel.gameObject.GetComponent <Transform>()); locked = obj.GetComponent <Locked>(); } locked.SetUnlockInfoText(nextStageInfo.unlockCoin); } else { if (locked) { locked.GetComponent <Animator>().SetTrigger("Destroy"); locked = null; } } }
private void FlameDrone_InteractableActions(List <DirectorCardHolder> arg1, StageInfo arg2) { DirectorCard dcFlameDrone = null; foreach (DirectorCardHolder dch in arg1) { if (dcFlameDrone == null && dch.Card.spawnCard.name.Contains("FlameDrone")) { dcFlameDrone = dch.Card; break; } } if (dcFlameDrone != null) { if (generalCfg.flameDroneWeightAbyssalDepths > 1 && arg2.stage == R2APIStage.AbyssalDepths) { dcFlameDrone.selectionWeight *= generalCfg.flameDroneWeightAbyssalDepths; } else if (generalCfg.flameDroneWeightScorchedAcres > 1 && arg2.stage == R2APIStage.ScorchedAcres) { dcFlameDrone.selectionWeight *= generalCfg.flameDroneWeightScorchedAcres; } } else { Log.Warning("GradiusModPlugin.FlameDrone_InteractableActions: Flame Drone Director Card not found!"); } }
public static void UpdateStageView(StageInfo stage, MainWindowViewModel viewModel) { if (stage.status != null) { viewModel.Level = stage.status.level; viewModel.StaminaValue = stage.status.stamina.value; viewModel.StaminaMax = stage.status.stamina.max; viewModel.ExpValue = stage.status.exp.value; viewModel.ExpMin = stage.status.exp.min; viewModel.ExpMax = stage.status.exp.max; viewModel.BpValue = stage.status.bp.value; viewModel.BpMax = stage.status.bp.max; viewModel.TpValue = stage.status.tp.value; viewModel.TpMax = stage.status.tp.max; if (viewModel.IsFuryRaidEnable) { viewModel.Fever = stage.status.furyraid != null && stage.status.furyraid.fever != null; } if (viewModel.IsLimitedRaidEnable) { viewModel.Fever = stage.status.limitedraid != null && stage.status.limitedraid.fever != null && stage.status.limitedraid.fever.gachaTicket != null; } if (viewModel.IsBreedingEnable) { viewModel.Fever = stage.status.breeding != null && stage.status.breeding.fever != null && stage.status.breeding.fever.breedingPoint != null; } } }
void Start() { if (debugMode) { stageInfo.mapNumber = 0001; stageInfo.mapName = "산 남부 중턱"; stageInfo.areaName = "디스메어 산"; stageInfo.gridColor = new Color(0f, 179f / 255f, 63f / 255f); stageInfo.gameRule = GameRules.DefaultRule; } else { stageInfo = GlobalData.stageInfo; } units = new List <Unit>(); skills = new List <Skill>(); gameRule = GameRule.GetGameRule(stageInfo.gameRule); fieldState = new FieldState[12, 4]; for (int x = 0; x < 12; ++x) { for (int y = 0; y < 4; ++y) { fieldState[x, y] = new FieldState(); } } UIManager.Instance.Initialize(); TouchManager.Instance.Initialize(); CameraManager.Instance.Initialize(); gameRule.Initialize(); grid.Initialize(); background.Initialize(); }
public GameObject GetNextBackgroundObject(StageInfo stageInfo) { MapData mapData; List <GameObject> backList; mapData = stageInfo.mapList[mapNo]; backList = GameData.instance.GetBackgroundObjectList(mapData.bgGroupName); // if one cycle of background images was finished, if (objectNo >= backList.Count) { objectNo = 0; // Checking whether this map is an infinity loop or not. // mapData.repeatCount == 0 means this map items is looping infinitely. if (mapData.repeatCount > 0 && ++repeatNo >= mapData.repeatCount) { repeatNo = 0; // if the next map number > a size of the map list, assign 0 to mapNo. if (++mapNo >= stageInfo.mapList.Count) { mapNo = 0; } mapData = stageInfo.mapList[mapNo]; backList = GameData.instance.GetBackgroundObjectList(mapData.bgGroupName); } } return(backList[objectNo++]); }
void LoadRandomStage() { AreaInfo SaveAreaInfo = new AreaInfo(); if (!Isbonus) { for (int i = 0; i < 4; i++) { StageInfo SaveStage = RandomStagesInfos[SaveRandomIndex[i]]; if (SaveAreaInfo.StageInfos.Contains(SaveStage)) { while (SaveAreaInfo.StageInfos.Contains(SaveStage)) { SaveStage = RandomStagesInfos[UnityEngine.Random.Range(0, RandomStagesInfos.Count)]; } } SaveStage.StageNum = i; SaveAreaInfo.AreaNumber = ClearedStandCount; SaveAreaInfo.StageInfos.Add(SaveStage); } } else { StageInfo SaveStage = RandomBonusStagesInfos[SaveRandomIndex[0]]; SaveStage.StageNum = 0; SaveAreaInfo.AreaNumber = ClearedBonusCount; SaveAreaInfo.StageInfos.Add(SaveStage); } CurrentArea = SaveAreaInfo; }
private static void ApplyMonsterChanges(ClassicStageInfo self, StageInfo stage) { var monsters = self.GetFieldValue <DirectorCardCategorySelection>("monsterCategories"); var monsterCards = new List <DirectorCardHolder>(); foreach (var cat in monsters.categories) { MonsterCategory monstCat = GetMonsterCategory(cat.name); InteractableCategory interCat = GetInteractableCategory(cat.name); foreach (var t in cat.cards) { monsterCards.Add(new DirectorCardHolder { InteractableCategory = interCat, MonsterCategory = monstCat, Card = t }); } } MonsterActions?.Invoke(monsterCards, stage); var monsterBasic = new List <DirectorCard>(); var monsterSub = new List <DirectorCard>(); var monsterChamp = new List <DirectorCard>(); foreach (var hold in monsterCards) { switch (hold.MonsterCategory) { case MonsterCategory.BasicMonsters: monsterBasic.Add(hold.Card); break; case MonsterCategory.Champions: monsterChamp.Add(hold.Card); break; case MonsterCategory.Minibosses: monsterSub.Add(hold.Card); break; } } for (int i = 0; i < monsters.categories.Length; i++) { DirectorCardCategorySelection.Category cat = monsters.categories[i]; switch (cat.name) { case "Champions": cat.cards = monsterChamp.ToArray(); break; case "Minibosses": cat.cards = monsterSub.ToArray(); break; case "Basic Monsters": cat.cards = monsterBasic.ToArray(); break; } monsters.categories[i] = cat; } }
/// <summary> /// 通过传过来的关卡初始化(单个) /// </summary> /// <param name="info"></param> public void InitStage(StageInfo info) { /***********建议读表i***********/ if (m_RootStageHandler != null) { return; } NormalStageData StageData = null; // 生成的怪物的Enemy IStageScore StageScore = null; // 通关的成绩 IStageHandler NewStage = null; ////1 StageData = new NormalStageData(1, GetSpawnPosition()); StageData.AddStageData(ENUM_Enemy.Keraha, 1); StageScore = new StageScoreEnemyKilledCount(1, this); NewStage = new NormalStageHandler(StageScore, StageData); // 设置初始关卡 m_RootStageHandler = NewStage; //指定第一个关卡 m_NowStageHandler = m_RootStageHandler; level = 0; }
// Use this for initialization void Start() { stageInfo = GameObject.Find ("_Manager").GetComponent<StageInfo> (); }
void Update() { temp = XMLManager.Instance.Load_StageData(dayManager._PassedDay - 1); GetComponent<Text>().text = temp.Sum.ToString(); }
void SetStageInfo() { this.info = new StageInfo(this.stageLevel, this.stageMonsterNumberList[this.stageLevel - 1], this.stageDethNumberList[this.stageLevel - 1]); }
IEnumerator GameStateCheck() { while(true) { yield return new WaitForSeconds(0.05f); if(dayManager._isDay) { gameState = GameState.Day; spawnFlag = false; } else if(!dayManager._isDay) { stageInfo = XMLManager.Instance.Load_StageData(dayManager._PassedDay - 1); gameState = GameState.Night; if(!spawnFlag) { SetSpawnList(); } } if (gameState == GameState.Night) { if (spawnIndex > 0) { if (enemyList.Count > 0) { foreach (GameObject obj in enemyList) { if (obj.GetComponent<Transform>().position.x < -5) { gameState = GameState.Die; } } } else { dayManager.Day(); } } } switch(gameState) { case GameState.Day: break; case GameState.Night: break; case GameState.Die: _FadePlane.GetComponent<NextScene.NextSceneWithFadeInLerp>()._SceneIndex = 5; _FadePlane.GetComponent<FadeInLerp>()._FadeIn = true; break; case GameState.GameClear: _FadePlane.GetComponent<NextScene.NextSceneWithFadeInLerp>()._SceneIndex = 5; _FadePlane.GetComponent<FadeInLerp>()._FadeIn = true; break; } } }
public StageInfo Load_StageData(int id) { StageInfo temp = new StageInfo(); foreach(XmlNode node in stageTable) { if(id == int.Parse(node.SelectSingleNode("ID").InnerText)) { temp.ID = id; temp.Name = node.SelectSingleNode("Name").InnerText; temp.Enemy1 = int.Parse(node.SelectSingleNode("Enemy01").InnerText); temp.Enemy2 = int.Parse(node.SelectSingleNode("Enemy02").InnerText); temp.Enemy3 = int.Parse(node.SelectSingleNode("Enemy03").InnerText); temp.Enemy4 = int.Parse(node.SelectSingleNode("Enemy04").InnerText); temp.Enemy5 = int.Parse(node.SelectSingleNode("Enemy05").InnerText); temp.Sum = int.Parse(node.SelectSingleNode("Sum").InnerText); return temp; } } return null; }
public void Init(StageInfo _info) { info = _info; stageName = GetComponentInChildren<UILabel>(); stageName.text = info.Name; }