//------------------------------------------------------------------------------
// 
//     This code was generated by Entitas.CodeGeneration.Plugins.ComponentEntityApiGenerator.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// 
//------------------------------------------------------------------------------
public partial class GameEntity {
    public SkillComponent skill { get { return (SkillComponent)GetComponent(GameComponentsLookup.Skill); } }
    public bool hasSkill { get { return HasComponent(GameComponentsLookup.Skill); } }
    public void AddSkill(Game.MetaData newSkillId, bool newIsRunning, UnityEngine.Vector3 newCastDir, System.Collections.Generic.Dictionary, Game.SkillHitInfo> newSkillHitInfo, System.Collections.Generic.List newHitInfo) {
        var index = GameComponentsLookup.Skill;
        var component = (SkillComponent)CreateComponent(index, typeof(SkillComponent));
        component.SkillId = newSkillId;
        component.IsRunning = newIsRunning;
        component.CastDir = newCastDir;
        AddComponent(index, component);
    }
    public void ReplaceSkill(Game.MetaData newSkillId, bool newIsRunning, UnityEngine.Vector3 newCastDir, System.Collections.Generic.Dictionary, Game.SkillHitInfo> newSkillHitInfo, System.Collections.Generic.List newHitInfo) {
        var index = GameComponentsLookup.Skill;
        var component = (SkillComponent)CreateComponent(index, typeof(SkillComponent));
        component.SkillId = newSkillId;
        component.IsRunning = newIsRunning;
        component.CastDir = newCastDir;
        ReplaceComponent(index, component);
    }
    public void RemoveSkill() {
        RemoveComponent(GameComponentsLookup.Skill);
    }
}
//------------------------------------------------------------------------------
// 
//     This code was generated by Entitas.CodeGeneration.Plugins.ComponentMatcherApiGenerator.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// 
//------------------------------------------------------------------------------
public sealed partial class GameMatcher {
    static Entitas.IMatcher _matcherSkill;
    public static Entitas.IMatcher Skill {
        get {
            if (_matcherSkill == null) {
                var matcher = (Entitas.Matcher)Entitas.Matcher.AllOf(GameComponentsLookup.Skill);
                matcher.componentNames = GameComponentsLookup.componentNames;
                _matcherSkill = matcher;
            }
            return _matcherSkill;
        }
    }
}