示例#1
0
    protected Ability GetAbility(AbilityCategory abilityCategory, int abilityId)
    {
        Ability ability = null;

        switch (abilityCategory)
        {
        case AbilityCategory.CharacterAbility:
            ability = CharacterAbilities[abilityId];
            break;

        case AbilityCategory.PassiveCharacterAbility:
            ability = PassiveCharacterAbilities[abilityId];
            break;

        case AbilityCategory.OtherCharacterAbility:
            ability = OtherCharacterAbilities[abilityId];
            break;

        case AbilityCategory.SummonerAbility:
            ability = SummonerAbilities[abilityId];
            break;

        case AbilityCategory.OfflineAbility:
            ability = OfflineAbilities[abilityId];
            break;
        }
        return(ability);
    }
示例#2
0
    public void SetAbilityOnCooldownForRecast(AbilityCategory abilityCategory, int abilityId)
    {
        int id = GetAbilityId(abilityCategory, abilityId);

        abilityImages[id].color = abilityColorOnCooldownForRecast;
        abilityOnCooldownImages[id].fillAmount = 1;
    }
示例#3
0
    public void UpdateAbilityCooldownForRecast(AbilityCategory abilityCategory, int abilityId, float cooldownForRecast, float cooldownRemaining)
    {
        int id = GetAbilityId(abilityCategory, abilityId);

        abilityOnCooldownImages[id].fillAmount = cooldownRemaining / cooldownForRecast;

        SetCooldownText(id, cooldownRemaining);
    }
示例#4
0
    public void SetAbilityOffCooldownForRecast(AbilityCategory abilityCategory, int abilityId)
    {
        int id = GetAbilityId(abilityCategory, abilityId);

        abilityOnCooldownImages[id].fillAmount = 0;
        abilityImages[id].color       = Color.white;
        abilityCooldownTexts[id].text = "";
    }
示例#5
0
 public void DisableAbility(AbilityCategory abilityCategory, int abilityId, bool abilityUsesResource)
 {
     abilityImages[GetAbilityId(abilityCategory, abilityId)].color = abilityColorOnCooldown;
     if (abilityUsesResource)
     {
         UpdateAbilityHasEnoughResource(abilityId, true);
     }
 }
 public void UpdateSelectedUnit(IGameUnit newUnit, AbilityCategory category)
 {
     if (_unit == newUnit && _category == category)
     {
         return;
     }
     _unit     = newUnit;
     _category = category;
 }
示例#7
0
        public UnitSelectAbilityState(IGameBattle gameBattle, IGameUnit unit, AbilityCategory abilityCategory, IUnitAbilitiesWindow selectedUnitAbilitiesWindow, IInputStateFactory inputStateFactory)
        {
            _gameBattle          = gameBattle;
            _unit                = unit;
            _abilityCategory     = abilityCategory;
            _unitAbilitiesWindow = selectedUnitAbilitiesWindow;

            _inputStateFactory = inputStateFactory;
        }
示例#8
0
    protected void ReceiveFromServer_Ability_Recast(AbilityCategory abilityCategory, int abilityId)
    {
        Ability ability = GetAbility(abilityCategory, abilityId);

        if (ability.IsReadyToBeRecasted)
        {
            ability.RecastAbility();
        }
    }
示例#9
0
    protected void ReceiveFromServer_Ability_Unit(AbilityCategory abilityCategory, int abilityId, int unitId, UnitType unitType)
    {
        Ability ability = GetAbility(abilityCategory, abilityId);

        if (AbilityIsCastable(ability))
        {
            UseUnitTargetedAbility(ability, FindTarget(unitId, unitType));
        }
    }
示例#10
0
    protected void ReceiveFromServer_Ability_Destination(AbilityCategory abilityCategory, int abilityId, Vector3 destination)
    {
        Ability ability = GetAbility(abilityCategory, abilityId);

        if (AbilityIsCastable(ability))
        {
            UsePositionTargetedAbility(ability, destination);
        }
    }
