コード例 #1
0
        //快键到技能类型转换
        SkillTypeEnum GetSkillType(int ie)
        {
            SetSkillState(ie);
            SkillTypeEnum type = SkillTypeEnum.SKILL_NULL;

            switch ((ShortCutBarBtn)ie)
            {
            case ShortCutBarBtn.BTN_SKILL_1:
                type = SkillTypeEnum.SKILL_TYPE1;
                break;

            case ShortCutBarBtn.BTN_SKILL_2:
                type = SkillTypeEnum.SKILL_TYPE2;
                break;

            case ShortCutBarBtn.BTN_SKILL_3:
                type = SkillTypeEnum.SKILL_TYPE3;
                break;

            case ShortCutBarBtn.BTN_SKILL_4:
                type = SkillTypeEnum.SKILL_TYPE4;
                break;

            case ShortCutBarBtn.BTN_SKILL_5:
                type = SkillTypeEnum.SKILL_TYPEABSORB1;
                break;

            case ShortCutBarBtn.BTN_SKILL_6:
                type = SkillTypeEnum.SKILL_TYPEABSORB2;
                break;
            }
            return(type);
        }
コード例 #2
0
ファイル: GamePlay.cs プロジェクト: aowchina/HolyTech
    public void OnReleaseSkill2()
    {
        Player target = PlayersManager.Instance.targetPlayer;

        if (!target)
        {
            return;
        }

        SkillTypeEnum type = GetSkillType((int)ShortCutBarBtnEnum.BTN_SKILL_2);

        if (type == SkillTypeEnum.SKILL_NULL)
        {
            return;
        }

        int skillID = 0;

        PlayersManager.Instance.LocalPlayer.skillDic.TryGetValue(type, out skillID);
        if (skillID == 0)
        {
            return;
        }
        HolyGameLogic.Instance.EmsgToss_AskUseSkill((uint)skillID);
    }
コード例 #3
0
    public void OnReleaseSkill2()
    {
        Player player = PlayersManager.Instance.LocalPlayer;

        if (!player)
        {
            return;
        }

        SkillTypeEnum type = GetSkillType((int)ShortCutBarBtnEnum.BTN_SKILL_2);

        if (type == SkillTypeEnum.SKILL_NULL)
        {
            return;
        }

        int skillID = 0;

        PlayersManager.Instance.LocalPlayer.skillDic.TryGetValue(type, out skillID);
        if (skillID == 0)
        {
            return;
        }
        HolyGameLogic.Instance.EmsgToss_AskUseSkill((uint)skillID);
        player.mSkill2Foreground.gameObject.SetActive(true);
        player.mHasSkill2used = true;
    }
コード例 #4
0
        //更具技能类型,换算出满足指定技能的准确id
        private void SetSkillUpdate(SkillTypeEnum skillType, int lv)
        {
            int baseId = 0;

            if (!BaseSkillIdDic.TryGetValue(skillType, out baseId))
            {
                return;                                                    //技能id不存在
            }
            SkillManagerConfig info = ConfigReader.GetSkillManagerCfg(baseId);

            if (baseId == 0 || info == null)
            {
                return;//不存在技能信息
            }

            for (int i = baseId + SKILL_UPDATE_TOTAL_LEVEL - 1; i >= 0; i--)
            {
                SkillManagerConfig infoNew = ConfigReader.GetSkillManagerCfg(i);
                if (i == 0 || infoNew == null || infoNew.n32UpgradeLevel > lv)
                {
                    continue;
                }
                SkillIdDic[skillType] = i;
                break;
            }
        }
コード例 #5
0
        //快键到技能类型转换
        private ShortCutBarBtn GetBtnType(SkillTypeEnum type)
        {
            ShortCutBarBtn btnType = ShortCutBarBtn.BTN_END;

            switch (type)
            {
            case SkillTypeEnum.SKILL_TYPE1:
                btnType = ShortCutBarBtn.BTN_SKILL_1;
                break;

            case SkillTypeEnum.SKILL_TYPE2:
                btnType = ShortCutBarBtn.BTN_SKILL_2;
                break;

            case SkillTypeEnum.SKILL_TYPE3:
                btnType = ShortCutBarBtn.BTN_SKILL_3;
                break;

            case SkillTypeEnum.SKILL_TYPE4:
                btnType = ShortCutBarBtn.BTN_SKILL_4;
                break;

            case SkillTypeEnum.SKILL_TYPEABSORB1:
                btnType = ShortCutBarBtn.BTN_SKILL_5;
                break;

            case SkillTypeEnum.SKILL_TYPEABSORB2:
                btnType = ShortCutBarBtn.BTN_SKILL_6;
                break;
            }
            return(btnType);
        }
