Пример #1
0
        public async void RemoveWithObjectAsync_GivenSkillExistsInMoreThanOneProjectAndUser_ReturnsSuccess()
        {
            var skillToDelete = new SkillDTO
            {
                Id   = 1,
                Name = "Cooking"
            };

            var projectsArray = new ProjectDTO[]
            {
                new ProjectDTO {
                    Title = "Project1", Description = "Foo", Skills = new SkillDTO[] { skillToDelete }
                },
                new ProjectDTO {
                    Title = "Project2", Description = "Bar", Skills = new SkillDTO[] { skillToDelete }
                }
            };

            skillRepositoryMock.Setup(c => c.FindAsync(skillToDelete.Id)).ReturnsAsync(skillToDelete);
            projectRepositoryMock.Setup(p => p.ReadDetailedAsync()).ReturnsAsync(projectsArray);
            userRepositoryMock.Setup(u => u.ReadAsync()).ReturnsAsync(new UserDTO[] { });

            using (var logic = new SkillLogic(skillRepositoryMock.Object, userRepositoryMock.Object, projectRepositoryMock.Object))
            {
                var response = await logic.RemoveWithObjectAsync(skillToDelete);

                Assert.Equal(ResponseLogic.SUCCESS, response);
                skillRepositoryMock.Verify(c => c.FindAsync(skillToDelete.Id));
                skillRepositoryMock.Verify(c => c.DeleteAsync(It.IsAny <int>()), Times.Never());
                projectRepositoryMock.Verify(p => p.ReadDetailedAsync());
                userRepositoryMock.Verify(u => u.ReadAsync());
            }
        }
Пример #2
0
 private void OnUpgradeSkill(GameObject go)
 {
     if (currentItem != null)
     {
         SkillLogic.GetInstance().SendUpgradeSkill((byte)1, (ushort)currentItem.SkillData.SkillID);
     }
 }
Пример #3
0
        public async void UpdateAsync_GivenSkillExists_ReturnsSuccess()
        {
            var skillToUpdate = new SkillDTO
            {
                Id   = 1,
                Name = "Skill"
            };

            var skillToUpdateWithChanges = new SkillDTO
            {
                Id   = 1,
                Name = "Skill123"
            };

            skillRepositoryMock.Setup(c => c.FindAsync(skillToUpdateWithChanges.Id)).ReturnsAsync(skillToUpdate);
            skillRepositoryMock.Setup(c => c.UpdateAsync(skillToUpdateWithChanges)).ReturnsAsync(true);

            using (var logic = new SkillLogic(skillRepositoryMock.Object, userRepositoryMock.Object, projectRepositoryMock.Object))
            {
                var response = await logic.UpdateAsync(skillToUpdateWithChanges);

                Assert.Equal(ResponseLogic.SUCCESS, response);
                skillRepositoryMock.Verify(c => c.FindAsync(skillToUpdateWithChanges.Id));
                skillRepositoryMock.Verify(c => c.UpdateAsync(skillToUpdateWithChanges));
            }
        }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        SkillLogic sl = new SkillLogic();
        Skill      s  = new Skill();

        s.Name        = txtName.Text;
        s.Description = txtDesc.Text;
        s.Type        = ddlType.SelectedItem.Text;
        s.IsActive    = true;
        s.PhotoPath   = "";
        s.UploadTime  = DateTime.Now;
        s.AppUserID   = 0;


        sl.Insert(s);


        //String q = "insert into Skill(Name, Type, Description, UploadTime) values(@Name, @Type, @Description,  @UploadTime)";
        //List<SqlParameter> lst = new List<SqlParameter>();
        //lst.Add(new SqlParameter("@Name", txtName.Text));
        //lst.Add(new SqlParameter("@Description", txtDesc.Text));
        //lst.Add(new SqlParameter("@Type", ddlType.SelectedItem.Text));

        //lst.Add(new SqlParameter("@UploadTime", DateTime.Now));


        //DataAccess.ModifyData(q, lst);

        Response.Redirect("ViewSkill.aspx");
    }
