示例#1
0
    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;
         *      }
         * }*/
    }
示例#2
0
    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;
        }
        }
    }