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()); } }
private void OnUpgradeSkill(GameObject go) { if (currentItem != null) { SkillLogic.GetInstance().SendUpgradeSkill((byte)1, (ushort)currentItem.SkillData.SkillID); } }
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"); }
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); } } }); }
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); //} } } }
public override void Update() { if (null != SceneLogic.GetInstance().MainHero&& Input.GetKeyDown(KeyCode.Space)) { SkillLogic.GetInstance().OnSkill((ushort)SceneLogic.GetInstance().MainHero.heroSetting.RushSkill); } }
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; } } }
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); } }
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(); }
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(); }
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); } } }
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)); } }
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); } }
void Start () { if (mActor == null) { Debug.LogError("no actor!!!"); } mCurActiveSkillLogic = null; }
private void ClickItemHandler(GameObject go) { if (itemType == SHORTCUTITEM.SKILL) { Debug.Log("try play skill " + itemId); SkillLogic.GetInstance().OnSkill((ushort)itemId); } }
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)); }
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(); }
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); }
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); } }
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(); }
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); } }
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); }
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()); } }
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); } }
/// <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); } }
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); } }
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); }
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)); } }
/// <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; } }