示例#1
0
 public SaveData()
 {
     time               = Time.time;
     goldData           = GameManager.Ctx.GoldManager.OnSave() as GoldData;
     EnemyCastleHealth  = GameManager.Ctx.EnemyCastle.Health;
     PlayerCastleHealth = GameManager.Ctx.PlayerCastle.Health;
     minionListSaveData = GameManager.Ctx.MinionsManager.OnSave() as MinionListSaveData;
 }
示例#2
0
 protected override void OnAwake()
 {
     _goldData       = new GoldData();
     _jsonLoader     = new JsonLoader();
     _userData       = _jsonLoader.Load();
     _goldData._Gold = _userData._Gold;
     _goldData.OnGoldChangedEvent += Save;
 }
示例#3
0
        private void Reward()
        {
            GoldData goldDataI   = GetContext().goldItems[SlotIndex.I].data;
            GoldData goldDataII  = GetContext().goldItems[SlotIndex.II].data;
            GoldData goldDataIII = GetContext().goldItems[SlotIndex.III].data;

            int value = 0;

            if (goldDataI.value == goldDataII.value)
            {
                if (goldDataII.value == goldDataIII.value)
                {
                    GetContext().goldItems[SlotIndex.I].winImg.gameObject.SetActive(true);
                    GetContext().goldItems[SlotIndex.II].winImg.gameObject.SetActive(true);
                    GetContext().goldItems[SlotIndex.III].winImg.gameObject.SetActive(true);

                    value = goldDataI.value * 2;

                    EventBox.Send(CustomEvent.TROPHY_UPDATE, new KeyValuePair <TrophyType, float>(TrophyType.GoldHit, 3));
                }
                else
                {
                    GetContext().goldItems[SlotIndex.I].winImg.gameObject.SetActive(true);
                    GetContext().goldItems[SlotIndex.II].winImg.gameObject.SetActive(true);

                    value = goldDataI.value;
                }
            }
            else
            {
                if (goldDataII.value == goldDataIII.value)
                {
                    GetContext().goldItems[SlotIndex.II].winImg.gameObject.SetActive(true);
                    GetContext().goldItems[SlotIndex.III].winImg.gameObject.SetActive(true);

                    value = goldDataIII.value;
                }
                else
                {
                    if (goldDataI.value == goldDataIII.value)
                    {
                        GetContext().goldItems[SlotIndex.I].winImg.gameObject.SetActive(true);
                        GetContext().goldItems[SlotIndex.III].winImg.gameObject.SetActive(true);

                        value = goldDataIII.value;
                    }
                    else
                    {
                        value = 1;
                    }
                }
            }

            int currentRP = int.Parse(GetContext().valueLab.text);
            int currentGP = (int)(currentRP * 0.05 * value);

            GetContext().valueLab.text = currentGP.ToString();
        }
示例#4
0
    public void SpawnGold(int amount)
    {
        //Calling on enityService to create a new ID
        int entityId = _entityService.GetNewEntityId();

        //Creating a new piece of GoldData and assigning it an amount and ID
        GoldData goldData = new GoldData();

        goldData.Amount   = amount;
        goldData.EntityId = entityId;
        //adding this new gold to the List of gold in current Model
        _gold.Add(goldData);

        //creating a new spawn gold message and assgining the same amount and ID
        var message = new SpawnGoldMessage();

        message.Amount   = amount;              //do we need to pass the amount in the message
        message.EntityId = entityId;
        //sending out messsage
        _messageRouter.RaiseMessage(message);
    }
示例#5
0
        void Awake()
        {
            goldItems = new Dictionary <SlotIndex, GoldItemRenderer>();

            foreach (SlotIndex index in Enum.GetValues(typeof(SlotIndex)))
            {
                if (index != SlotIndex.None && index != SlotIndex.Count)
                {
                    GoldData goldData = new GoldData();
                    goldData.index = index;
                    GoldItemRenderer itemRenderer = ResourceUtils.GetComponent <GoldItemRenderer>(GoldItemRenderer.PREFAB_PATH);
                    itemRenderer.Initialize(goldData);
                    itemRenderer.transform.SetParent(itemGrid.transform);
                    goldItems.Add(index, itemRenderer);
                }
            }

            itemGrid.Reposition();

            machine = new StateMachine <GoldWindow>(this, new IdleState());
            machine.AddState(new StartState());
            machine.AddState(new StopState());
        }
        public void Initialize(GoldData data)
        {
            this.data = data;

            Refresh();
        }