示例#11
0
        private static void PlayAnimation(NWGameObject user, AbilityCategory category)
        {
            var animation = GetCastingAnimation(category);

            if (animation != AnimationLooping.Invalid)
            {
                AssignCommand(user, () => ActionPlayAnimation(animation));
            }
        }
示例#12
0
 public void UnblockAbility(AbilityCategory abilityCategory, int abilityId, bool characterHasEnoughResourceToCastAbility)
 {
     if (abilityCategory != AbilityCategory.OfflineAbility && abilityCategory != AbilityCategory.OtherCharacterAbility)
     {
         int id = GetAbilityId(abilityCategory, abilityId);
         abilityImages[id].color = Color.white;
         abilityBlockedObjects[id - 1].SetActive(false);
         UpdateAbilityHasEnoughResource(abilityId, characterHasEnoughResourceToCastAbility);
     }
 }
示例#13
0
    public void LevelUpAbility(AbilityCategory abilityCategory, int abilityId)
    {
        Ability ability = GetAbility(abilityCategory, abilityId);

        ability.LevelUp();
        if (champion.AbilityUIManager)
        {
            champion.AbilityUIManager.LevelUpAbility(ability.ID, ability.AbilityLevel);
        }
    }
示例#14
0
    public void SetAbilityOnCooldown(AbilityCategory abilityCategory, int abilityId, bool abilityIsBlocked)
    {
        int id = GetAbilityId(abilityCategory, abilityId);

        if (abilityIsBlocked)
        {
            abilityBlockedObjects[id - 1].SetActive(false);
        }
        abilityImages[id].color = abilityColorOnCooldown;
        abilityOnCooldownImages[id].fillAmount = 1;
    }
示例#15
0
 public Ability(string _name, string _desc, string _detailDesc, int _skill, string _prereq, CharacterRank _rank, AbilityCategory _category, CharacterAlignment _alignment)
 {
     Name                = _name;
     Description         = _desc;
     detailedDescription = _detailDesc;
     skillCost           = _skill;
     prereqAbilities     = new ArrayList();
     prereqAbilities.Add(_prereq);
     rank      = _rank;
     category  = _category;
     isFeat    = (category == AbilityCategory.Feat) ? true : false;
     alignment = _alignment;
 }
示例#16
0
 public void BlockAbility(AbilityCategory abilityCategory, int abilityId, bool abilityUsesResource)
 {
     if (abilityCategory != AbilityCategory.OfflineAbility && abilityCategory != AbilityCategory.OtherCharacterAbility)
     {
         int id = GetAbilityId(abilityCategory, abilityId);
         abilityImages[id].color = abilityColorOnCooldown;
         abilityBlockedObjects[id - 1].SetActive(true);
         if (abilityUsesResource)
         {
             UpdateAbilityHasEnoughResource(abilityId, true);
         }
     }
 }
示例#17
0
 protected void SetupAbilitiesFromAbilityCategory(Ability[] abilities, AbilityCategory abilityCategory, bool isLocalCharacter)
 {
     for (int i = 0; i < abilities.Length; i++)
     {
         Ability ability = abilities[i];
         ability.OnAbilityUsed     += OnAbilityUsed;
         ability.OnAbilityFinished += OnAbilityFinished;
         if (isLocalCharacter)
         {
             ability.ID = i;
             ability.AbilityCategory = abilityCategory;
         }
     }
 }
示例#18
0
 public Ability(
     string name,
     uint id,
     AbilityCategory category,
     string icon,
     int cooldown,
     bool endsTurn)
 {
     this.Name     = name;
     this.ID       = id;
     this.Category = category;
     this.IconName = icon;
     this.Cooldown = cooldown;
     this.EndsTurn = endsTurn;
 }
