コード例 #1
0
    public void UpdateSkills(CharacterSkills skills)
    {
        // Remove skill slots
        foreach (SkillSlot slot in slots)
        {
            Destroy(slot.gameObject);
        }
        slots.Clear();

        // Add skill slots
        foreach (Skill skill in skills.Skills)
        {
            GameObject slot;

            if (skill is MagicSkill)
            {
                slot = Instantiate(skillSlotPrefab, magicSkillsPanel);
            }
            else
            {
                slot = Instantiate(skillSlotPrefab, weaponSkillsPanel);
            }

            SkillSlot skillSlot = slot.GetComponent <SkillSlot>();
            skillSlot.Skill = skill;
            if (skills.GetActiveSkills().Contains(skill))
            {
                skillSlot.IsActive = true;
            }

            slots.Add(skillSlot);
        }
    }
コード例 #2
0
    public bool SetSkill(CharacterSkills skill, bool value, out bool pointRelatedIssue)
    {
        bool result =
            (value) ?
            characterCreation.TryDecreasingStatPoints(SkillCost, out pointRelatedIssue) :
            characterCreation.IncreaseStatPoints(SkillCost, out pointRelatedIssue);

        if (result)
        {
            if (!Skills.ContainsKey(skill))
            {
                Skills.Add(skill, value);
            }
            else
            {
                Skills[skill] = value;
            }
        }

        characterCreation.Skills = GetSkills();

        //pointRelatedIssue = !pointRelatedIssue;

        return(result);
    }
コード例 #3
0
    /// <summary>
    /// Used for AI character deserialization.
    /// </summary>
    /// <param name="data"></param>
    /// <returns></returns>
    private static CharacterData DataToAICData(JArray data)
    {
        CharacterData   cData   = new CharacterData();
        CharacterStats  cStats  = new CharacterStats();
        CharacterSkills cSkills = new CharacterSkills();

        if (data[0] == null)
        {
            return(cData);
        }

        string dataStr = data[0].ToString();

        JsonConvert.PopulateObject(dataStr, cData);
        JsonConvert.PopulateObject(dataStr, cStats);

        // JSON from backend is in an array. It is size 1 for most fetch methods.
        // We get the 1st index and then skills_json object from the json.
        // The string of the object is taken and deserialized into an dictionary to use in
        // cSkills.
        cSkills.skillMap = StringToDictionary(data[0]["skills_json"]);

        cData.stats  = cStats;
        cData.skills = cSkills;
        return(cData);
    }
        static bool Prefix(CharacterObject __instance, CharacterSkills ____characterSkills, ref int __result, SkillObject skill)
        {
            int focus = __instance.HeroObject.HeroDeveloper.GetFocus(skill);
            int attr  = __instance.HeroObject.GetAttributeValue(skill.CharacterAttributesEnum);

            __result = (int)(____characterSkills.GetPropertyValue(skill) + focus * Reworked_SkillsSubModule.__FOCUS_VALUE + attr * Reworked_SkillsSubModule.__ATTR_VALUE);
            return(false);
        }
コード例 #5
0
 void Start()
 {
     cs            = FindObjectOfType <CharacterSkills>();
     rb            = GetComponent <Rigidbody>();
     normalGravity = gravity;
     nightmareCollider.gameObject.SetActive(false);
     rb.MovePosition(GameManager.instance.gameStartPoint.position);
 }
コード例 #6
0
 public Character(int level, string characterClass,
                  string ascendancy, Summary summary, CharacterSkills skills)
 {
     Level      = level;
     Class      = characterClass;
     Ascendancy = ascendancy;
     Summary    = summary;
     Skills     = skills;
 }