コード例 #6
0
 public void Init()
 {
     this.Name      = GetName();
     this.Id        = GetId();
     this.Cd        = GetCd();
     this.SkillType = GetSkillType();
     this.Hp        = GetHp();
     this.Mp        = GetMp();
 }
コード例 #7
0
 private void addSkill(int value, SkillTypeEnum skillType)
 {
     if (value != 0)
     {
         var skill = Instantiate(skillFab, this.transform, true);
         skill.Value = value;
         skill.Type  = skillType;
     }
 }
コード例 #8
0
        public void SetSkillDestribe(SkillTypeEnum skillType, ISelfPlayer player)
        {
            if (!player.SkillIdDic.ContainsKey(skillType) || !player.BaseSkillIdDic.ContainsKey(skillType))
            {
                return;
            }
            int skillId = player.SkillIdDic[skillType];

            SetSkillDestribe(skillId, (IPlayer)player);
        }
コード例 #9
0
        //得到换算后的技能id
        private int GetSkillId(SkillTypeEnum type)
        {
            int baseId = 0;

            if (SkillIdDic.TryGetValue(type, out baseId))
            {
                return(baseId);
            }
            return(0);
        }
コード例 #10
0
 private SkillUsageModel(UserViewModel user, string name, SkillTypeEnum type, SkillCostTypeEnum costType, uint cost, string image, string message)
 {
     this.User     = user;
     this.Name     = name;
     this.Type     = type;
     this.CostType = costType;
     this.Cost     = cost;
     this.Image    = image;
     this.Message  = message;
 }
コード例 #11
0
 private void OnSkillCountDown(SkillTypeEnum type, float CDTime, float time)
 {
     if (time > 0)
     {
         StartSkillCountDown(GetBtnType(type), CDTime, time);
     }
     else
     {
         ResetSkillAsignedSkill(GetBtnType(type));
     }
 }
コード例 #12
0
 public void ShowDescribleById(bool show, int skillId, IPlayer player)
 {
     if (show)
     {
         Show();
         SetSkillDestribe(skillId, player);
     }
     else
     {
         Hide();
         currentSkill = SkillTypeEnum.SKILL_NULL;
     }
 }
コード例 #13
0
 public PAPISkill(string _name, SkillEnum _skillEnum, SkillTypeEnum _skillTypeEnum, Value _value, CharacteristicEnum _characteristicEnum,
                  List <GenreEnum> _availableGenres, bool _isCareer)
 {
     this._skillEnum          = _skillEnum;
     this._name               = (_name == null || _name == "" || _skillEnum != SkillEnum.CUSTOM) ? ("Skill_" + _skillEnum.ToString()) : _name;
     this._skillTypeEnum      = _skillTypeEnum;
     this._value              = (_value._value <MIN_VALUE || _value._value> MAX_VALUE)? this._value = new Value(0, null) : this._value = _value;
     this._characteristicEnum = this._characteristicEnum;
     this._availableGenres    = (_availableGenres == null || _availableGenres.Count == 0) ?
                                new List <GenreEnum>(PAPIApplication.GetAllGenres()) : _availableGenres;
     this._isCareer = _isCareer;
     WfLogger.Log(this, LogLevel.DETAILED, "Skill '" + this._name + "' was created");
 }
コード例 #14
0
        //使用技能
        private void SendSkill(int btn)
        {
            //if (PlayerManager.Instance.LocalPlayer.FSM.State == HolyTech.FSM.FsmState.FSM_STATE_DEAD)
            //    return;   //小谷
            SkillTypeEnum type = GetSkillType(btn);

            if (type == SkillTypeEnum.SKILL_NULL)
            {
                return;
            }
            //准备释放技能
            PlayerManager.Instance.LocalPlayer.SendPreparePlaySkill(type);
        }