示例#19
0
    public void SetAbilityOffCooldown(AbilityCategory abilityCategory, int abilityId, bool abilityUsesResource, bool abilityIsEnabled, bool abilityIsBlocked)
    {
        int id = GetAbilityId(abilityCategory, abilityId);

        abilityOnCooldownImages[id].fillAmount = 0;
        if (abilityIsBlocked)
        {
            BlockAbility(abilityCategory, abilityId, abilityUsesResource);
        }
        else if (abilityIsEnabled)
        {
            abilityImages[id].color = Color.white;
        }
        abilityCooldownTexts[id].text = "";
    }
示例#20
0
    public void OnPressedInputForAbility(AbilityCategory abilityCategory, int abilityId)
    {
        Ability ability = GetAbility(abilityCategory, abilityId);

        if (AbilityIsAvailable(ability))
        {
            if (AbilityIsCastable(ability))
            {
                if (ability is UnitTargeted)
                {
                    Unit hoveredUnit = champion.MouseManager.HoveredUnit;
                    if (hoveredUnit != null && ability.CanBeCast(champion.MouseManager.HoveredUnit))
                    {
                        if (StaticObjects.OnlineMode)
                        {
                            SendToServer_Ability_Unit(abilityCategory, abilityId, hoveredUnit);
                        }
                        else
                        {
                            UseUnitTargetedAbility(ability, hoveredUnit);
                        }
                    }
                }
                else if (ability.CanBeCast(Input.mousePosition))
                {
                    if (StaticObjects.OnlineMode)
                    {
                        SendToServer_Ability_Destination(abilityCategory, abilityId, ability.GetDestination());
                    }
                    else
                    {
                        UsePositionTargetedAbility(ability, ability.GetDestination());
                    }
                }
            }
            else if (ability.IsReadyToBeRecasted)
            {
                if (StaticObjects.OnlineMode)
                {
                    SendToServer_Ability_Recast(abilityCategory, abilityId);
                }
                else
                {
                    ability.RecastAbility();
                }
            }
        }
    }
示例#21
0
        private EasyuiTreeNode GetChilds(AbilityCategory category, IEnumerable <AbilityCategory> all,
                                         int selected)
        {
            IEnumerable <AbilityCategory> list = all.Where(p => p.parentId == category.CategoryId);
            var cate = new EasyuiTreeNode {
                id = category.CategoryId.ToString(), text = category.CategoryName
            };

            if (category.CategoryId == selected)
            {
                cate.selected = true;
            }
            foreach (AbilityCategory courseCategory in list)
            {
                cate.children.Add(GetChilds(courseCategory, all, selected));
            }
            return(cate);
        }
示例#22
0
    private int GetAbilityId(AbilityCategory abilityCategory, int abilityId)
    {
        int id = abilityId;

        if (abilityCategory == AbilityCategory.CharacterAbility)
        {
            id += 1;
        }
        else if (abilityCategory == AbilityCategory.SummonerAbility)
        {
            id += 5;
        }
        else if (abilityCategory == AbilityCategory.OtherCharacterAbility)
        {
            id += 7;
        }
        return(id);
    }
示例#23
0
        private static AnimationLooping GetCastingAnimation(AbilityCategory category)
        {
            switch (category)
            {
            case AbilityCategory.Spell:
                return(AnimationLooping.Conjure1);

            case AbilityCategory.Combat:
                return(AnimationLooping.Invalid);

            case AbilityCategory.Queued:
                return(AnimationLooping.Invalid);

            case AbilityCategory.Stance:
                return(AnimationLooping.Invalid);

            default:
                return(AnimationLooping.Invalid);
            }
        }
示例#24
0
        public ActionResult EditAbilityCategory(int categoryId, int parentId = 0)
        {
            AbilityCategory model;

            ViewBag.parentId = parentId;

            if (categoryId > 0)
            {
                model = _abilityCategoryManager.GetAbilityCategory(categoryId);
            }
            else
            {
                model          = new AbilityCategory();
                model.parentId = parentId;
            }

            var parent = _abilityCategoryManager.GetAbilityCategory(parentId);

            ViewBag.parentName = parent == null ? CurrentTenant.TenantName : parent.CategoryName;

            return(View(model));
        }