コード例 #7
0
        private List <Character> LoadFromFile()
        {
            if (!File.Exists(_filename))
            {
                return(new List <Character>());
            }

            List <Character> listCha = new List <Character>();

            XmlDocument doc = new XmlDocument();

            doc.Load(_filename);

            //get inventories
            XmlNode characters = doc.GetElementsByTagName("characters").Item(0);

            //Pour chaque inventaire
            foreach (XmlElement character in characters.ChildNodes)
            {
                if (!ulong.TryParse(character.GetAttribute("id"), out ulong id))
                {
                    //Pas d'id, on stop le chargement de ce personnage
                    break;
                }

                int.TryParse(character.GetAttribute("level"), out int level);
                int.TryParse(character.GetAttribute("experience"), out int experience);
                int.TryParse(character.GetAttribute("energy"), out int energy);
                int.TryParse(character.GetAttribute("maxEnergy"), out int maxEnergy);
                int.TryParse(character.GetAttribute("locationX"), out int locationX);
                int.TryParse(character.GetAttribute("locationY"), out int locationY);


                Character cha = new Character
                {
                    Id               = id,
                    Energy           = energy,
                    MaxEnergy        = maxEnergy,
                    Level            = level,
                    Experience       = experience,
                    Location         = new Models.MMap.Location(locationX, locationY),
                    Name             = character.GetAttribute("name"),
                    OriginRegionName = character.GetAttribute("originRegionName"),
                    Profession       = (Profession)Enum.Parse(typeof(Profession), character.GetAttribute("profession")),
                    Sex              = (Sex)Enum.Parse(typeof(Sex), character.GetAttribute("sex")),
                    TrueName         = character.GetAttribute("trueName"),
                    VillageName      = character.GetAttribute("villageName"),
                    Stats            = CharacterStats.Deserialize((XmlElement)character.ChildNodes[0]),
                    Skills           = CharacterSkills.Deserialize((XmlElement)character.ChildNodes[1])
                };
                listCha.Add(cha);
            }

            return(listCha);
        }
コード例 #8
0
    public void SetSkillPossessedCondition(CharacterSkills skill, bool doWeWantTheSkill)
    {
        conditionTypeSet = ConditionTypes.SkillPossessed;

        if (skillPossessedCondition == null)
        {
            skillPossessedCondition = new SkillPossessedCondition();
        }

        skillPossessedCondition.IsNeeded     = doWeWantTheSkill;
        skillPossessedCondition.SkillToCheck = skill;
    }
コード例 #9
0
    public void SetAttributeTestCondition(CharacterAttribute stat, int mod, CharacterSkills skill)
    {
        conditionTypeSet = ConditionTypes.AttributeTest;

        if (attributeTestCondition == null)
        {
            attributeTestCondition = new AttributeTestCondition();
        }

        attributeTestCondition.AttributeMod = mod;
        attributeTestCondition.Attribute    = stat;
        attributeTestCondition.Skill        = skill;
    }
コード例 #10
0
        public SkillComponent(IEntity entity, IEnumerable <CharacterSkillDto> skills) : this(entity)
        {
            if (skills == null)
            {
                return;
            }

            foreach (CharacterSkillDto characterSkill in skills)
            {
                CharacterSkills.Add(characterSkill.Id, characterSkill);
                this.AddSkill(characterSkill.Skill);
            }
        }
コード例 #11
0
        public static void CSSetEquip(Hero hero, int tier)
        {
            SkillObject HBestSkill1; SkillObject HBestSkill2; SkillObject HBestSkill3;
            Dictionary <SkillObject, int> HeroSkills = new Dictionary <SkillObject, int>();
            CharacterSkills skills = (CharacterSkills)AccessTools.Field(typeof(Hero), "_heroSkills").GetValue(hero);
            //hero.GetHeroSkills();

            /*
             *          foreach (SkillObject skill in (from s in SkillObject.All
             *                                         where s.IsPersonalSkill
             *                                         group s by s.CharacterAttribute.Id).SelectMany((IGrouping<MBGUID, SkillObject> s) => s).ToList<SkillObject>())
             *          {
             *              HeroSkills.Add(skill, skills.GetPropertyValue(skill)); //Add All the heros personal skills
             *          }
             *          HeroSkills.OrderByDescending(x => x.Value);//Sorts dictionary by highest skills
             *          foreach (SkillObject skill in HeroSkills.Keys)
             *          {
             *
             *          }
             *          List<CharacterObject> CharOptions = (from y in CharacterObject.All //Gets all possible troop options
             *                                               where y.Tier == tier && y.Culture.StringId == hero.Culture.StringId && !y.IsHero
             *                                               select y).ToList();
             *          CharOptions.Shuffle<CharacterObject>(); //shuffling to make it so there is still some possiblity of random. So x Cultue + x skill combo doesn't always get same
             *          CharacterObject IdealTroop = null;
             *          float ratio1 = 0; float ratio2 = 0; float ratio3 = 0; float ratiocur;
             *
             *
             *          foreach (CharacterObject character in CharOptions) //Loop them and figure out which is the best option
             *          {
             *              Dictionary<SkillObject, int> troopskills = new Dictionary<SkillObject, int>();
             *              foreach (SkillObject troopskill in (from t in SkillObject.
             *                                                  where t.IsPersonalSkill
             *                                                  group t by t.CharacterAttribute.Id).SelectMany((IGrouping<MBGUID, SkillObject> t) => t).ToList<SkillObject>())
             *              {
             *                  troopskills.Add(troopskill, character.GetSkillValue(troopskill));
             *              }
             *
             */

            CharacterObject IdealTroop = null;

            if (IdealTroop == null) //Fall back if idea troop logic fails
            {
                IdealTroop = (from y in CharacterObject.All
                              where y.Tier == tier && y.Culture.StringId == hero.Culture.StringId && !y.IsHero
                              select y).GetRandomElementInefficiently <CharacterObject>();
            }
            Equipment equipment = IdealTroop.Equipment;

            hero.BattleEquipment.FillFrom(equipment);
        }
