private bool CompanionCheck(EnumSpace.EventType ev) { if (player.GetComponent <Player>().companions.Count > 0) { return(true); } else { return(false); } /* * switch (ev) * { * case EnumSpace.EventType.Nothing: * { * if (player.GetComponent<Player>().companions.Contains("dog") || player.GetComponent<Player>().companions.Contains("ranger")) * return true; * break; * } * case EnumSpace.EventType.Fight: * { * if (player.GetComponent<Player>().companions.Contains("dog") || player.GetComponent<Player>().companions.Contains("ranger")) * return true; * break; * } * }*/ }
public void ProcessEvent(RandomEvent eve) { EnumSpace.EventType ev = eve.type; switch (ev) { case EnumSpace.EventType.Nothing: { Debug.Log("Random event - Nothing"); GenerateButtons(eve); if (CompanionCheck(ev)) { EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = eve.StartMessageWindowHeader; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = eve.StartMessageWindowText; } else { GenerateCloseButton(eve); EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = "Nothing here"; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = "Nothing can be found here. Just rocky desert. You still have " + player.GetComponent <Player>().Resource + " resources."; } break; } case EnumSpace.EventType.Trade: { GenerateButtons(eve); if (CompanionCheck(ev)) { EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = eve.StartMessageWindowHeader; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = eve.StartMessageWindowText; } else { int success = UnityEngine.Random.Range(0, 2); Debug.Log("Random event - Trade"); Debug.Log("Trade result = " + success); if (success == 0) { Debug.Log("Unfortunate trade"); int loss = UnityEngine.Random.Range(1, 3); Debug.Log("You lost " + loss + " resources"); player.GetComponent <Player>().Resource = player.GetComponent <Player>().Resource - loss; Debug.Log("Total resources = " + player.GetComponent <Player>().Resource); GenerateCloseButton(eve); EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = "Unfortunate trade"; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = "You lost " + loss + " resources. And now you have " + player.GetComponent <Player>().Resource + " resources."; } if (success == 1) { Debug.Log("Great trade"); int gain = UnityEngine.Random.Range(1, 3); Debug.Log("You gain " + gain + " resources"); player.GetComponent <Player>().Resource = player.GetComponent <Player>().Resource + gain; Debug.Log("Total resources = " + player.GetComponent <Player>().Resource); GenerateCloseButton(eve); EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = "Great trade"; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = "You gain " + gain + " resources. And now you have " + player.GetComponent <Player>().Resource + " resources."; } } break; } case EnumSpace.EventType.Fight: { GenerateButtons(eve); if (CompanionCheck(ev)) { EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = eve.StartMessageWindowHeader; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = eve.StartMessageWindowText; } else { int success = UnityEngine.Random.Range(0, 2); Debug.Log("Random event - Fight"); Debug.Log("Fight result = " + success); if (success == 0) { Debug.Log("Unfortunate Fight"); int loss = UnityEngine.Random.Range(1, 3); Debug.Log("You lost " + loss + " resources"); player.GetComponent <Player>().Resource = player.GetComponent <Player>().Resource - loss; Debug.Log("Total resources = " + player.GetComponent <Player>().Resource); GenerateCloseButton(eve); EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = "Unfortunate Fight"; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = "You was beaten and robbered. Lost " + loss + " resources. And now you have " + player.GetComponent <Player>().Resource + " resources."; } if (success == 1) { Debug.Log("Great Fight"); int gain = UnityEngine.Random.Range(1, 3); Debug.Log("You gain " + gain + " resources"); player.GetComponent <Player>().Resource = player.GetComponent <Player>().Resource + gain; Debug.Log("Total resources = " + player.GetComponent <Player>().Resource); GenerateCloseButton(eve); EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = "Great Fight"; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = "You win! Bandits flee and left some resources. Gained " + gain + " resources. And now you have " + player.GetComponent <Player>().Resource + " resources."; } } break; } case EnumSpace.EventType.Luck: { Debug.Log("Random event - Luck"); int gain = UnityEngine.Random.Range(1, 3); Debug.Log("You gain " + gain + " resources"); player.GetComponent <Player>().Resource = player.GetComponent <Player>().Resource + gain; Debug.Log("Total resources = " + player.GetComponent <Player>().Resource); GenerateCloseButton(eve); EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = "Luck!"; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = "Even this deserts can provide something useful. Gained " + gain + " resources. And now you have " + player.GetComponent <Player>().Resource + " resources."; UpdateResources(); break; } case EnumSpace.EventType.Misfortune: { Debug.Log("Random event - Misfortune"); int lost = UnityEngine.Random.Range(1, 3); Debug.Log("You lost " + lost + " resources"); player.GetComponent <Player>().Resource = player.GetComponent <Player>().Resource - lost; Debug.Log("Total resources = " + player.GetComponent <Player>().Resource); GenerateCloseButton(eve); EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = "Misfortune!"; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = "This unwelcome land hides a lot of dangers. You lost " + lost + " resources. And now you have " + player.GetComponent <Player>().Resource + " resources."; UpdateResources(); break; } case EnumSpace.EventType.Choice: { Debug.Log("Random event - Choise"); GenerateCloseButton(eve); GameObject Button = Instantiate(Resources.Load("prefab/Button"), new Vector3(0, 0, 0), Quaternion.identity) as GameObject; GameObject tmpButton = Button; tmpButton.transform.SetParent(EventWindow.transform, false); YesNoButtons.Add(tmpButton); tmpButton.GetComponent <Button>().onClick.AddListener(() => BrakeChain()); tmpButton.GetComponentInChildren <Text>().text = "No."; tmpButton.SetActive(true); EventWindow.GetComponent <MessageWindowController>().EventName.GetComponent <TextMeshProUGUI>().text = eve.StartMessageWindowHeader; EventWindow.GetComponent <MessageWindowController>().EventDescription.GetComponent <TextMeshProUGUI>().text = eve.StartMessageWindowText; break; } } }