protected MeController GetController() { RoleDataUtil roleDataUtil = new RoleDataUtil(); AccountDataUtil accountDataUtil = new AccountDataUtil(); var roleVM = roleDataUtil.GetNewViewModel(); var accountVM = accountDataUtil.GetNewViewModel(); accountVM.roles.Add(roleVM); var user = new Mock <ClaimsPrincipal>(); var claims = new Claim[] { new Claim("username", "unittestusername"), new Claim("profile", JsonConvert.SerializeObject(accountVM.profile)), new Claim("permission", JsonConvert.SerializeObject(accountVM.roles)), new Claim("iat", DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString()) }; user.Setup(u => u.Claims).Returns(claims); MeController controller = (MeController)Activator.CreateInstance(typeof(MeController)); controller.ControllerContext = new ControllerContext() { HttpContext = new DefaultHttpContext() { User = user.Object } }; controller.ControllerContext.HttpContext.Request.Headers["Authorization"] = "Bearer unittesttoken"; controller.ControllerContext.HttpContext.Request.Headers["x-timezone-offset"] = "7"; controller.ControllerContext.HttpContext.Request.Path = new PathString("/v1/unit-test"); return(controller); }
private void FollowMaster() { Vector3 pos = GetDistination(); if (Mathf.Abs(pos.x - transform.position.x + pos.y - transform.position.y) > MaxDistance - 0.1f) { MeController.MoveTo(pos.x, pos.y); } }
public const int TargetEnemy = 3; //作用于敌人 private void Start() { Target = MeController.GetMeVoByType <PetVo>().MasterVo.Controller.transform; _idleTime = 0; var petVo = MeController.GetMeVoByType <PetVo>(); _talentSkillVo = BaseDataMgr.instance.GetSysSkillBaseVo(petVo.SkillId); _meTransform = transform; }
void Update() { if (AttackList.Count > 0 && (MeController.StatuController.CurrentStatu == Status.IDLE || MeController.StatuController.CurrentStatu == Status.RUN)) { CurVo = AttackList[0]; AttackList.RemoveAt(0); switch (CurVo.ActionType) { case Actions.RUN: MeController.MoveTo(CurVo.RunDestination.x, CurVo.RunDestination.y); break; case Actions.DEATH: MeController.StatuController.SetStatu(Status.DEATH); break; case Actions.ATTACK: if (Math.Abs(CurVo.TargetPoint.x) > 0) { int dir = CurVo.TargetPoint.x < MeController.Me.GoBase.transform.position.x ? Directions.Left : Directions.Right; MeController.Me.ChangeDire(dir); } MeController.SkillController.RequestUseSkill(SkillController.Attack1); //宠物暂时只做一次攻击 /*if (MeController.StatuController.CurrentCombStatu == Status.COMB_0 || MeController.StatuController.CurrentCombStatu == Status.COMB_2) * { * MeController.SkillController.RequestUseSkill(SkillController.Attack1); * } * else if (MeController.StatuController.CurrentCombStatu == Status.COMB_1) * { * MeController.SkillController.RequestUseSkill(SkillController.Attack2); * }*/ break; } } if (AttackList.Count > 0 && (MeController.StatuController.CurrentStatu == Status.HURT1 || MeController.StatuController.CurrentStatu == Status.HURT2 || MeController.StatuController.CurrentStatu == Status.HURT3)) { CurVo = AttackList[0]; if (CurVo.ActionType == Actions.DEATH) { AttackList.Clear(); MeController.StatuController.SetStatu(Status.DEATH); } } if (AttackList.Count > 0 && MeController.StatuController.CurrentStatu == Status.HURTDOWN) { CurVo = AttackList[0]; if (CurVo.ActionType == Actions.DEATH) { AttackList.Clear(); Invoke("Death", 0.3f); } } }
public MeControllerTest() { UserServiceMock = new Mock <IUserService>(); LoggerMock = new Mock <ILogger <UserController> >(); LocalizerMock = new Mock <ISharedResource>(); Configuration = new Mock <IConfiguration>(); ControllerUnderTest = new MeController(UserServiceMock.Object, LoggerMock.Object, LocalizerMock.Object); ControllerUnderTest.ControllerContext = new ControllerContext(); ControllerUnderTest.ControllerContext.HttpContext = new DefaultHttpContext(); }
private void Update() { if (MapMode.StartAutoMove || MeController.StatuController.CurrentStatu == Status.DEATH) { AttackList.Clear(); //切图的过程中情况攻击列表 } if ((MeController.StatuController.CurrentCombStatu >= MeController.StatuController.MaxComb && MeController.StatuController.MaxComb > 1) || MeController.StatuController.CurrentStatu == Status.Win) { if (NeedClear()) { AttackList.Clear(); } } if (AttackList.Count > 0 && (MeController.StatuController.CurrentStatu == Status.IDLE || MeController.StatuController.CurrentStatu == Status.RUN) && MeController.SkillController.SkillList.Count == 0) { CurVo = AttackList[0]; AttackList.RemoveAt(0); switch (CurVo.ActionType) { case Actions.RUN: MeController.MoveTo(CurVo.RunDestination.x, CurVo.RunDestination.y); break; case Actions.DEATH: MeController.StatuController.SetStatu(Status.DEATH); break; case Actions.ATTACK: if (MeController.StatuController.CurrentCombStatu == Status.COMB_0 || (MeController.StatuController.CurrentCombStatu == MeController.StatuController.MaxComb)) { MeController.SkillController.RequestUseSkill(SkillController.Attack1); } else if (MeController.StatuController.CurrentCombStatu == Status.COMB_1) { MeController.SkillController.RequestUseSkill(SkillController.Attack2); } else if (MeController.StatuController.CurrentCombStatu == Status.COMB_2) { MeController.SkillController.RequestUseSkill(SkillController.Attack3); } else if (MeController.StatuController.CurrentCombStatu == Status.COMB_3) { MeController.SkillController.RequestUseSkill(SkillController.Attack4); } break; } } }
/// <summary> /// 移动到攻击范围内 /// </summary> /// <param name="enemyDisplay"></param> private void MoveToAttackRange(ActionDisplay enemyDisplay) { Vector3 targetPoint = _meTransform.position; if (targetPoint.x < enemyDisplay.Controller.transform.position.x) { MeController.Me.ChangeDire(Directions.Right); } else { MeController.Me.ChangeDire(Directions.Left); } MeController.MoveByDir(MeController.Me.CurFaceDire); }
private void DoIdleLogic() { int mapType = AppMap.Instance.mapParser.MapVo.type; if (mapType == MapTypeConst.CITY_MAP) { FollowMaster(); } else if (mapType == MapTypeConst.COPY_MAP && _idleTime > 1) { _idleTime = 0; var destination = GetMoveDestination(); MeController.MoveTo(destination.x, destination.y); } }
/// <summary> /// 移动到攻击范围内 /// </summary> /// <param name="enemyDisplay"></param> private void MoveToAttackRange(ActionDisplay enemyDisplay) { Vector3 mePoint = _meTransform.position; var pos = enemyDisplay.Controller.transform.position; if (mePoint.x < pos.x) { pos.x = pos.x - _talentSkillVo.cover_width * 0.001f + 0.1f; } else { pos.x = pos.x + _talentSkillVo.cover_width * 0.001f - 0.1f; } MeController.MoveTo(pos.x, pos.y); }
public void OnTriggerEnter(Collider other) { if ("MeDisplay(Clone)" == other.collider.gameObject.name) { State.KEEP_IDLE = true; if (true == State.ON_JUMP) //在跳的过程中 { Vector3 v = (ToolsFunction.EqualFloat(other.transform.eulerAngles.y, 90) == true ? new Vector3(73, 2.3f, 57) : new Vector3(25, 2.3f, 11)); MeController.MoveTo(other.gameObject, v, 2f); other.gameObject.GetComponent <Animation>().Play(State.ANIM_HANDS_UP); ToolsFunction.AddScore(DataConst.SCORE_LINE);//加分 } else { other.transform.position -= 0.1f * ToolsFunction.Toward(other.gameObject); //现在人就是往后退了,然后应该会重新检测吧!!!! ToolsFunction.AddScore(-DataConst.SCORE_LINE / 2); //减分 } } }
/// <summary> /// 绑定在宝箱上的触发器,执行了动作就打开宝箱 /// </summary> /// <param name="other"></param> public void OnTriggerEnter(Collider other) { if ("MeDisplay(Clone)" == other.gameObject.name) { State.KEEP_IDLE = true; if (true == State.ON_FIGHT) { BoxAnimator.SetBool("die", true); //这里要播放一个捡金币的动画 this.GetComponent <BoxCollider>().enabled = false; //禁用触发器 MeController.SetAction(other.gameObject.GetComponent <Animation>(), State.ANIM_PICK_UP); //播放捡东西的动作 } else { other.transform.position -= 0.1f * ToolsFunction.Toward(other.gameObject); ToolsFunction.AddScore(-DataConst.SCORE_BOX / 2); //加分 } } }
/// <summary> /// 找到在当前副本阶段行走区域范围内最近的怪物 /// </summary> /// <returns></returns> private ActionDisplay FindNearestEnemyInMapRange() { ActionDisplay result = null; float dis = 1000000; IList <ActionDisplay> tempList = AppMap.Instance.monsterList.Cast <ActionDisplay>().ToList(); if (MeController.GetMeVo().Id == AppMap.Instance.me.GetVo().Id) { foreach (PlayerDisplay display in AppMap.Instance.playerList) { if (display != AppMap.Instance.me) { tempList.Add(display); } } } else { tempList.Add(AppMap.Instance.me); } foreach (ActionDisplay actionDisplay in tempList) { float x = actionDisplay.GoBase.transform.position.x; float y = actionDisplay.GoBase.transform.position.y; MapRange mapRange = AppMap.Instance.mapParser.CurrentMapRange; if (x < mapRange.MinX || x > mapRange.MaxX || y < mapRange.MinY || y > mapRange.MaxY) { continue; } if (actionDisplay.GetMeVoByType <BaseRoleVo>().CurHp == 0) { continue; } float curDis = GeteEnemyDistance(actionDisplay); if (curDis < dis) { result = actionDisplay; dis = curDis; } } return(result); }
/// <summary> /// 获取敌人信息 /// </summary> /// <returns>敌人列表</returns> private IList <ActionDisplay> GetEnemyDisplay() { IList <ActionDisplay> tempList = AppMap.Instance.monsterList.Cast <ActionDisplay>().ToList(); if (MeController.GetMeVo().Id == AppMap.Instance.me.GetVo().Id) { foreach (PlayerDisplay display in AppMap.Instance.playerList) { if (display != AppMap.Instance.me) { tempList.Add(display); } } } else { tempList.Add(AppMap.Instance.me); } return(tempList); }
public MeControllerTests() { var options = new Mock <IOptions <IdentityOptions> >(); var hasher = new Mock <IPasswordHasher <User> >(); var lookup = new Mock <ILookupNormalizer>(); var provider = new Mock <System.IServiceProvider>(); var logger = new Mock <ILogger <UserManager <User> > >(); var userManager = new UserManager <User>( _userStore.Object, options.Object, hasher.Object, new List <IUserValidator <User> >(), new List <IPasswordValidator <User> >(), lookup.Object, new IdentityErrorDescriber(), provider.Object, logger.Object ); Controller = new MeController(userManager); }
/// <summary> /// 没有怪物时的AI移动逻辑 /// </summary> private void AiMoveBehaviourNoEnemy() { MapRange mapRange = AppMap.Instance.mapParser.CurrentMapRange; Vector3 targetPoint = _meTransform.position; if (MapMode.CanGoToNextPhase) { MeController.Me.ChangeDire(Directions.Right); MeController.MoveByDir(MeController.Me.CurFaceDire); return; } if (targetPoint.x < mapRange.MinX + 1) { MeController.Me.ChangeDire(Directions.Right); } else if (targetPoint.x > mapRange.MaxX - 1) { MeController.Me.ChangeDire(Directions.Left); } MeController.MoveByDir(MeController.Me.CurFaceDire); }
private void Update() { if (AttackList.Count > 0 && ((MeController.StatuController.CurrentStatu == Status.IDLE && MeController.StatuController.CurStatuNameHash == Status.NAME_HASH_IDLE) || (MeController.StatuController.CurrentStatu == Status.RUN || MeController.StatuController.CurStatuNameHash == Status.NAME_HASH_RUN))) { CurVo = AttackList[0]; AttackList.RemoveAt(0); switch (CurVo.ActionType) { case Actions.RUN: MeController.MoveTo(CurVo.RunDestination.x, CurVo.RunDestination.y); break; case Actions.DEATH: MeController.StatuController.SetStatu(Status.DEATH); break; case Actions.ATTACK: if (Math.Abs(CurVo.TargetPoint.x) > 0) { int dir = CurVo.TargetPoint.x < MeController.Me.GoBase.transform.position.x ? Directions.Left : Directions.Right; MeController.Me.ChangeDire(dir); } //怪物只有两连击 if (MeController.StatuController.CurrentCombStatu == Status.COMB_0 || MeController.StatuController.CurrentCombStatu == Status.COMB_2) { print("****SkillController.Attack1"); MeController.SkillController.RequestUseSkill(SkillController.Attack1); } else if (MeController.StatuController.CurrentCombStatu == Status.COMB_1) { print("****SkillController.Attack2"); MeController.SkillController.RequestUseSkill(SkillController.Attack2); } break; } } if (AttackList.Count > 0 && (MeController.StatuController.CurrentStatu == Status.HURT1 || MeController.StatuController.CurrentStatu == Status.HURT2 || MeController.StatuController.CurrentStatu == Status.HURT3)) { CurVo = AttackList[0]; if (CurVo.ActionType == Actions.DEATH) { AttackList.Clear(); MeController.StatuController.SetStatu(Status.DEATH); } } if (AttackList.Count > 0 && MeController.StatuController.CurrentStatu == Status.HURTDOWN) { CurVo = AttackList[0]; if (CurVo.ActionType == Actions.DEATH) { AttackList.Clear(); Invoke("Death", 0.3f); } } }
public void InitTest() { this.mock = new MockContainer(); this.mock.PrepareMocks(); this.fakeContests = this.mock.ContestsRepositoryMock.Object.All(); this.fakePictures = this.mock.PictureRepositoryMock.Object.All(); this.fakeMaintanceLogs = this.mock.MaintanceLogRepositoryMock.Object.All(); this.fakeUsers = this.mock.UsersRepositoryMock.Object.All(); this.user = this.fakeUsers.FirstOrDefault(); this.mockContext = new Mock<IPhotoContestData>(); this.mockContext.Setup(c => c.Contests.All()) .Returns(this.fakeContests); this.mockContext.Setup(c => c.Pictures.All()) .Returns(this.fakePictures); this.mockContext.Setup(c => c.MaintanceLogs.All()) .Returns(this.fakeMaintanceLogs); this.mockContext.Setup(c => c.Users.All()) .Returns(this.fakeUsers); this.mockContext.Setup(c => c.Users.Find(It.IsAny<string>())) .Returns((string id) => { return this.fakeUsers.FirstOrDefault(n => n.Id == id); }); this.mockContext.Setup(c => c.Pictures.Add(It.IsAny<Picture>())) .Callback((Picture picture) => { this.mock.PictureRepositoryMock.Object.Add(picture); }); this.meController = new MeController(this.mockContext.Object); }
private bool areInputsEnabled; // True if inputs are enabled, false otherwise public InputManager(MeController meController) { this.meController = meController; areInputsEnabled = true; }