コード例 #12
0
    bool DrawPlayerSkillField(CharacterSkills prevSkill, int labelWidth, out CharacterSkills skill)
    {
        bool result = false;

        GUILayout.BeginHorizontal();
        {
            EditorGUILayout.PrefixLabel("Skill" /*, GUILayout.Width(labelWidth)*/);
            skill = (CharacterSkills)EditorGUILayout.EnumPopup(prevSkill);

            result |= prevSkill != skill;
        }
        GUILayout.EndHorizontal();

        return(result);
    }
コード例 #13
0
 public override void Interact()
 {
     if (EquipmentManager.instance.getEquip()[(int)EquipmentType.Weapon] != null)
     {
         if (EquipmentManager.instance.getEquip()[(int)EquipmentType.Weapon].isAxe)
         {
             playerInteract  = player.transform.gameObject;
             characterSkills = playerInteract.GetComponent <CharacterSkills>();
             if (characterSkills != null)
             {
                 characterSkills.Hit(this);
             }
             Debug.Log("Interacted " + characterSkills);
         }
     }
 }
コード例 #14
0
    public static string ToString(this CharacterSkills skill, bool value)
    {
        switch (skill)
        {
        case CharacterSkills.Lockpicks:
            return("Lockpicks");

        case CharacterSkills.Pickpocketing:
            return("Pickpocketing");

        case CharacterSkills.Melee:
            return("Melee");
        }

        throw new System.ArgumentOutOfRangeException();
    }
コード例 #15
0
        public override void Execute(Character caller, string[] args)
        {
            if (args.Length < 1)
            {
                ShowSyntax(caller);
            }
            else
            {
                int  amount = 0;
                bool isAmountSpecified;

                if (args.Length > 1)
                {
                    isAmountSpecified = int.TryParse(args[args.Length - 1], out amount);
                }
                else
                {
                    isAmountSpecified = false;
                }

                if (amount < 1)
                {
                    amount = 1;
                }

                int skillID = -1;

                try
                {
                    skillID = int.Parse(args[0]);
                }
                catch (FormatException)
                {
                    // TODO: Fetch from strings.
                }

                Skill  skillToSummonFrom = CharacterSkills.GetNewSkillFromInt(skillID);
                Summon summon            = Summon.GetNewSummonFromSkill(skillToSummonFrom);

                // TODO: disperse multiple spawn, they are called with identical position thus overlap
                for (int i = 0; i < amount; i++)
                {
                    caller.Map.Summons.Add(summon);
                }
            }
        }
コード例 #16
0
        void cl_SetSkills(List <int> aCharacterSkills, List <int> aSkilldeckSkills)
        {
            var i = 0;

            while (i < aCharacterSkills.Count)
            {
                var skillResource = SBDBSync.GetResourceObject <FSkill_Type>(aCharacterSkills[i]);
                if (skillResource == null)
                {
                    throw new Exception("Skill not found: " + aCharacterSkills[i]);
                }
                CharacterSkills.Add(skillResource);
                ++i;
            }
            cl_UpdateSkilldeckSkills(aSkilldeckSkills);
            //OnCharacterSkillsChanged();
        }