Пример #5
0
        public void ModifyOptionSkills(GW_ItemSlotEquip pEquip, bool bActive)
        {
            Parent.Modify.Skills(mod =>
            {
                foreach (var option in pEquip.nOptionData)
                {
                    if (option is null)
                    {
                        continue;
                    }
                    if (option.iSkill == 0)
                    {
                        continue;
                    }

                    var nOptionSkillID = SkillLogic.get_novice_skill_as_race((SkillLogic.NoviceSkillID)(option.iSkill - 23001), Parent.Stats.nJob);

                    mod.AddEntry(nOptionSkillID, entry => entry.nSLV = (byte)(bActive ? 1 : 0));

                    if (!bActive)
                    {
                        Parent.Buffs.Remove(nOptionSkillID);
                    }
                }
            });
        }
Пример #6
0
        private void UpateItem()
        {
            foreach (PassiveSkillData skillData in SkillLogic.GetInstance().TalentSkillDict.Values)
            {
                skillItems[skillData.SkillID].SkillData = skillData;
            }

            foreach (TalentSkillItem item in skillItems.Values)
            {
                KPassiveSkill        passiveSkillSetting = KConfigFileManager.GetInstance().GetPassiveSkill(item.SkillData.SkillID, item.SkillData.Level);
                List <KPassiveSkill> reqSkills           = passiveSkillSetting.GetReqSkillList();
                int count = reqSkills.Count;
                for (int i = 0; i < count; i++)
                {
                    KPassiveSkill    reqSkill   = reqSkills[i];
                    PassiveSkillData reqSkillVO = skillItems[reqSkill.SkillID].SkillData;
                    GameObject       arrow;
                    string           key = "arrow_" + (reqSkill.Index - 1) + "_" + (passiveSkillSetting.Index - 1);
                    //if(!arrowList.TryGetValue(key, out arrow))
                    //{
                    //    Debug.Log(key + "-----------");
                    //}
                    //if (reqSkillVO.Learned && reqSkillVO.currentSkill.Level >= reqSkill.Level)
                    //{
                    //    arrow.SetActive(true);
                    //}
                    //else
                    //{
                    //    arrow.SetActive(false);
                    //}
                }
            }
        }
Пример #7
0
 public override void Update()
 {
     if (null != SceneLogic.GetInstance().MainHero&& Input.GetKeyDown(KeyCode.Space))
     {
         SkillLogic.GetInstance().OnSkill((ushort)SceneLogic.GetInstance().MainHero.heroSetting.RushSkill);
     }
 }
Пример #8
0
        void Update()
        {
            if (Input.GetKeyDown(keyCode))
            {
                ClickItemHandler(button.gameObject);
            }
            if (itemType == SHORTCUTITEM.SKILL)
            {
                ActiveSkillData data = SkillLogic.GetInstance().GetActiveSkillVOByID((ushort)itemId);
                float           _v   = data.cdTicket.GetTimeNormal();
                if (_v >= 1)
                {
                    _v = SkillLogic.GetInstance().GetAllSkillCDNormal();
                }
                if (_v > 1)
                {
                    _v = 1;
                }


                if (cdValue != _v)
                {
                    if (null != mark)
                    {
                        mark.fillAmount = 1f - _v;
                    }
                    cdValue = _v;
                }
            }
        }
Пример #9
0
        public async void AddSkillAsyncWithId_GivenSkillAndUserExist_ReturnsSUCCESS()
        {
            var existingUser = new User()
            {
                Id = 1, Firstname = "IAlready", Surname = "Exist", Mail = "*****@*****.**", AzureUId = "existingAuzreUId"
            };
            var existingSkill = new Skill()
            {
                Id = 1, Name = "Dancing"
            };

            userRepository    = new UserRepository(setupContextForIntegrationTests());
            skillRepository   = new SkillRepository(context);
            projectRepository = new ProjectRepository(context);

            var skillLogic = new SkillLogic(skillRepository, userRepository, projectRepository);

            context.Users.Add(existingUser);
            context.Skills.Add(existingSkill);
            context.SaveChanges();
            context.Entry(existingSkill).State = EntityState.Detached;

            //SanityCheck
            Assert.Equal(1, await context.Users.CountAsync());
            Assert.Equal(existingUser, await context.Users.FirstAsync());
            Assert.Equal(1, await context.Skills.AsNoTracking().CountAsync());

            using (var logic = new UserLogic(userRepository, skillLogic, sparkLogicMock.Object, locationLogicMock.Object))
            {
                var result = await logic.AddSkillAsync(1, 1);

                Assert.Equal(ResponseLogic.SUCCESS, result);
            }
        }
