public void GetByID_OneItem_ReturnsPerkCategory()
        {
            // Arrange
            PerkCategory entity = new PerkCategory {
                ID = 1
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <PerkCategory>(entity));

            // Assert
            Assert.AreNotSame(entity, _cache.GetByID(1));
        }
    private void CreatePerkGroupOverview(PerkCategory cat, List <Perk> perks)
    {
        int j = 0;

        for (int i = 0; i < perks.Count; i++)
        {
            if (i % columnCount == 0)
            {
                j++;
            }

            //Create a new Perk from the PerkPrefab
            GameObject newPerk = Instantiate(PerkPrefab) as GameObject;
            newPerk.name = perks[i].GetName();
            newPerk.transform.SetParent(gameObject.transform);

            //Load the Image
            Image[] images = newPerk.GetComponents <Image>();
            images[0].sprite = Resources.Load <Sprite>(perks[i].GetImage());

            //Add the Specific Perk script to the object
            newPerk.AddComponent(perks[i].GetType());

            if (PerkProperties.HasPerkActivated(currentPlayer, newPerk.GetComponent <Perk>()))
            {
                newPerk.GetComponent <Perk>().SetActivated(true);
                SetOriginalColor(newPerk);
            }

            //Highlight the first Perk
            if (ActivePerk == null)
            {
                ActivePerk = newPerk;
                HighlightPerk(ActivePerk);
            }

            //Move the new Perk to the desired location
            RectTransform rectTransform = newPerk.GetComponent <RectTransform>();
            float         x             = -containerRectTransform.rect.width / 2 + width * (i % columnCount) + width * 0.1f + startPos;
            float         y             = containerRectTransform.rect.height / 2 - height * j + height * 0.1f;
            rectTransform.offsetMin = new Vector2(x, y);

            x = rectTransform.offsetMin.x + width - width * 0.1f;
            y = rectTransform.offsetMin.y + height - height * 0.1f;
            rectTransform.offsetMax = new Vector2(x, y);

            PerksGameObjects.Add(newPerk);
        }
    }
Esempio n. 3
0
 public Perk(string name, string description, int inheritIDs, float x, float y, PerkCategory category, float size, int levelRequirement, OnApply applyMethods)
 {
     this.name = name;
     this.originalDescription = description;
     unlockPath    = new int[] { inheritIDs };
     posX          = x;
     posY          = y;
     this.category = category;
     scale         = size;
     uncapped      = false;
     levelReq      = levelRequirement;
     apply         = applyMethods;
     id            = PerkDatabase.perks.Count;
     isApplied     = false;
     PerkDatabase.perks.Add(this);
 }
Esempio n. 4
0
 public Perk(string name, string description, int inheritIDs, float x, float y, PerkCategory category, float size, int levelRequirement, OnApply applyMethods, OnDisable disableMethods)
 {
     Name             = name;
     Description      = description;
     InheritIDs       = new int[] { inheritIDs };
     PosOffsetX       = x;
     PosOffsetY       = y;
     Category         = category;
     Size             = size;
     Endless          = false;
     LevelRequirement = levelRequirement;
     ApplyMethods     = applyMethods;
     DisableMethods   = disableMethods;
     ID      = AllPerks.Count;
     Applied = false;
     AllPerks.Add(this);
 }
        public void GetByID_TwoItems_ReturnsCorrectObject()
        {
            // Arrange
            PerkCategory entity1 = new PerkCategory {
                ID = 1
            };
            PerkCategory entity2 = new PerkCategory {
                ID = 2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <PerkCategory>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <PerkCategory>(entity2));

            // Assert
            Assert.AreNotSame(entity1, _cache.GetByID(1));
            Assert.AreNotSame(entity2, _cache.GetByID(2));
        }
        public void GetByID_RemovedItem_ReturnsCorrectObject()
        {
            // Arrange
            PerkCategory entity1 = new PerkCategory {
                ID = 1
            };
            PerkCategory entity2 = new PerkCategory {
                ID = 2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <PerkCategory>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <PerkCategory>(entity2));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <PerkCategory>(entity1));

            // Assert
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(1); });
            Assert.AreNotSame(entity2, _cache.GetByID(2));
        }
        public void GetByID_NoItems_ThrowsKeyNotFoundException()
        {
            // Arrange
            PerkCategory entity1 = new PerkCategory {
                ID = 1
            };
            PerkCategory entity2 = new PerkCategory {
                ID = 2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <PerkCategory>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <PerkCategory>(entity2));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <PerkCategory>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <PerkCategory>(entity2));

            // Assert
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(1); });
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(2); });
        }
Esempio n. 8
0
 public Perk(string name, string image, PerkCategory category)
 {
     this.perkName = name;
     this.image    = image;
     this.category = category;
 }