コード例 #17
0
        private void AddCharacterSkills(CharacterSkills skills)
        {
            int counter = 0;

            foreach (SkillTab skillTab in skills.SkillTabs)
            {
                counter++;
                string name = "Perks (should not be displayed in Singleplayer)";
                switch (counter)
                {
                case 1:
                    name = "Skill Page 1";
                    break;

                case 2:
                    name = "Skill Page 2";
                    break;

                case 3:
                    name = "Skill Page 3";
                    break;
                }

                TreeNode node = new TreeNode(name);

                foreach (Skill skill in skillTab.Skills)
                {
                    TreeNode subNode = new TreeNode(skill.Name);
                    subNode.ForeColor = Color.Red;
                    subNode.Nodes.Add("ID: " + skill.SkillID);
                    subNode.Nodes.Add("Learned: " + skill.Learned);
                    subNode.Nodes.Add("Level: " + skill.CurrentLevel + "/" + skill.MaxLevel);
                    subNode.Nodes.Add("Description: " + skill.Description);
                    subNode.Nodes.Add("Position: " + skill.Position.X + "," + skill.Position.Y);
                    subNode.Nodes.Add("Icon name: " + skill.IconName);
                    subNode.Nodes.Add("Required skill (ID): " + (skill.RequiredSkills.Length > 0 ? skill.RequiredSkills[0].ToString() : "none"));
                    subNode.Nodes.Add("Required skill (level): " + (skill.LevelsOfRequiredSkills.Length > 0 ? skill.LevelsOfRequiredSkills[0].ToString() : "none"));

                    node.Nodes.Add(subNode);
                }

                treeViewSkills.Nodes.Add(node);
            }
        }
コード例 #18
0
    // Use this for initialization
    protected virtual void Start()
    {
        agent    = GetComponent <NavMeshAgent>();
        animator = GetComponentInChildren <Animator>();
        combat   = GetComponent <CharacterCombat>();
        skills   = GetComponent <CharacterSkills>();

        // Allows us to swap animator with other clips (depending on what weapon)
        if (overrideController == null)
        {
            overrideController = new AnimatorOverrideController(animator.runtimeAnimatorController);
        }

        animator.runtimeAnimatorController = overrideController;
        //  Example : overrideController["Punch"] = "Sword"

        currentAttackAnimSet = defaultAttackAnimSet;
        combat.OnAttack     += OnAttack;
    }
コード例 #19
0
ファイル: Characters.cs プロジェクト: HowllChen/EVEASS-V1
        /// <summary>
        /// 检查角色技能是否满足需求
        /// </summary>
        /// <param name="industryActivitySkills">需求技能列表</param>
        /// <returns></returns>
        public bool CheckSkills(IEnumerable <industryActivitySkills> industryActivitySkills)
        {
            bool result = true;

            // 遍历技能列表
            foreach (var s in industryActivitySkills)
            {
                // 若角色拥有该技能, 且技能等级大于需求等级, 则返回非空
                result = CharacterSkills.SingleOrDefault(p => p.SkillID == s.skillID && p.Level >= s.level) != null;

                // 如果有一个技能需求不能满足, 则跳出判断
                if (!result)
                {
                    break;
                }
            }

            return(result);
        }
コード例 #20
0
        void savegameOverviewControl1_EntrySelectedEvent(object sender, EventArgs e)
        {
            SavegameOverviewEntry entry = (SavegameOverviewEntry)sender;
            UnitWrapper2          unit  = (UnitWrapper2)entry.Tag;

            this.Text = unit.Name;

            treeViewSkills.Nodes.Clear();
            CharacterSkills    skills    = unit.CharacterWrapper.CharacterSkills;
            CharacterValues    values    = unit.CharacterWrapper.CharacterValues;
            CharacterInventory inventory = unit.CharacterWrapper.CharacterInventory;

            AddCharacterStats(values);

            AddGeneralSkills(skills);

            AddCharacterSkills(skills);

            AddCharacterItems(inventory);
        }