Пример #10
0
        private void SyncPlayerBaseInfo(KProtoBuf buf)
        {
            S2C_SYNC_PLAYER_BASE_INFO respond = buf as S2C_SYNC_PLAYER_BASE_INFO;
            MajorPlayer majorPlayer           = PlayerManager.GetInstance().MajorPlayer;

            majorPlayer.PlayerID      = respond.uPlayerID;
            majorPlayer.LastSaveTime  = respond.nLastSaveTime;
            majorPlayer.LastLoginTime = respond.nLastLoginTime;
            majorPlayer.TotalGameTime = respond.nTotalGameTime;
            majorPlayer.CreateTime    = respond.nCreateTime;
            majorPlayer.Gender        = (KGender)respond.byGender;
            majorPlayer.CanRename     = respond.byCanRename;
            majorPlayer.AccountName   = respond.szAccountName;
            majorPlayer.PlayerName    = respond.szPlayerName;
            majorPlayer.ServerTime    = respond.nServerTime;
            majorPlayer.ClubID        = respond.uClubID;
            majorPlayer.Job           = (ushort)respond.byHeroJob;
            majorPlayer.GroupID       = respond.nGroupID;
            SkillLogic.GetInstance().DefaultSkill();
            SceneLogic.GetInstance().InitScene();

            KGender gender = EnumUtils.GetEnumIns <KGender>(respond.byGender);

            majorPlayer.gender = gender;

            EventDispatcher.GameWorld.Dispath(ControllerCommand.CHANGE_HEAD, respond.byGender);
            PreLoad.GetInstance().OnLoadMajorPlayer();
        }
Пример #11
0
    private void Start()
    {
        GetComponent <Animator>().SetTrigger("Skill2");
        SkillInfo skill = GetComponent <SkillsInfo>().GetSkillByID(2);

        m_SkillMachine = SkillLogic.CreateSkillMechine(skill, transform.position + new Vector3(0, 0.5f, 0.5f), this.gameObject);
        evt            = new MyEvent(MyEvent.MyEventType.SkillTrigger);


        //DateTime d = DateTime.Now;

        //DateTime dt = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
        //TimeSpan nowtime = d - dt;
        //string nowTimeStamp = Convert.ToInt64(nowtime.TotalSeconds).ToString();

        //long time = long.Parse(nowTimeStamp);


        //TimeSpan ts = new TimeSpan(time);
        //Debug.Log(dt.AddSeconds(time));

        //int year = DateTime.Now.Year;
        //int month = DateTime.Now.Month;
        //DateTime d1 = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 4, 1);
        //Debug.Log(d1.AddHours(23).AddMinutes(60));//当月第一天
        //Debug.Log(d1.AddMonths(1).AddDays(-1));//当月最后一天
        //SetTimeTable();
    }
