private void Start() { FF9StateSystem.Common.FF9.miniGameArg = 0; this.stageStr = FF9StateSystem.Common.FF9.miniGameArg.ToString(); this.cardStr = "0"; QuadMistDatabase.LoadData(); }
private void BuildCard() { List <QuadMistCard> list = new List <QuadMistCard>(); QuadMistGame.main.preBoard.collection.CreateCards(); QuadMistGame.main.preBoard.UpdateCollection(-1); List <QuadMistCard>[] cards = QuadMistGame.main.preBoard.collection.cards; for (Int32 i = 0; i < (Int32)cards.Length; i++) { List <QuadMistCard> list2 = cards[i]; foreach (QuadMistCard quadMistCard in list2) { if (quadMistCard != null) { list.Add(quadMistCard); } } } QuadMistUI.allCardList = list; this.selectedCardList.Clear(); for (Int32 j = 0; j < 100; j++) { this.count[j] = (Byte)QuadMistDatabase.MiniGame_GetCardCount(j); } }
private void DisplayCardDetail() { Int32 num = (Int32)this.count[this.currentCardId]; if (num > 0) { this.cardInfoContentGameObject.SetActive(true); this.ShowCardDetailHudNumber(num); FF9UIDataTool.DisplayCard(QuadMistDatabase.MiniGame_GetCardInfoPtr(this.currentCardId, this.offset[this.currentCardId]), this.cardDetailHudList[0], false); this.cardNameLabel.text = FF9TextTool.CardName(this.currentCardId); if (num > 1) { this.cardNumberGameObject.SetActive(true); this.currentCardNumberLabel.text = (this.offset[this.currentCardId] + 1).ToString(); this.totalCardNumberLabel.text = num.ToString(); for (Int32 i = 1; i < Math.Min(num, 5); i++) { FF9UIDataTool.DisplayCard(QuadMistDatabase.MiniGame_GetCardInfoPtr(this.currentCardId, 0), this.cardDetailHudList[i], true); } } else { this.cardNumberGameObject.SetActive(false); } } else { this.cardInfoContentGameObject.SetActive(false); } }
private void AnalyzeArgument() { this.AnalyzeParty(); this.defaultExp = (UInt32)((this.remainPlayerCounter == 0) ? 0UL : ((UInt64)battle.btl_bonus.exp / (UInt64)((Int64)this.remainPlayerCounter))); this.defaultAp = (UInt32)battle.btl_bonus.ap; this.defaultGil = battle.btl_bonus.gil; this.defaultCard = (Int32)((QuadMistDatabase.MiniGame_GetAllCardCount() < 100) ? battle.btl_bonus.card : Byte.MaxValue); this.itemList.Clear(); for (Int32 i = 0; i < BattleResultUI.ItemArgMax; i++) { if (battle.btl_bonus.item[i] != 255) { Boolean flag = false; for (Int32 j = 0; j < this.itemList.Count; j++) { if (battle.btl_bonus.item[i] == this.itemList[j].id) { FF9ITEM ff9ITEM = this.itemList[j]; ff9ITEM.count = (Byte)(ff9ITEM.count + 1); flag = true; break; } } if (!flag) { if (this.itemList.Count >= BattleResultUI.ItemMax) { return; } FF9ITEM item = new FF9ITEM(battle.btl_bonus.item[i], 1); this.itemList.Add(item); } } } }
private void onDiscardConfirmHidden(Int32 choice) { ButtonGroupState.SetPointerOffsetToGroup(Dialog.DefaultOffset, Dialog.DialogGroupButton); if (choice == 0) { QuadMistDatabase.MiniGame_AwayCard(this.deleteCardId, this.currentCardOffset); if (QuadMistDatabase.MiniGame_GetAllCardCount() > 100) { QuadMistUI.allCardList.Remove(this.GetCardInfo(this.currentCardId, this.currentCardOffset)); Byte[] array = this.count; Int32 num = this.deleteCardId; array[num] = (Byte)(array[num] - 1); this.currentCardOffset = 0; this.DisplayCardList(); this.DisplayCardDetail(); ButtonGroupState.ActiveGroup = QuadMistUI.CardGroupButton; this.UpdateAmountLabel(); } else { this.Hide(delegate { QuadMistGame.OnDiscardFinish(); this.isNeedToBuildCard = true; }); } } else { ButtonGroupState.ActiveGroup = QuadMistUI.CardGroupButton; } }
public static void LoadData() { QuadMistDatabase.instance.data = QuadMistDatabase.ReadDataFromSharedData(); if (QuadMistDatabase.instance.data == null) { QuadMistDatabase.instance.data = new FF9SAVE_MINIGAME(); } }
public void CreateCards() { this.Clear(); List <QuadMistCard> cardList = QuadMistDatabase.GetCardList(); foreach (QuadMistCard c in cardList) { this.Add(c); } }
private void DiscardSeletctedCard() { FF9Sfx.FF9SFX_Play(103); QuadMistDatabase.MiniGame_AwayCard(this.deleteCardId, this.offset[this.deleteCardId]); count[deleteCardId] = (Byte)(count[deleteCardId] - 1); this.offset[this.deleteCardId] = Math.Min(this.offset[this.deleteCardId], (Int32)(this.count[this.deleteCardId] - 1)); this.DisplayHelp(); this.DisplayCardList(); this.DisplayCardDetail(); }
private void DisplayInfo() { Int32 num = Mathf.Min(99999, QuadMistDatabase.MiniGame_GetWinCount()); Int32 num2 = Mathf.Min(99999, QuadMistDatabase.MiniGame_GetLoseCount()); Int32 num3 = Mathf.Min(99999, QuadMistDatabase.MiniGame_GetDrawCount()); this.levelLabel.text = this.point.ToString() + "p"; this.classNameLabel.text = FF9TextTool.CardLevelName(this.lv_collector); this.winCountLabel.text = num.ToString(); this.loseCountLabel.text = num2.ToString(); this.drawCountLabel.text = num3.ToString(); }
private void InitQuadMistDatabase() { GameObject gameObject = new GameObject("QuadMistDatabase"); QuadMistDatabase quadMistDatabase = gameObject.AddComponent <QuadMistDatabase>(); this.quadMistDatabase = quadMistDatabase; gameObject.transform.parent = base.transform; gameObject = new GameObject("QuadMistCardPool"); CardPool cardPool = gameObject.AddComponent <CardPool>(); this.quadMistCardPool = cardPool; gameObject.transform.parent = base.transform; }
public static void CreateDataIfLessThanFive() { if (QuadMistDatabase.instance.data.MiniGameCard.Count < 5) { for (Int32 i = 0; i < 8; i++) { if (QuadMistDatabase.instance.data.MiniGameCard.Count < 100) { QuadMistDatabase.instance.data.MiniGameCard.Add(CardPool.CreateQuadMistCard(UnityEngine.Random.Range(0, 100))); } } QuadMistDatabase.SaveData(); } }
public static Int32 MiniGame_SetCard(Int32 ID) { if (QuadMistDatabase.MiniGame_GetAllCardCount() >= 100) { return(-1); } QuadMistCard item = CardPool.CreateQuadMistCard(ID); FF9StateSystem.MiniGame.SavedData.MiniGameCard.Add(item); if (QuadMistDatabase.MiniGame_GetCardCount(ID) == 1) { return(1); } return(0); }
private void DisplayInfo() { if (this.currentState == QuadMistUI.CardState.CardSelection) { this.PlayerInfoPanel.SetActive(true); Int32 num = Mathf.Min(99999, QuadMistDatabase.MiniGame_GetWinCount()); Int32 num2 = Mathf.Min(99999, QuadMistDatabase.MiniGame_GetLoseCount()); Int32 num3 = Mathf.Min(99999, QuadMistDatabase.MiniGame_GetDrawCount()); this.winCountLabel.text = num.ToString(); this.loseCountLabel.text = num2.ToString(); this.drawCountLabel.text = num3.ToString(); } else { this.PlayerInfoPanel.SetActive(false); } }
private void DiscardUnnecessaryCards() { FF9Sfx.FF9SFX_Play(103); QuadMistDatabase.DiscardUnnecessaryCards(); for (Int32 i = 0; i < 100; i++) { this.count[i] = 0; this.offset[i] = 0; } foreach (QuadMistCard quadMistCard in FF9StateSystem.MiniGame.SavedData.MiniGameCard) { this.count[quadMistCard.id]++; } this.DisplayHelp(); this.DisplayCardList(); this.DisplayCardDetail(); }
private Boolean UpdateItem() { Boolean flag = false; for (Int32 i = 0; i < this.itemList.Count; i++) { if ((Int32)this.itemList[i].count != ff9item.FF9Item_Add((Int32)this.itemList[i].id, (Int32)this.itemList[i].count)) { FF9Sfx.FF9SFX_Play(1046); flag = true; } } if (this.defaultCard != 255) { QuadMistDatabase.MiniGame_SetCard(this.defaultCard); } if (flag && (this.itemList.Count != 0 || this.defaultCard != 255)) { FF9Sfx.FF9SFX_Play(108); } return(!flag); }
private void DisplayCardList() { Int32 id; for (id = 0; id < 100; id++) { Byte b = this.count[id]; CardUI.CardListHUD cardListHUD = this.cardHudList.First((CardUI.CardListHUD hud) => hud.Id == id); if (b > 0) { CardIcon.Attribute attribute = QuadMistDatabase.MiniGame_GetCardAttribute(id); String spriteName = String.Concat(new Object[] { "card_type", (Int32)attribute, "_", (b <= 1) ? "normal" : "select" }); cardListHUD.CardIconSprite.spriteName = spriteName; if (b > 1) { cardListHUD.CardAmountLabel.gameObject.SetActive(true); cardListHUD.CardAmountLabel.text = b.ToString(); } else { cardListHUD.CardAmountLabel.gameObject.SetActive(false); } } else { cardListHUD.CardAmountLabel.gameObject.SetActive(false); cardListHUD.CardIconSprite.spriteName = "card_slot"; } } this.stockCountLabel.text = QuadMistDatabase.MiniGame_GetAllCardCount().ToString(); this.typeCountLabel.text = QuadMistDatabase.MiniGame_GetCardKindCount().ToString(); }
private void FF9FCard_GetPoint() { List <QuadMistCard> list = QuadMistDatabase.MiniGame_GetCardBinPtr(); Boolean[] array = new Boolean[CardUI.FF9FCARD_ARROW_TYPE_MAX]; Int32 num = 0; Int32 num2 = 0; Int32 num3 = 0; Byte[] array2 = new Byte[] { 0, 0, 1, 2 }; foreach (QuadMistCard quadMistCard in list) { num += (Int32)quadMistCard.cpoint; } for (Int32 i = 0; i < 100; i++) { for (Int32 j = 0; j < (Int32)this.count[i]; j++) { QuadMistCard quadMistCard2 = QuadMistDatabase.MiniGame_GetCardInfoPtr(i, j); array[(Int32)quadMistCard2.arrow] = true; num2 += (Int32)array2[(Int32)quadMistCard2.type]; } } for (Int32 k = 0; k < CardUI.FF9FCARD_ARROW_TYPE_MAX; k++) { if (array[k]) { num3 += 5; } } this.point = num + num2 + num3; }
private static void WriteCurrentDataToSharedData(FF9SAVE_MINIGAME data) { FF9StateSystem.MiniGame.SavedData = QuadMistDatabase.DoDeepCopyWidhCardsAlwaysBeYours(data); }
private static FF9SAVE_MINIGAME ReadDataFromSharedData() { return(QuadMistDatabase.DoDeepCopyWidhCardsAlwaysBeYours(FF9StateSystem.MiniGame.SavedData)); }
public static void SaveData() { QuadMistDatabase.WriteCurrentDataToSharedData(QuadMistDatabase.instance.data); }
private void Start() { QuadMistDatabase.LoadData(); }
private void UpdateAmountLabel() { this.stockCountLabel.text = QuadMistDatabase.MiniGame_GetAllCardCount().ToString(); this.typeCountLabel.text = QuadMistDatabase.MiniGame_GetCardKindCount().ToString(); }
private void OnGUI() { Rect fullscreenRect = DebugGuiSkin.GetFullscreenRect(); DebugGuiSkin.ApplySkin(); GUILayout.BeginArea(fullscreenRect); GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.BeginVertical(new GUILayoutOption[0]); if (GUILayout.Button("Back", new GUILayoutOption[0])) { SceneDirector.Replace("MainMenu", SceneTransition.FadeOutToBlack_FadeIn, true); } GUILayout.FlexibleSpace(); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.BeginVertical(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); this.scrollPosition = GUILayout.BeginScrollView(this.scrollPosition, new GUILayoutOption[] { GUILayout.Width(fullscreenRect.width * 2f / 3f), GUILayout.Height(fullscreenRect.height * 3f / 4f) }); GUILayout.BeginVertical("Box", new GUILayoutOption[0]); GUILayout.Label("Please select game stage", new GUILayoutOption[0]); GUILayout.Label("( Valid stage are between 0 AND 127 )", new GUILayoutOption[0]); GUILayout.BeginHorizontal(new GUILayoutOption[0]); if (GUILayout.Button("-10", new GUILayoutOption[0])) { Int32 num = Convert.ToInt32(this.stageStr); if (num >= 10) { num -= 10; } else { num = 0; } this.stageStr = String.Empty + num; } if (GUILayout.Button("-1", new GUILayoutOption[0])) { Int32 num2 = Convert.ToInt32(this.stageStr); if (num2 > 0) { num2--; } this.stageStr = String.Empty + num2; } this.stageStr = GUILayout.TextField(this.stageStr, new GUILayoutOption[0]); if (GUILayout.Button("+1", new GUILayoutOption[0])) { Int32 num3 = Convert.ToInt32(this.stageStr); if (num3 < 127) { num3++; } this.stageStr = String.Empty + num3; } if (GUILayout.Button("+10", new GUILayoutOption[0])) { Int32 num4 = Convert.ToInt32(this.stageStr); if (num4 < 118) { num4 += 10; } else { num4 = 127; } this.stageStr = String.Empty + num4; } GUILayout.EndHorizontal(); if (GUILayout.Button("PLAY!", new GUILayoutOption[0])) { Int32 num5 = Convert.ToInt32(this.stageStr); FF9StateSystem.Common.FF9.miniGameArg = (UInt16)num5; SceneDirector.Replace("QuadMist", SceneTransition.FadeOutToBlack_FadeIn, true); } GUILayout.Label("----------------------------------------", new GUILayoutOption[0]); if (GUILayout.Button("Clear all cards", new GUILayoutOption[0])) { QuadMistDatabase.LoadData(); List <QuadMistCard> cardList = QuadMistDatabase.GetCardList(); cardList.Clear(); QuadMistDatabase.SetCardList(cardList); QuadMistDatabase.SaveData(); } if (GUILayout.Button("Reset all stat", new GUILayoutOption[0])) { QuadMistDatabase.LoadData(); QuadMistDatabase.SetWinCount(0); QuadMistDatabase.SetLoseCount(0); QuadMistDatabase.SetDrawCount(0); QuadMistDatabase.SaveData(); } GUILayout.Label("Game generates new 8 cards", new GUILayoutOption[0]); GUILayout.Label("----------------------------------------", new GUILayoutOption[0]); GUILayout.Label("Create/Remove card", new GUILayoutOption[0]); GUILayout.Label("Select card ID (Between 0-99)", new GUILayoutOption[0]); GUILayout.BeginHorizontal(new GUILayoutOption[0]); if (GUILayout.Button("-10", new GUILayoutOption[0])) { Int32 num6 = Convert.ToInt32(this.cardStr); if (num6 >= 10) { num6 -= 10; } else { num6 = 0; } this.cardStr = String.Empty + num6; } if (GUILayout.Button("-1", new GUILayoutOption[0])) { Int32 num7 = Convert.ToInt32(this.cardStr); if (num7 > 0) { num7--; } this.cardStr = String.Empty + num7; } this.cardStr = GUILayout.TextField(this.cardStr, new GUILayoutOption[0]); if (GUILayout.Button("+1", new GUILayoutOption[0])) { Int32 num8 = Convert.ToInt32(this.cardStr); if (num8 < 99) { num8++; } this.cardStr = String.Empty + num8; } if (GUILayout.Button("+10", new GUILayoutOption[0])) { Int32 num9 = Convert.ToInt32(this.cardStr); if (num9 < 90) { num9 += 10; } else { num9 = 99; } this.cardStr = String.Empty + num9; } GUILayout.EndHorizontal(); if (GUILayout.Button("Create card", new GUILayoutOption[0])) { QuadMistDatabase.LoadData(); Int32 id = Convert.ToInt32(this.cardStr); List <QuadMistCard> cardList2 = QuadMistDatabase.GetCardList(); QuadMistCard item = CardPool.CreateQuadMistCard(id); cardList2.Add(item); QuadMistDatabase.SetCardList(cardList2); QuadMistDatabase.SaveData(); } if (GUILayout.Button("Remove card", new GUILayoutOption[0])) { QuadMistDatabase.LoadData(); Int32 num10 = Convert.ToInt32(this.cardStr); List <QuadMistCard> cardList3 = QuadMistDatabase.GetCardList(); List <QuadMistCard> list = new List <QuadMistCard>(); foreach (QuadMistCard quadMistCard in cardList3) { if ((Int32)quadMistCard.id == num10) { list.Add(quadMistCard); } } foreach (QuadMistCard item2 in list) { cardList3.Remove(item2); } QuadMistDatabase.SetCardList(cardList3); QuadMistDatabase.SaveData(); } GUILayout.Label("(Remove all All card at filled ID)", new GUILayoutOption[0]); GUILayout.Label("----------------------------------------", new GUILayoutOption[0]); GUILayout.Label("Templates", new GUILayoutOption[0]); if (GUILayout.Button("Create 100", new GUILayoutOption[0])) { QuadMistDatabase.LoadData(); List <QuadMistCard> cardList4 = QuadMistDatabase.GetCardList(); cardList4.Clear(); for (Int32 i = 0; i < 100; i++) { QuadMistCard item3 = CardPool.CreateQuadMistCard(i); cardList4.Add(item3); } QuadMistDatabase.SetCardList(cardList4); QuadMistDatabase.SaveData(); } GUILayout.Label("Create 100 cards, 1 ID 1 card", new GUILayoutOption[0]); GUILayout.EndVertical(); GUILayout.EndScrollView(); GUILayout.FlexibleSpace(); GUILayout.EndVertical(); GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.EndArea(); }
public int DoCalcOperationExt(int code) { int frameNdx = 0; short triNdx1 = 0; short floorNdx1 = 0; EBin.op_binary opBinary = (EBin.op_binary)code; switch (opBinary) { case EBin.op_binary.B_HAVE_ITEM: int id = this.eBin.getv(); frameNdx = id >= EventEngine.kSItemOfs ? (id >= EventEngine.kCItemOfs ? QuadMistDatabase.MiniGame_GetCardCount(id - EventEngine.kCItemOfs) : (!ff9item.FF9Item_IsExistImportant(id - EventEngine.kSItemOfs) ? 0 : 1)) : ff9item.FF9Item_GetCount(id); break; case EBin.op_binary.B_BAFRAME: this.fieldmap.walkMesh.BGI_animGetFrame((uint)this.eBin.getv(), ref frameNdx); break; case EBin.op_binary.B_FRAME: frameNdx = EventEngineUtils.GetCharAnimFrame(this.gCur.go, this.eBin.getv()); break; case EBin.op_binary.B_SPS: this.eBin.getv(); this.eBin.getv(); break; case EBin.op_binary.B_CURMP: frameNdx = (int)this._ff9.player[this.chr2slot(this.eBin.getv())].cur.mp; break; case EBin.op_binary.B_MAXMP: frameNdx = (int)this._ff9.player[this.chr2slot(this.eBin.getv())].max.mp; break; case EBin.op_binary.B_BGIID: short triNdx2 = -1; BGI.BGI_charGetInfo(this.eBin.getv(), ref triNdx2, ref floorNdx1); frameNdx = (int)triNdx2; break; case EBin.op_binary.B_BGIFLOOR: short floorNdx2 = -1; BGI.BGI_charGetInfo(this.eBin.getv(), ref triNdx1, ref floorNdx2); frameNdx = (int)floorNdx2; break; default: switch (opBinary - 67) { case EBin.op_binary.B_PAD0: case EBin.op_binary.B_PAD1: case EBin.op_binary.B_PAD2: label_9: frameNdx = this.OperatorExtractLet(code); break; case EBin.op_binary.B_POST_PLUS_A: case EBin.op_binary.B_POST_MINUS_A: label_8: frameNdx = this.OperatorExtract1(code); break; default: switch (opBinary - 8) { case EBin.op_binary.B_PAD0: case EBin.op_binary.B_PAD1: case EBin.op_binary.B_PAD2: case EBin.op_binary.B_PAD3: frameNdx = this.OperatorAll1(code); break; case EBin.op_binary.B_PRE_MINUS: goto label_8; default: switch (opBinary - 90) { case EBin.op_binary.B_PAD0: case EBin.op_binary.B_PAD1: case EBin.op_binary.B_PAD2: this.eBin.getv(); break; default: if (opBinary != EBin.op_binary.B_CURHP) { if (opBinary != EBin.op_binary.B_MAXHP) { if (opBinary == EBin.op_binary.B_LET_E) { goto label_9; } else { break; } } else { frameNdx = (int)this._ff9.player[this.chr2slot(this.eBin.getv())].max.hp; break; } } else { frameNdx = (int)this._ff9.player[this.chr2slot(this.eBin.getv())].cur.hp; break; } } break; } break; } break; } return(frameNdx); }
public int GetSysvar(int code) { FF9StateBattleSystem stateBattleSystem = FF9StateSystem.Battle.FF9Battle; int num; switch (code) { case 0: num = Comn.random8(); break; case 1: num = this.fieldmap.GetCurrentCameraIndex(); break; case 2: num = (int)this._context.usercontrol; break; case 3: num = FF9Snd.ff9fldsnd_sync(); break; case 4: num = EventCollision.sSysAngle; break; case 5: Obj sender = this.getSender(this.gExec); num = -1; if (sender != null) { num = (int)sender.sid - (this.sSourceObjN - 9); break; } break; case 6: num = (int)this._ff9.party.gil; break; case 7: num = FF9StateSystem.EventState.gStepCount; break; case 8: num = ETb.gMesSignal; break; case 9: num = this.eTb.GetChoose(); break; case 10: num = this.sMapJumpX; break; case 11: num = this.sMapJumpZ; break; case 12: num = this.sSysX; break; case 13: num = this.sSysY; break; case 14: num = fldfmv.FF9FieldFMVGetFrame(); break; case 15: num = fldfmv.FF9FieldFMVSync(); break; case 16: num = (int)this._ff9.frog_no; break; case 17: num = Convert.ToInt32(TimerUI.Time); break; case 18: num = QuadMistDatabase.MiniGame_GetLastBattleResult(); break; case 19: num = FF9StateSystem.MiniGame.GetNumberOfCards(); Debug.Log((object)("num of cards = " + (object)num)); break; case 20: num = Convert.ToInt32(FF9StateSystem.Settings.time); if (num > 8388607) { num = 8388607; break; } break; case 21: num = !TimerUI.Enable ? 0 : 1; break; case 22: num = this.sSEPos; break; case 23: num = this.sSEVol; break; case 24: num = (int)this._ff9.btlMapNo; break; case 25: num = !btlseq.BtlSeqBusy() ? 0 : 1; break; case 26: num = this.gMode != 4 ? 0 : 1; break; case 27: num = (int)this._ff9.btl_result; break; case 28: num = EventEngine._btlCmdPrm >> 8 & (int)byte.MaxValue; break; case 29: num = EventEngine._btlCmdPrm & (int)byte.MaxValue; break; case 30: num = (int)stateBattleSystem.btl_phase; break; case 31: num = (int)stateBattleSystem.btl_scene.PatNum; break; default: if ((int)this.gCur.sid != 3 || this.gCur.ip != 791) { ; } num = code < 192 ? (int)btl_scrp.GetBattleData(code) : ff9.w_frameGetParameter(code); break; } return(num); }
public void NewGame() { FF9StateSystem.Common.FF9.miniGameArg = 0; this.SavedData = new FF9SAVE_MINIGAME(); QuadMistDatabase.LoadData(); }