コード例 #21
0
        private void AddGeneralSkills(CharacterSkills skills)
        {
            TreeNode general = new TreeNode("General skills (bugged for Ressurection -> where do all those extra skills come from?)");

            foreach (Skill skill in skills.GeneralSkills.Skills)
            {
                TreeNode subNode = new TreeNode(skill.Name);
                subNode.ForeColor = Color.Red;
                subNode.Nodes.Add("ID: " + skill.SkillID);
                subNode.Nodes.Add("Learned: " + skill.Learned);
                subNode.Nodes.Add("Level: " + skill.CurrentLevel + "/" + skill.MaxLevel);
                subNode.Nodes.Add("Description: " + skill.Description);
                subNode.Nodes.Add("Position: " + skill.Position.X + "," + skill.Position.Y);
                subNode.Nodes.Add("Icon name: " + skill.IconName);
                subNode.Nodes.Add("Required skill (ID): " + (skill.RequiredSkills.Length > 0 ? skill.RequiredSkills[0].ToString() : "none"));
                subNode.Nodes.Add("Required skill (level): " + (skill.LevelsOfRequiredSkills.Length > 0 ? skill.LevelsOfRequiredSkills[0].ToString() : "none"));
                general.Nodes.Add(subNode);
            }

            treeViewSkills.Nodes.Add(general);
        }
コード例 #22
0
 /// <summary>
 /// Constructs a save with some default parameters.
 /// </summary>
 public Save()
 {
     Details       = new CharacterDetails();
     Proficiencies = new CharacterProficiencies();
     Skills        = new CharacterSkills();
     Ammo          = new Dictionary <AmmoType, AmmoPool>();
     foreach (var pair in AmmoPool.AmmoDefinitions)
     {
         Ammo.Add(pair.Value, new AmmoPool());
     }
     Items             = new List <Item>();
     Weapons           = new List <Weapon>();
     StatTable         = new StatsTable();
     LocationsVisited  = new HashSet <Location>();
     CurrentLocation   = Location.Fyrestone;
     Playthroughs      = new List <Playthrough>();
     UnknownVariable15 = new List <Int32>();
     UnknownVariable16 = new List <Int32>();
     EchoPlaythroughs  = new List <EchoPlaythrough>();
     UnknownVariable17 = new byte[0];
 }
コード例 #23
0
        public override void Execute(Character caller, string[] args)
        {
            if (args.Length < 1)
            {
                ShowSyntax(caller);
            }
            else
            {
                int skillID  = int.Parse(args[0]);
                int skillLVL = int.Parse(args[1]);

                if (DataProvider.Skills.ContainsKey(skillID))
                {
                    if (caller.Skills.Contains(skillID))
                    {
                        Skill skillToModify = caller.Skills[skillID];
                        skillToModify.CurrentLevel = (byte)skillLVL;

                        CharacterSkills.UpdateSkill(skillToModify);
                    }

                    // TODO: needs proper treatment
                    else if (!caller.Skills.Contains(skillID))
                    {
                        Skill skillToAdd = new Skill(skillID)
                        {
                            CurrentLevel = (byte)skillLVL,
                            MapleID      = skillID
                        };

                        CharacterSkills.UpdateSkill(skillToAdd);
                    }
                }
                else
                {
                    Character.Notify(caller, "[Command] Invalid skill ID.");
                }
            }
        }
コード例 #24
0
    /// <summary>
    /// Json array of characters info.
    /// </summary>
    private static CharacterData DataToCData(JArray data)
    {
        CharacterData   cData   = new CharacterData();
        CharacterStats  cStats  = new CharacterStats();
        CharacterSkills cSkills = new CharacterSkills();

        if (data[0] != null)
        {
            JsonConvert.PopulateObject(data[0].ToString(), cData);
        }
        if (data[1] != null)
        {
            JsonConvert.PopulateObject(data[1].ToString(), cStats);
        }
        if (data[2] != null)
        {
            cSkills.skillMap = StringToDictionary(data[2]["skills_json"]);
        }

        cData.stats  = cStats;
        cData.skills = cSkills;
        return(cData);
    }
コード例 #25
0
    /// <summary>
    /// Returns deserialized CharaterData
    /// </summary>
    /// <param name="data0">CharaterData json</param>
    /// <param name="data1">CharaterStat json</param>
    /// <param name="data2">CharacterSkill json</param>
    private static CharacterData DataToCData(JToken data0, JToken data1, JToken data2)
    {
        CharacterData   cData   = new CharacterData();
        CharacterStats  cStats  = new CharacterStats();
        CharacterSkills cSkills = new CharacterSkills();

        if (data0 != null)
        {
            JsonConvert.PopulateObject(data0.ToString(), cData);
        }
        if (data1 != null)
        {
            JsonConvert.PopulateObject(data1.ToString(), cStats);
        }
        if (data2 != null)
        {
            cSkills.skillMap = StringToDictionary(data2["skills_json"]);
        }

        cData.stats  = cStats;
        cData.skills = cSkills;
        return(cData);
    }