Пример #12
0
        public async void DeleteAsync_GivenSkillExistsAndInProjectsAndUser_ReturnsSuccess()
        {
            var skillToDelete = new Skill
            {
                Id   = 1,
                Name = "Category"
            };

            var creatorUser = new User()
            {
                Id = 1, Firstname = "First", Surname = "Sur", AzureUId = "Azure", Mail = "*****@*****.**", Skills = new List <UserSkill> {
                    { new UserSkill()
                      {
                          UserId = 1, Skill = skillToDelete
                      } }
                },
            };

            var projects = new List <Project>
            {
                new Project {
                    Id = 1, Title = "Project1", Skills = new List <ProjectSkill> {
                        new ProjectSkill()
                        {
                            ProjectId = 1, Skill = skillToDelete
                        }
                    }, CreatedDate = DateTime.Now, Description = "abcd", CreatorId = creatorUser.Id
                },
                new Project {
                    Id = 2, Title = "Project2", Skills = new List <ProjectSkill> {
                        new ProjectSkill()
                        {
                            ProjectId = 2, Skill = skillToDelete
                        }
                    }, CreatedDate = DateTime.Now, Description = "abcd", CreatorId = creatorUser.Id
                }
            };

            skillRepository = new SkillRepository(setupContextForIntegrationTests());

            context.Skills.Add(skillToDelete);
            context.Users.Add(creatorUser);
            context.Projects.AddRange(projects);
            context.SaveChanges();

            //Sanity Check
            Assert.NotNull(context.Skills.Find(skillToDelete.Id));
            Assert.Equal(2, (await context.Projects.ToArrayAsync()).Length);

            using (var logic = new SkillLogic(skillRepository, userRepositoryMock.Object, projectRepositoryMock.Object))
            {
                var response = await logic.DeleteAsync(skillToDelete.Id);

                Assert.Equal(ResponseLogic.SUCCESS, response);
                foreach (var project in await context.Projects.ToArrayAsync())
                {
                    Assert.Empty(project.Skills);
                }
            }
        }
Пример #13
0
        public async void UpdateAsync_GivenErrorUpdating_ReturnsERROR_UPDATING()
        {
            var skillToUpdate = new SkillDTO
            {
                Id   = 1,
                Name = "Skill"
            };

            var skillToUpdateWithChanges = new SkillDTO
            {
                Id   = 1,
                Name = "Skill123"
            };

            skillRepositoryMock.Setup(c => c.FindAsync(skillToUpdateWithChanges.Id)).ReturnsAsync(skillToUpdate);
            skillRepositoryMock.Setup(c => c.UpdateAsync(skillToUpdateWithChanges)).ReturnsAsync(false);

            using (var logic = new SkillLogic(skillRepositoryMock.Object, userRepositoryMock.Object, projectRepositoryMock.Object))
            {
                var response = await logic.UpdateAsync(skillToUpdateWithChanges);

                Assert.Equal(ResponseLogic.ERROR_UPDATING, response);
                skillRepositoryMock.Verify(c => c.FindAsync(skillToUpdateWithChanges.Id));
                skillRepositoryMock.Verify(c => c.UpdateAsync(skillToUpdateWithChanges));
            }
        }
Пример #14
0
        private void InitItem()
        {
            ActiveSkillData[] activeSkillDataList = new ActiveSkillData[SkillLogic.GetInstance().ActiveSkillDict.Count];
            SkillLogic.GetInstance().ActiveSkillDict.Values.CopyTo(activeSkillDataList, 0);

            items = new ActiveSkillItem[SKILL_ITEM_COUNT];                      //建立数组
            for (int i = 0; i < SKILL_ITEM_COUNT; i++)
            {
                items[i] = NGUITools.AddChild <ActiveSkillItem>(gameObject);
                ActiveSkillItem item = items[i];

                if (i < SkillLogic.GetInstance().ActiveSkillDict.Count)
                {
                    item.SkillData = activeSkillDataList[i];

                    if (item.gameObject.collider == null)
                    {
                        NGUITools.AddWidgetCollider(item.gameObject);
                    }
                    UIEventListener.Get(item.gameObject).onClick += OnClickItem;
                }
                else
                {
                    item.SkillData = null;
                }
                item.gameObject.transform.localPosition = new Vector3(-223 + i * 88, 104, 0);
            }
            //显示第一个
            if (SkillLogic.GetInstance().ActiveSkillDict.Count > 1)
            {
                OnClickItem(items[0].gameObject);
            }
        }
Пример #15
0
	void Start () 
    {
        if (mActor == null)
        {
            Debug.LogError("no actor!!!");
        }
        mCurActiveSkillLogic = null;
	}
Пример #16
0
 private void ClickItemHandler(GameObject go)
 {
     if (itemType == SHORTCUTITEM.SKILL)
     {
         Debug.Log("try play skill " + itemId);
         SkillLogic.GetInstance().OnSkill((ushort)itemId);
     }
 }
