Beispiel #1
0
        private void UpdateDataAfterNight()
        {
            foreach (NightRobberyData nightRobDat in m_robberies)
            {
                DataScript.EData.PoliceKnowledge++;
                DataScript.SData.Money += nightRobDat.Money;
                foreach (int itemNum in nightRobDat.Awards.Keys)
                {
                    DataScript.SData.ItemsCount[itemNum] += nightRobDat.Awards[itemNum];
                }

                foreach (Character character in nightRobDat.Robbery.Characters)
                {
                    if (character.Stats.Health <= 0)
                    {
                        character.AddToHospital();
                    }
                    character.SetDefaultStatus();
                }
                UIManager.robberyWindow.RemoveAllItemsFromRoobbery(nightRobDat.Robbery.RobberyType, nightRobDat.Robbery.LocationNum);
            }
            m_robberies.Clear();
            NightEventsOptions.ClearUsedEvents();
            //todo: delete
            RobberiesOptions.GetNewRobberies();
        }
        private void ShowNode(NightEventNode eventNode)
        {
            Choice = -1;

            Button0.gameObject.SetActive(false);
            Button1.gameObject.SetActive(false);


            AwardsAndMoney.gameObject.SetActive(false);

            TitleText.text       = eventNode.TitleText;
            DescriptionText.text = eventNode.Description;
            Image.sprite         = NightEventsOptions.GetNightEventSprite(eventNode.SpriteType, eventNode.SpriteId, eventNode.CharSpriteType);

            if (eventNode.Buttons.Count > 0)
            {
                Button0.onClick.RemoveAllListeners();
                Button0.onClick.AddListener(() => { Night.Instance.MakeChoice(0); });
                Button0.onClick.AddListener(CloseWindow);
                Button0Text.text = eventNode.Buttons[0].ButtonText;
                Button0.gameObject.SetActive(true);
            }
            if (eventNode.Buttons.Count > 1)
            {
                Button1.onClick.RemoveAllListeners();
                Button1.onClick.AddListener(() => { Night.Instance.MakeChoice(1); });
                Button1.onClick.AddListener(CloseWindow);
                Button1Text.text = eventNode.Buttons[1].ButtonText;
                Button1.gameObject.SetActive(true);
            }

            gameObject.transform.SetAsLastSibling();
            gameObject.SetActive(true);
        }
 //Constructor
 public NightRobberyData(Robbery robbery)
 {
     this.m_robbery    = robbery;
     nightEvent        = NightEventsOptions.GetRandomEvent(robbery.RobberyType);
     m_eventStatus     = EventStatus.InProgress;
     m_chance          = RobberiesOptions.CalculatePreliminaryChance(robbery);
     m_policeChance    = Random.Range(0, 51);
     m_hospitalChance  = Random.Range(0, 51);
     m_money           = RobberiesOptions.GetRobberyMoneyRewardAtTheCurrentMoment(robbery.RobberyType);
     m_awards          = RobberiesOptions.GetRobberyAwardsAtTheCurrentMoment(robbery.RobberyType);
     m_policeKnowledge = 1;
 }
 public void Initialize()
 {
     m_instance = GetComponent <NightEventsOptions>();
     m_nightEventsCollection = NightEventsSerialization.GetNightEventsCollection();
     m_usedEvents            = new Dictionary <RobberyType, List <int> >();
 }