コード例 #26
0
        public async Task <IActionResult> Skills()
        {
            AuthDTO auth = GetAuth(_ESIClient);

            _Log.LogDebug(String.Format("Logged in to retrieve Character Info for Character Id: {0}", auth.CharacterId));

            List <SkillQueueDataModel> skillsQueue = await GetSkillQueue(auth, auth.CharacterId);

            var characterFinishedSkillsApi = await _ESIClient.Skills.GetCharacterSkillsV4Async(auth);

            CharacterSkills characterFinishedSkillsApiModel = characterFinishedSkillsApi.Model;
            List <SkillFinishedSkillDataModel> skills       = new List <SkillFinishedSkillDataModel>();

            foreach (Skill skillApi in characterFinishedSkillsApiModel.Skills)
            {
                Skill_V_Row skill = _DBService.GetSkillForIdAndSkillLevel(skillApi.SkillId, skillApi.TrainedSkillLevel);
                skills.Add(new SkillFinishedSkillDataModel()
                {
                    Skill     = skill,
                    Skill_API = skillApi
                });
            }
            SkillFinishedDataModel skillsDataModel = new SkillFinishedDataModel()
            {
                TotalSp       = characterFinishedSkillsApiModel.TotalSp,
                UnallocatedSp = characterFinishedSkillsApiModel.UnallocatedSp,
                Skills        = skills
            };

            var model = new CharacterSkillsViewModel()
            {
                SkillQueue = skillsQueue,
                Skills     = skillsDataModel
            };

            return(View(model));
        }
コード例 #27
0
ファイル: Character.cs プロジェクト: wanjizheng/ESISharp
        internal AuthCharacterMain(ESIEve EasyEve) : base(EasyEve)
        {
            EasyObject = (ESIEve.Authenticated)EasyEve;

            Assets               = new CharacterAssets(EasyObject);
            Bookmarks            = new CharacterBookmarks(EasyObject);
            Calendar             = new CharacterCalendar(EasyObject);
            Clones               = new CharacterClones(EasyObject);
            Contacts             = new CharacterContacts(EasyObject);
            Contracts            = new CharacterContracts(EasyObject);
            FactionWarfare       = new CharacterFactionWarfare(EasyObject);
            Fittings             = new CharacterFittings(EasyObject);
            Fleet                = new CharacterFleet(EasyObject);
            Industry             = new CharacterIndustry(EasyObject);
            Killmails            = new CharacterKillMails(EasyObject);
            Location             = new CharacterLocation(EasyObject);
            Loyalty              = new CharacterLoyalty(EasyObject);
            Mail                 = new CharacterMail(EasyObject);
            Market               = new CharacterMarket(EasyObject);
            Opportunities        = new CharacterOpportunities(EasyObject);
            PlanetaryInteraction = new CharacterPlanetaryInteraction(EasyObject);
            Skills               = new CharacterSkills(EasyObject);
            Wallet               = new CharacterWallet(EasyObject);
        }
コード例 #28
0
        public ICollection <Skill> GetSkills(string characterName, SkillType type)
        {
            CharacterSkills characterSkills = Retrieve <CharacterSkills>($"characters/{characterName}/skills");

            ICollection <Skill> skills     = new List <Skill>();
            SkillRepository     repository = new SkillRepository();

            switch (type)
            {
            case (SkillType.PvE):
                skills = repository.GetSkills(GetSkillIds(characterSkills.SkillsInformation.PvE));
                break;

            case (SkillType.PvP):
                skills = repository.GetSkills(GetSkillIds(characterSkills.SkillsInformation.PvP));
                break;

            case (SkillType.WvW):
                skills = repository.GetSkills(GetSkillIds(characterSkills.SkillsInformation.WvW));
                break;
            }

            return(skills);
        }
コード例 #29
0
ファイル: TreeManager.cs プロジェクト: aleksimutanen/Dreamer
 void Start()
 {
     cs = FindObjectOfType <CharacterSkills>();
     //AddEvent(0, 0.6f, "Attack", 0);
 }
コード例 #30
0
 public CharacterSkillsEditor(CharacterSkills Skills) : base(Skills)
 {
     _skills = Skills ?? throw new ArgumentNullException(nameof(Skills));
 }