Esempio n. 9
0
    public void CheckStatus()
    {
        switch (type)
        {
        case PerkType.NONE_AXE:
            _category = PerkCategory.AXE;
            _perkName = PerkManager.axe_none_name;
            _perkDesc = PerkManager.axe_none_desc;
            unlocked  = true;
            break;

        case PerkType.NONE_HAT:
            _category = PerkCategory.NONE_HAT;
            _perkName = PerkManager.hat_none_name;
            _perkDesc = PerkManager.hat_none_desc;
            unlocked  = true;
            break;

        case PerkType.AXE_DTVAMPIRISM:
            _category = PerkCategory.AXE;
            _perkDesc = PerkManager.axe_dtVampirism_desc;
            _perkName = PerkManager.axe_dtVampirism_name;
            unlocked  = PerkManager.axe_dtVampirism_unlocked;
            break;

        case PerkType.AXE_BFA:
            _category = PerkCategory.AXE;
            _perkDesc = PerkManager.axe_bfa_desc;
            _perkName = PerkManager.axe_bfa_name;
            unlocked  = PerkManager.axe_bfa_unlocked;
            if (!unlocked)
            {
                PerkManager.axe_bfa_to_be_unlocked = true;
            }
            break;

        case PerkType.AXE_SLUGGER:
            _category = PerkCategory.AXE;
            _perkDesc = PerkManager.axe_slugger_desc;
            _perkName = PerkManager.axe_slugger_name;
            unlocked  = PerkManager.axe_slugger_unlocked;
            if (!unlocked)
            {
                PerkManager.axe_slugger_to_be_unlocked = true;
            }
            break;

        case PerkType.HAT_BEARHANDS:
            _category = PerkCategory.HAT;
            _perkDesc = PerkManager.hat_bearHands_desc;
            _perkName = PerkManager.hat_bearHands_name;
            unlocked  = PerkManager.hat_bearHands_unlocked;
            if (!unlocked)
            {
                PerkManager.hat_bearHands_to_be_unlocked = true;
            }
            break;

        case PerkType.TRINKET_AGGRESSIONBUDDY:
            _category = PerkCategory.TRINKET;
            _perkDesc = PerkManager.trinket_agressionBuddy_desc;
            _perkName = PerkManager.trinket_agressionBuddy_name;
            unlocked  = PerkManager.trinket_agressionBuddy_unlocked;
            break;

        case PerkType.TRINKET_MARY_TODDS_LOCKETTE:
            _category = PerkCategory.TRINKET;
            _perkDesc = PerkManager.trinket_maryToddsLockette_desc;
            _perkName = PerkManager.trinket_maryToddsLockette_name;
            unlocked  = PerkManager.trinket_maryToddsLockette_unlocked;
            if (!unlocked)
            {
                PerkManager.trinket_maryToddsLockette_to_be_unlocked = true;
            }
            break;

        case PerkType.HAT_STICKYFINGERS:
            _category = PerkCategory.HAT;
            _perkDesc = PerkManager.hat_stickyFingers_desc;
            _perkName = PerkManager.hat_stickyFingers_name;
            unlocked  = PerkManager.hat_stickyFingers_unlocked;
            break;

        default:
            break;
        }

        if (!unlocked)
        {
            if (GetComponent <LockedPerk>())
            {
                GetComponent <LockedPerk>().Lock();
                if (type == PerkType.AXE_BFA)
                {
                    _perkDesc = PerkManager.axe_bfa_lock_desc;
                }
                else if (type == PerkType.AXE_DTVAMPIRISM)
                {
                    _perkDesc = PerkManager.axe_dtVampirism_lock_desc;
                }
                else if (type == PerkType.AXE_SLUGGER)
                {
                    _perkDesc = PerkManager.axe_slugger_lock_desc;
                }
                else if (type == PerkType.HAT_BEARHANDS)
                {
                    _perkDesc = PerkManager.hat_bearHands_lock_desc;
                }
                else if (type == PerkType.HAT_STICKYFINGERS)
                {
                    _perkDesc = PerkManager.hat_stickyFingers_lock_desc;
                }
                else if (type == PerkType.NONE_AXE)
                {
                    _perkDesc = PerkManager.axe_none_lock_desc;
                }
                else if (type == PerkType.NONE_HAT)
                {
                    _perkDesc = PerkManager.hat_none_lock_desc;
                }
                else if (type == PerkType.TRINKET_AGGRESSIONBUDDY)
                {
                    _perkDesc = PerkManager.trinket_agressionBuddy_lock_desc;
                }
                else if (type == PerkType.TRINKET_MARY_TODDS_LOCKETTE)
                {
                    _perkDesc = PerkManager.trinket_maryToddsLockette_lock_desc;
                }
            }
            else
            {
                gameObject.SetActive(false);
            }
        }

        alreadyActive = false;
    }