Пример #17
0
        public void ViewSkillDescription(string skillId, int uniqId)
        {
            //スキル説明の表示

            /*_descriptionTextObject.GetComponent<TextMeshProUGUI>()
             *  .SetText(SkillLogic.CreateSkillDescription(skillId, BattlerDictionary.GetBattlerByUniqId(uniqId)));*/
            _descriptionTextObject.GetComponent <Text>()
            .text = SkillLogic.CreateSkillDescription(skillId, BattlerDictionary.GetBattlerByUniqId(uniqId));
        }
Пример #18
0
        private void OnUpgradeSkill(GameObject go)
        {
            TalentSkillItem item = go.transform.parent.gameObject.GetComponent <TalentSkillItem>();

            if (item != null)
            {
                SkillLogic.GetInstance().UpgradeSkill(0, (ushort)item.SkillData.SkillID);
            }
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        SkillLogic sl = new SkillLogic();


        DataTable dt = sl.SelectAll();

        Repeater1.DataSource = dt;
        Repeater1.DataBind();
    }
Пример #20
0
    public override void DoBeforeEntering()
    {
        base.DoBeforeEntering();
        Debug.Log("Enter SKillState");
        sm = attr.GetComponent <SkillManager>();
        m_animator.SetBool("Attack", true);

        m_activeSkill = attr.GetComponent <SkillsInfo>().GetActiveSkill();
        //启动技能状态机
        m_sm = SkillLogic.CreateSkillMechine(m_activeSkill, attr.transform.position, attr.gameObject);
    }
Пример #21
0
        public void AddEntry(int nSkillID, Action <SkillEntry> action)
        {
            var skillEntry = Parent.Skills.FirstOrDefault(s => s.nSkillID == nSkillID) ?? new SkillEntry(nSkillID);

            var prevSLV = skillEntry.nSLV;

            action.Invoke(skillEntry);

            if (prevSLV != skillEntry.nSLV)
            {
                if (skillEntry.nSLV - skillEntry.CombatOrders > skillEntry.MaxLevel)
                {
                    skillEntry.nSLV = skillEntry.MaxLevel;
                }

                if (skillEntry.Template.PsdSkill > 0 || skillEntry.Template.AdditionPsd.Length > 0)
                {
                    NeedsStatRecalc = true;
                }

                switch ((Skills)nSkillID)
                {
                case Skills.CRUSADER_UPGRADE_MP_RECOVERY:
                case Skills.SOULMASTER_UPGRADE_MP_RECOVERY:
                    NeedsRegenRecalc = true;
                    break;
                }
            }

            // we don't notify the client about these
            foreach (var nLinkSkillID in SkillLogic.GetHiddenLinkSkills(nSkillID))
            {
                var linkSkillEntry = Parent.Skills[nLinkSkillID] ?? new SkillEntry(nLinkSkillID);

                linkSkillEntry.nSLV       = skillEntry.nSLV;
                linkSkillEntry.CurMastery = skillEntry.CurMastery;

                if (!Parent.Skills.Contains(nLinkSkillID))
                {
                    Parent.Skills.Add(linkSkillEntry);
                }
            }

            if (!Parent.Skills.Contains(skillEntry.nSkillID))
            {
                Parent.Skills.Add(skillEntry);
            }

            if (!skillEntry.Template.IsHiddenSkill)
            {
                Entries.Add(skillEntry);
            }
        }
Пример #22
0
        private void OnCastSkill(KProtoBuf buf)
        {
            S2C_CAST_SKILL respond    = buf as S2C_CAST_SKILL;
            SceneEntity    targetHero = GetSceneObject(respond.targetID) as SceneEntity;
            SceneEntity    attacker   = GetSceneObject(respond.casterID) as SceneEntity;

            attacker.Action.PlayFightAnimation(targetHero, respond.skillID, MapUtils.GetMetreFromInt(respond.x, respond.z, respond.y));
            if (attacker == MainHero)
            {
                AutoAttackComponent.curIndex++;
                SkillLogic.GetInstance().ResetSkillCD(respond.skillID);
            }
        }
    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        int        id = Convert.ToInt32(e.CommandArgument);
        SkillLogic sl = new SkillLogic();
        Skill      s  = sl.SelectByID(id);

        lblskillname.Text     = s.Name;
        lblskilldesc.Text     = s.Description;
        lblskilltype.Text     = s.Type;
        lblskilltime.Text     = s.UploadTime.ToString();
        lblskillusername.Text = s.AppUserID.ToString();
        lblskillstatus.Text   = s.IsActive.ToString();
    }