コード例 #15
0
        /// <summary>
        /// 准备释放技能
        /// </summary>
        /// <param name="skType">Sk type.</param>
        /// 技能类型
        public void SendPreparePlaySkill(SkillTypeEnum skType)
        {
            int skillID = GetSkillIdBySkillType(skType);

            //沉默 小谷
            //  if (HolyTech.Skill.BuffManager.Instance.isSelfHaveBuffType(1017)) return;

            if (skillID == 0)
            {
                MsgInfoManager.Instance.ShowMsg((int)ErrorTypeEnum.AbsentSkillNULL);
                return;
            }
            HolyGameLogic.Instance.EmsgToss_AskUseSkill((uint)skillID);
        }
コード例 #16
0
 private void ShowDescribleByType(bool show, SkillTypeEnum skillType, IPlayer player)
 {
     if (show)
     {
         Show();
         SetSkillDestribe(skillType, (ISelfPlayer)player);
         currentSkill = skillType;
     }
     else
     {
         Hide();
         currentSkill = SkillTypeEnum.SKILL_NULL;
     }
 }
コード例 #17
0
    SkillTypeEnum GetSkillType(int ie)
    {
        SkillTypeEnum type = SkillTypeEnum.SKILL_NULL;

        switch ((ShortCutBarBtnEnum)ie)
        {
        case ShortCutBarBtnEnum.BTN_SKILL_1:
            type = SkillTypeEnum.SKILL_TYPE1;
            break;

        case ShortCutBarBtnEnum.BTN_SKILL_2:
            type = SkillTypeEnum.SKILL_TYPE2;
            break;
        }
        return(type);
    }
コード例 #18
0
 /// <summary>
 /// 初始化技能对象属性
 /// </summary>
 public void Init(Role role)
 {
     this.role          = role;
     this.animator      = role.GetComponent <Animator>();
     this.skill         = role.GetComponent <SkillSystem>();
     this.Name          = GetName();
     this.Id            = GetId();
     this.Cd            = GetCd();
     this.SkillType     = GetSkillType();
     this.Hp            = GetHp();
     this.Mp            = GetMp();
     this.attackLock    = role.GetComponent <AttackLock>();
     this.equipmentShow = role.GetComponent <EquipmentShow>();
     this.TimeNodeList  = new List <TimeNode>();
     Effect_Init();
 }
コード例 #19
0
        public override int GetSkillIdBySkillType(SkillTypeEnum type)
        {
            switch (type)
            {
            case SkillTypeEnum.SKILL_TYPE1:
                return(ConfigReader.GetHeroInfo(NpcGUIDType).HeroSkillType1);

            case SkillTypeEnum.SKILL_TYPE2:
                return(ConfigReader.GetHeroInfo(NpcGUIDType).HeroSkillType2);

            case SkillTypeEnum.SKILL_TYPE3:
                return(ConfigReader.GetHeroInfo(NpcGUIDType).HeroSkillType3);

            case SkillTypeEnum.SKILL_TYPE4:
                return(ConfigReader.GetHeroInfo(NpcGUIDType).HeroSkillType4);

            case SkillTypeEnum.SKILL_TYPE5:
                return(ConfigReader.GetHeroInfo(NpcGUIDType).HeroSkillType5);
            }
            return(-1);
        }
コード例 #20
0
        public virtual int GetSkillIdBySkillType(SkillTypeEnum type)
        {
            switch (type)
            {
            case SkillTypeEnum.SKILL_TYPE1:
                return(ConfigReader.GetNpcInfo(NpcGUIDType).NpcSkillType1);

            case SkillTypeEnum.SKILL_TYPE2:
                return(ConfigReader.GetNpcInfo(NpcGUIDType).NpcSkillType2);

            case SkillTypeEnum.SKILL_TYPE3:
                return(ConfigReader.GetNpcInfo(NpcGUIDType).NpcSkillType3);

            case SkillTypeEnum.SKILL_TYPE4:
                return(ConfigReader.GetNpcInfo(NpcGUIDType).NpcSkillType4);

            case SkillTypeEnum.SKILL_TYPE5:
                return(ConfigReader.GetNpcInfo(NpcGUIDType).NpcSkillType5);
            }
            return(-1);
        }
