public void SetDice(Mythos mythos, int num, int min, int max) { pressText.SetActive(true); use = Use.MythosEvent; eventMythos = mythos; diceCount = num; minValue = min; maxValue = max; // 주사위 수가 0이면 더 이상 진행할 필요 x, 배열도 모두 0으로 되있으므로 SuccessOrFailure는 0을 반환 -> 이벤트 실패 if (diceCount <= 0) { CallResultFunction(); return; } for (int i = 0; i < diceCount; i++) { GameObject instanceDice = Instantiate(dicePrefab, Vector3.zero, Quaternion.Euler(0, 0, 0)); instanceDice.transform.parent = mainCamera.transform; instanceDice.transform.localPosition = new Vector3(i * 2, -4, i * 2 + 6); dices.Add(instanceDice.GetComponent <Dice>()); } readyThrow = true; }
public void MythosEventStarted() { mythosEventMenu.SetActive(true); App.Controller.openMenuController.OpenMenu(mythosEventMenu); continueButton.SetActive(false); Mythos m = App.Model.mythosModel.activeMythos; eventTitle.text = m.mythosTitle; eventDescription.text = m.mythosText; }
// 알고리즘에 순서변경알고리즘 대체 public void Suffle() { int num = mythosDeck.Count; for (int i = 0; i < num; i++) { int k = UnityEngine.Random.Range(i, num); Mythos value = mythosDeck[i]; mythosDeck[i] = mythosDeck[k]; mythosDeck[k] = value; } }
public void StartRumorEvent() { Mythos m = App.Model.mythosModel.activeMythos; m.SpawnRumor(); App.Model.rumorMythosModel.StartRumor(m.ongoingEffect); App.Controller.ongoingEffectController.NewOngoingEffect(m.ongoingEffect); if (m.ongoingEffect.location != "") { Location l = App.Model.locationModel.FindLocationByName(m.ongoingEffect.location); App.Controller.locationController.SpawnOngoingEffect(m.ongoingEffect, l); } }
IEnumerator MythosStepCoroutine() { mainButton.SetActive(false); yield return(new WaitForSeconds(0.8f)); pulledMythos = mythosDeck.DrawCard(); mythosImage.sprite = Resources.Load <Sprite>("MythosImages/" + pulledMythos.title); mythosPanel.SetActive(true); currentPosition = eventCard.transform.position; // 카드 좌측 상단으로 이동 애니메이션 eventCard.GetComponent <Animator>().SetBool("Flip", true); yield return(new WaitForSeconds(1.5f)); // 1. 차원문 생성 GameStateUI.instance.UpdateStateUI("차원문 생성"); GateController.instance.OpenGate(pulledMythos.gateLocal.name); // 2. 몬스터 생성 MonsterController.instance.CreateMonster(pulledMythos.gateLocal); MaincameraController.instance.ChangeTarget(pulledMythos.gateLocal.gameObject); yield return(new WaitForSeconds(2.0f)); // 3. 단서 생성 GameStateUI.instance.UpdateStateUI("단서 생성"); clue = Instantiate(cluePrefab, pulledMythos.clueLocal.transform); clue.transform.localPosition = new Vector3(0.18f, 2.3f, 0.75f); MaincameraController.instance.ChangeTarget(pulledMythos.clueLocal.gameObject); yield return(new WaitForSeconds(2.0f)); // 4. 몬스터 이동 IEnumerator coroutine = MonsterController.instance.MoveOneByOne(pulledMythos.whiteSimbol, MonsterMoveController.Color.White); yield return(StartCoroutine(coroutine)); coroutine = MonsterController.instance.MoveOneByOne(pulledMythos.blackSimbol, MonsterMoveController.Color.Black); yield return(StartCoroutine(coroutine)); eventCard.GetComponent <Animator>().SetBool("Flip", false); // 5. 이벤트 발생 pulledMythos.OccurEvent(); mainButton.SetActive(true); }
public void StartMythos() { mythosMenu.SetActive(true); App.Controller.openMenuController.OpenMenu(mythosMenu); Mythos m = App.Model.mythosModel.activeMythos; mythosTitle.text = m.mythosTitle; mythosText.text = m.mythosFlavorText; foreach (Transform child in mythosEventsParent.transform) { Destroy(child.gameObject); } foreach (MythosEffects me in m.effects) { if (me == MythosEffects.AdvanceOmen) { GameObject go = Instantiate(eventIcon, mythosEventsParent.transform); go.GetComponent <Image>().sprite = App.Model.mythosSpritesModel.advanceOmenSprite; } if (me == MythosEffects.ResolveReckoning) { GameObject go = Instantiate(eventIcon, mythosEventsParent.transform); go.GetComponent <Image>().sprite = App.Model.mythosSpritesModel.reckoningSprite; } if (me == MythosEffects.SpawnGates) { GameObject go = Instantiate(eventIcon, mythosEventsParent.transform); go.GetComponent <Image>().sprite = App.Model.gameSpritesModel.gateSprite; } if (me == MythosEffects.SpawnClues) { GameObject go = Instantiate(eventIcon, mythosEventsParent.transform); go.GetComponent <Image>().sprite = App.Model.gameSpritesModel.clueTokenSprite; } if (me == MythosEffects.MonsterSurge) { GameObject go = Instantiate(eventIcon, mythosEventsParent.transform); go.GetComponent <Image>().sprite = App.Model.mythosSpritesModel.monsterSurgeSprite; } if (me == MythosEffects.Rumor) { GameObject go = Instantiate(eventIcon, mythosEventsParent.transform); go.GetComponent <Image>().sprite = App.Model.mythosSpritesModel.rumorSprite; } } }
public void CopyValue(ref Mythos _mythos) { title = _mythos.title; explain = _mythos.explain; mythosType = _mythos.mythosType; gateLocal = _mythos.gateLocal; clueLocal = _mythos.clueLocal; for (int i = 0; i < _mythos.whiteSimbol.Count; i++) { whiteSimbol.Add(_mythos.whiteSimbol[i]); } for (int i = 0; i < _mythos.blackSimbol.Count; i++) { blackSimbol.Add(_mythos.blackSimbol[i]); } }
IEnumerator MythosStepCoroutine() { pulledMythos = mythosDeck.DrawCard(); mythosImage.sprite = Resources.Load <Sprite>("MythosImages/" + pulledMythos.title); mythosPanel.SetActive(true); currentPosition = eventCard.transform.position; // 카드 좌측 상단으로 이동 애니메이션 eventCard.GetComponent <Animator>().SetBool("Flip", true); // 차원문 생성 GateController.instance.OpenGate(pulledMythos.gateLocal.name); // 몬스터 생성 MonsterController.instance.CreateMonster(pulledMythos.gateLocal); // 단서 생성 clue = Instantiate(cluePrefab, pulledMythos.clueLocal.transform); clue.transform.localPosition = new Vector3(0, -1.5f, 1.5f); // 몬스터 이동 IEnumerator coroutine = MonsterController.instance.MoveOneByOne(pulledMythos.whiteSimbol, MonsterMoveController.Color.White); yield return(StartCoroutine(coroutine)); coroutine = MonsterController.instance.MoveOneByOne(pulledMythos.blackSimbol, MonsterMoveController.Color.Black); yield return(StartCoroutine(coroutine)); eventCard.GetComponent <Animator>().SetBool("Flip", false); pulledMythos.OccurEvent(); }
public void StartMythosCard(Mythos m) { App.Model.mythosModel.StartMythosCard(m); }
public void StartMythosCard(Mythos m) { activeMythos = m; activeIndex = -1; App.View.mythosView.StartMythos(); }