Пример #24
0
        public async void FindExactAsync_GivenNoSkillsInDB_ReturnsNull()
        {
            skillRepository = new SkillRepository(setupContextForIntegrationTests());

            //Sanity Check
            Assert.Equal(0, await context.Skills.CountAsync());

            using (var logic = new SkillLogic(skillRepository, userRepositoryMock.Object, projectRepositoryMock.Object))
            {
                var result = await logic.FindExactAsync("cook");

                Assert.Null(result);
            }
        }
Пример #25
0
    public override void EnterState()
    {
        base.EnterState();
        cmd               = aiCharacter.lastCmd;
        activeSkill       = GetAttr().GetComponent <SkillInfoComponent>().GetActiveSkill();
        skillStateMachine = SkillLogic.CreateSkillStateMachine(GetAttr().gameObject, activeSkill.skillData, GetAttr().transform.position);
        var time    = Util.FrameToFloat(aiCharacter.lastCmd.skillAction.RunFrame);
        var dir     = cmd.skillAction.Dir;
        var physics = aiCharacter.GetAttr().GetComponent <IPhysicCom>();

        physics.TurnToDir(dir);
        holdTime = time;
        aiCharacter.PlayAniInTime("creep_attack1", time);
    }
Пример #26
0
        public async void GetAsync_GivenNoSkillsInDb_ReturnsEmptyEnumerable()
        {
            skillRepository = new SkillRepository(setupContextForIntegrationTests());

            //Sanity Check
            Assert.Equal(0, await context.Skills.CountAsync());

            using (var logic = new SkillLogic(skillRepository, userRepositoryMock.Object, projectRepositoryMock.Object))
            {
                var results = await logic.GetAsync();

                Assert.Equal(0, results.Count());
            }
        }
Пример #27
0
        protected override void UpdateIcon()
        {
            base.UpdateIcon();
            KPassiveSkill nextSkillSetting = KConfigFileManager.GetInstance().GetPassiveSkill(skillData.SkillID, skillData.Level + 1);

            if (SkillLogic.GetInstance().CanLearnTalent(skillData.SkillID) && SkillLogic.GetInstance().SkillPoint > 0 && nextSkillSetting != null)
            {
                addBtn.SetActive(true);
            }
            else
            {
                addBtn.SetActive(false);
            }
        }
Пример #28
0
 /// <summary>
 /// 技能层的初始化
 /// 或者生成子技能
 /// </summary>
 void InitLayout(SkillDataConfiger.EventItem item, MyEvent evt)
 {
     if (item.m_Layout != null)
     {
         GameObject        go     = Instantiate(item.m_Layout);            //实例化模板
         SkillLayoutRunner runner = go.AddComponent <SkillLayoutRunner>(); //添加SkillLayoutRunner
         runner.m_SkillMachine = this;
         runner.m_EventItem    = item;
         runner.m_MyEvent      = evt;
         AllRunner.Add(go); Debug.Log(go.name);
     }
     else if (item.m_ChildSkillID != 0 && item.m_ChildSkillID != -1)
     {
         SkillLogic.CreateSkillMechine(SkillsInfo.Instance.GetSkillByID(item.m_ChildSkillID), evt.m_MissilePos.position, m_Attacker);
     }
 }