コード例 #21
0
        //当更改基础技能时,比如随从技能改变
        private void SetBaseSkillType(SkillTypeEnum skillType, int skillId)
        {
            BaseSkillIdDic[skillType] = skillId;

            //暂时屏蔽随从技能升级
            if (skillType == SkillTypeEnum.SKILL_TYPEABSORB1 || skillType == SkillTypeEnum.SKILL_TYPEABSORB2)
            {
                SkillIdDic[skillType] = skillId;
                return;
            }
            SkillManagerConfig info = ConfigReader.GetSkillManagerCfg(skillId);

            if (skillId != 0 && info != null)
            {
                SetSkillUpdate(skillType, Level);
            }
            else if (skillId == 0)
            {
                SkillIdDic[skillType] = skillId;
            }
        }
コード例 #22
0
        public override void OnSkillInfoChange(int skillID, float time, float maxTime, int slot)
        {
            SkillTypeEnum skillType = SkillTypeEnum.SKILL_NULL;

            if (skillID == SkillIdDic[SkillTypeEnum.SKILL_TYPE1])
            {
                skillType = SkillTypeEnum.SKILL_TYPE1;
            }
            else if (skillID == SkillIdDic[SkillTypeEnum.SKILL_TYPE3])
            {
                skillType = SkillTypeEnum.SKILL_TYPE3;
            }
            else if (skillID == SkillIdDic[SkillTypeEnum.SKILL_TYPE2])
            {
                skillType = SkillTypeEnum.SKILL_TYPE2;
            }
            else if (skillID == SkillIdDic[SkillTypeEnum.SKILL_TYPE4])
            {
                skillType = SkillTypeEnum.SKILL_TYPE4;
            }
            else if (skillID == SkillIdDic[SkillTypeEnum.SKILL_TYPEABSORB1])
            {
                skillType = SkillTypeEnum.SKILL_TYPEABSORB1;
            }
            else if (skillID == SkillIdDic[SkillTypeEnum.SKILL_TYPEABSORB2])
            {
                skillType = SkillTypeEnum.SKILL_TYPEABSORB2;
            }
            else
            {
                return;
            }
            SetBaseSkillType(skillType, skillID);
            if (time > 0)
            {
                bPlaySkill = false;
            }

            EventCenter.Broadcast <SkillTypeEnum, float, float>((Int32)GameEventEnum.GameEvent_LocalPlayerSkillCD, skillType, maxTime, time);
        }
コード例 #23
0
        private void ShowBtnCanUseEffect(ShortCutBarBtn type)
        {
            if (PlayerManager.Instance == null || PlayerManager.Instance.LocalPlayer == null)
            {
                return;
            }
            if (PlayerManager.Instance.LocalPlayer.SkillIdDic == null || PlayerManager.Instance.LocalPlayer.SkillIdDic.Count == 0)
            {
                return;
            }
            ISelfPlayer        player    = PlayerManager.Instance.LocalPlayer;
            SkillTypeEnum      skillType = GetSkillType((int)type);
            int                skillId   = PlayerManager.Instance.LocalPlayer.SkillIdDic[skillType];
            SkillManagerConfig info      = ConfigReader.GetSkillManagerCfg(skillId);

            if (info == null)
            {
                return;
            }
            GameObject sprite = mCanPressEffect[type];
            bool       isInCd = IsSkillInCd(type);

            if (info.mpUse > player.Mp || info.cpUse > player.Cp || info.hpUse > player.Hp || isInCd)
            {
                if (sprite.activeInHierarchy)
                {
                    sprite.SetActive(false);
                }
            }
            else
            {
                if (!sprite.activeInHierarchy)
                {
                    sprite.SetActive(true);
                }
            }
        }
コード例 #24
0
        public void UpdateDestribe(SkillTypeEnum skillType, ISelfPlayer player)
        {
            int skillId = player.SkillIdDic[skillType];

            UpdateDestribe(skillId, (IPlayer)player);
        }
コード例 #25
0
 public override int GetSkillIdBySkillType(SkillTypeEnum type)
 {
     return(GetSkillId(type));
 }