示例#25
0
 public IInputState ResolveUnitSelectAbilityState(IGameUnit unit, AbilityCategory category)
 {
     return(new UnitSelectAbilityState(_gameBattle, unit, category, _unitAbilitiesWindow, this));
 }
示例#26
0
 protected void SendToServer_Ability_Recast(AbilityCategory abilityCategory, int abilityId)
 {
     champion.PhotonView.RPC("ReceiveFromServer_Ability_Recast", PhotonTargets.AllViaServer, abilityCategory, abilityId);
 }
示例#27
0
 public void SetAbilitySprite(AbilityCategory abilityCategory, int abilityId, Sprite abilitySprite)
 {
     abilityImages[GetAbilityId(abilityCategory, abilityId)].sprite = abilitySprite;
 }
示例#28
0
 protected void ResetCooldownsForAbilitiesFromAbilityCategory(Ability[] abilities, AbilityCategory abilityCategory)
 {
     for (int i = 0; i < abilities.Length; i++)
     {
         GetAbility(abilityCategory, i).ResetCooldown();
     }
 }
示例#29
0
 public void EnableAbility(AbilityCategory abilityCategory, int abilityId, bool characterHasEnoughResourceToCastAbility)
 {
     abilityImages[GetAbilityId(abilityCategory, abilityId)].color = Color.white;
     UpdateAbilityHasEnoughResource(abilityId, characterHasEnoughResourceToCastAbility);
 }
示例#30
0
        public static void Seed(InteractiveCvContext context)
        {
            // Look for any Person.
            if (context.Person.Any())
            {
                return;   // DB has been seeded
            }

            var person = new Person {
                Name = "Full Name", Birthday = DateTime.Parse("1986-03-14"), AboutMe = "About me text", Location = "City, Country", EmailAddress = "Emailaddress"
            };

            context.Person.Add(person);
            context.SaveChanges();

            var education = new PersonEducation {
                PersonID = 1, SchoolName = "School Name", Course = "Course Title", Description = "Course Description", Location = "City, Country", StartDate = DateTime.Parse("2010-09-01"), EndDate = DateTime.Parse("2013-6-30")
            };

            context.PersonEducation.Add(education);
            context.SaveChanges();

            var experience = new PersonExperience {
                PersonID = 1, CompanyName = "Company Name", Function = "Function Title", Location = "City, Country", StartDate = DateTime.Parse("2013-09-01"), EndDate = DateTime.Parse("2015-6-30"), WebsiteUrl = "www.company.be", Description = "Function Description"
            };

            context.PersonExperience.Add(experience);
            context.SaveChanges();

            var categories = new AbilityCategory[]
            {
                new AbilityCategory {
                    Description = "Skills"
                },
                new AbilityCategory {
                    Description = "Tools"
                }
            };

            foreach (AbilityCategory c in categories)
            {
                context.AbilityCategory.Add(c);
            }
            context.SaveChanges();

            var abilities = new PersonAbility[]
            {
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 1, Description = "SQL", Score = 3
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 1, Description = "C#", Score = 4
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 1, Description = "HTML(5)", Score = 3
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 1, Description = "CSS", Score = 3
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 1, Description = "Java", Score = 3
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 1, Description = "Bootstrap Framework", Score = 2
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 2, Description = "Visual Studio", Score = 3
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 2, Description = "GitHub", Score = 2
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 2, Description = "Microsoft Office", Score = 3
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 2, Description = "SQL Server", Score = 2
                },
                new PersonAbility {
                    PersonID = 1, AbilityCategoryID = 2, Description = "Windows Powershell", Score = 2
                }
            };

            foreach (PersonAbility p in abilities)
            {
                context.PersonAbility.Add(p);
            }
            context.SaveChanges();
        }