Пример #29
0
        public async void AddSkillAsync_GivenSkillAndProjectExist_ReturnsSUCCESS()
        {
            var existingUser = new User()
            {
                Id = 1, Firstname = "IAlready", Surname = "Exist", Mail = "*****@*****.**", AzureUId = "existingAuzreUId"
            };
            var existingSkill = new Skill()
            {
                Id = 1, Name = "Dancing"
            };
            var existingProject = new Project()
            {
                Id = 1, Title = "Foo", Description = "Bar", Creator = existingUser, CreatedDate = System.DateTime.UtcNow
            };

            locationRepository = new LocationRepository(setupContextForIntegrationTests());
            skillRepository    = new SkillRepository(context);
            projectRepository  = new ProjectRepository(context);
            userRepository     = new UserRepository(context);

            var skillLogic = new SkillLogic(skillRepository, userRepository, projectRepository);

            context.Users.Add(existingUser);
            context.SaveChanges();
            context.Skills.Add(existingSkill);
            context.Projects.Add(existingProject);
            context.SaveChanges();
            context.Entry(existingSkill).State = EntityState.Detached;

            //SanityCheck
            Assert.Equal(1, await context.Users.CountAsync());
            Assert.Equal(existingUser, await context.Users.FirstAsync());
            Assert.Equal(1, await context.Projects.CountAsync());
            Assert.Equal(existingProject, await context.Projects.FirstAsync());
            Assert.Equal(1, await context.Skills.AsNoTracking().CountAsync());

            using (var logic = new ProjectLogic(projectRepository, locationRepository, skillLogic, sparkLogicMock.Object, locationLogicMock.Object, categoryLogicMock.Object))
            {
                var result = await logic.AddSkillAsync(1, new SkillDTO()
                {
                    Id = 1, Name = "Dancing"
                }, existingUser.Id);

                Assert.Equal(ResponseLogic.SUCCESS, result);
            }
        }
Пример #30
0
        public static int get_shield_mastery(Character cd)
        {
            if (SkillLogic.is_correct_job_for_skill_root(cd.Stats.nJob, 121))
            {
                if (cd.Skills.Get(Skills.KNIGHT_SHIELD_MASTERY) is SkillEntry se)
                {
                    return((int)se.X_Effect);
                }
            }
            else if (SkillLogic.is_correct_job_for_skill_root(cd.Stats.nJob, 421))
            {
                if (cd.Skills.Get(Skills.THIEFMASTER_SHIELD_MASTERY) is SkillEntry se)
                {
                    return((int)se.X_Effect);
                }
            }

            return(0);
        }
Пример #31
0
        public async void CreateAsync_GivenNothingCreated_ReturnsERROR_CREATING()
        {
            var skillToCreate = new SkillCreateDTO
            {
                Name = "Skill"
            };

            skillRepositoryMock.Setup(c => c.FindAsync(skillToCreate.Name)).ReturnsAsync(default(SkillDTO));
            skillRepositoryMock.Setup(c => c.CreateAsync(skillToCreate)).ReturnsAsync(0);

            using (var logic = new SkillLogic(skillRepositoryMock.Object, userRepositoryMock.Object, projectRepositoryMock.Object))
            {
                var response = await logic.CreateAsync(skillToCreate);

                Assert.Equal(ResponseLogic.ERROR_CREATING, response);
                skillRepositoryMock.Verify(c => c.FindAsync(skillToCreate.Name));
                skillRepositoryMock.Verify(c => c.CreateAsync(skillToCreate));
            }
        }
Пример #32
0
    /// <summary>
    ///  播放
    /// </summary>
    /// <param name="id"></param>
    /*
     * --技能类型--
     * 1:隐身
       2:突进
       3:Debuff
       4:召唤
       5:Buff
       6:触发型
       7:伤害型
     *
     * **/
    private void setInstance()
    {
        switch (_skillData.Skill.getSkillClass())
        {
            case (int)Defaults.ResultNum.One:

                _skillLogic = new StealthInstance();
                break;

            case (int)Defaults.ResultNum.Two:

                _skillLogic = new DashInstance();
                break;

            case (int)Defaults.ResultNum.Three:

                _skillLogic = new DebuffInstance();
                break;

            case (int)Defaults.ResultNum.Four:

                _skillLogic = new SummonInstance();
                break;

            case (int)Defaults.ResultNum.Five:

                _skillLogic = new BuffInstance();
                break;

            case (int)Defaults.ResultNum.Six:

                _skillLogic = new TriggerInstance();
                break;

            case (int)Defaults.ResultNum.Seven:

                _skillLogic = new DamageInstance();
                break;
        }
    }