public override void Execute(AbstractPerson ap) { // Debug.Log(ap.obj.GetInstanceID()+": "+ap.IsConst); //如果不可选定(硬直),告辞 //数值 // Debug.Log( ap.name + "收到" + this.damage + "伤害"); // BloodChange if (!ap.IsConst) { ap.TakeBattleEffect(new DamageNumberEffect(this.damage, 0.3f * ap.Scanler, Color.red, this.dir, 1f, UnityEngine.Random.Range(10, 60))); } CEventCenter.BroadMessage(Message.M_BloodChange(ap.obj), -this.damage); ap.OnTakeDamage(this.damage); if (!(ap is Player)) { // Debug.Log(Message.M_ChangeSmallLevel + " " + this.damage); CEventCenter.BroadMessage(Message.M_ChangeSmallLevel, this.damage); } this.Release(ap); }
public void TestGetAgenda() { Event hackathon = new Event("hackathon"); hackathon.StartTime = new DateTime(2020, 02, 13); hackathon.EndTime = new DateTime(2020, 02, 15); Event rentree = new Event("rentrée"); rentree.StartTime = new DateTime(2019, 12, 09); rentree.EndTime = new DateTime(2019, 12, 10); List <Event> events = new List <Event>(); events.Add(rentree); events.Add(hackathon); AbstractPerson person = new AbstractPerson(); person.Agenda = events; DateTime date1 = new DateTime(2019, 01, 10); DateTime date2 = new DateTime(2020, 03, 10); Assert.AreEqual("rentrée\nhackathon\n", person.GetEvents(date1, date2, events)); }
public void TestEventList() { List <Event> Agenda = new List <Event>(); Event event1 = new Event(201, "event201", Convert.ToDateTime(02 - 02 - 2020), Convert.ToDateTime(03 - 03 - 2020), "Lorem ipsum"); Event event2 = new Event(202, "event202", Convert.ToDateTime(03 - 03 - 2020), Convert.ToDateTime(04 - 04 - 2020), "Lorem ipsum"); Event event3 = new Event(203, "event203", Convert.ToDateTime(04 - 04 - 2020), Convert.ToDateTime(05 - 05 - 2020), "Lorem ipsum"); Event event4 = new Event(204, "event204", Convert.ToDateTime(05 - 05 - 2020), Convert.ToDateTime(06 - 06 - 2020), "Lorem ipsum"); Event event5 = new Event(205, "event205", Convert.ToDateTime(06 - 06 - 2020), Convert.ToDateTime(06 - 06 - 2020), "Lorem ipsum"); Agenda.Add(event1); Agenda.Add(event2); Agenda.Add(event3); Agenda.Add(event4); Agenda.Add(event5); IEnumerable <AbstractPerson> Subordinates = new List <AbstractPerson>(); AbstractPerson newStudent = PersonFactory.CreatePerson("Student200", "Student", "3", Agenda, 5, Subordinates); List <Event> Student200Agenda = Database.GetEventsList("Student200", Convert.ToDateTime(03 - 03 - 2020), Convert.ToDateTime(05 - 05 - 2020)); List <Event> ResultAgenda = new List <Event>(); ResultAgenda.Add(event2); ResultAgenda.Add(event3); ResultAgenda.Add(event4); Assert.AreEqual(ResultAgenda, Student200Agenda); }
public void T7() { AbstractPerson person = Auto.Make <AbstractPerson>(); var i = person.NonAbstractIntId; Assert.That(i, Is.EqualTo(int.MaxValue)); }
private void OnTriggerEntry(Collider2D col) { var col2d = obj.GetComponent <Collider2D>(); if (col2d.IsTouchingLayers(1 << LayerMask.NameToLayer("BasicPlatform"))) { // Debug.Log("碰到地面"); DestoryThis(); return; } var ap = AbstractPerson.GetInstance(col.gameObject); if (ap == null) { return; } if (ap is Player && this.origin is Player) { // Debug.Log($"两个都是Player:[{ap.CharacterName}][{origin.CharacterName}]"); return; } if (!(ap is Player) && !(this.origin is Player)) { // Debug.Log($"两个都不是Player:[{ap.CharacterName}][{origin.CharacterName}]"); return; } // Debug.Log(this.origin.CharacterName+" 攻击 "+ap.characterInfoInfo); this.origin.OnCauseDamage(damage); ap.PlayAcceptEffects(origin); DestoryThis(); }
public DirectLineBullet(int damage, Vector3 dir, Vector3 pos, AbstractPerson origin, string path, float speed = 8f, float maxLife = 6f, Transform parent = null) : base(damage, origin, path, pos, maxLife, parent) { this.dir = dir; this.speed = speed; AudioMgr.Instance.PlayEffect(AudioPath.beiji, this.obj.transform.position); }
/// <summary> /// 触发函数 /// </summary> /// <param name="self">使用技能的单位</param> /// <param name="ignoreInput">是否屏蔽技能输入</param> public void Execute(AbstractPerson self, bool ignoreInput = false, float startTime = 0) { if (!self.InputOk) { return; } if (ignoreInput) { self.IgnoreInput(this.lastTime); return; } this.startTime = startTime; if (this.isUsed == true) { foreach (var trigger in skillTriggers) { trigger.Release(); } } else { this.isUsed = true; } if (onSkillBegin != null) { onSkillBegin(this); } foreach (var trigger in skillTriggers) { trigger.Execute(self); } MainLoop.Instance.ExecuteLater(Reset, this.lastTime); }
public void For_Method_Returns_Correct_Component_When_Service_Is_Abstract() { // arrange Dictionary <string, string> mappings = new Dictionary <string, string> { { "name", "name" }, { "age", "age" } }; // act var component = PropertyResolvingComponent.For <AbstractPerson>() .ImplementedBy <Person>() .DependsOn(mappings) .WithLifestyle(LifestyleType.Transient); m_container.Register(component); // assert AbstractPerson abstractPerson = m_container.Resolve <AbstractPerson>(); Assert.IsInstanceOf <Person>(abstractPerson); Person person = (Person)abstractPerson; Assert.AreEqual("Mihir", person.Name); Assert.AreEqual(31, person.PersonAge); Assert.IsNull(person.PlaceOfBirth); }
private void End(AbstractPerson ap) { if (this.empty) { UnityEngine.Object.Destroy(this.empty); } }
private void OnTriggerEntry(Collider2D col) { var col2d = obj.GetComponent <Collider2D>(); if (col2d.IsTouchingLayers(1 << LayerMask.NameToLayer("BasicPlatform"))) { Debug.Log("碰到地面"); DestoryThis(); return; } var ap = AbstractPerson.GetInstance(col.gameObject); if (ap == null) { return; } if (ap is Player && this.origin is Player) { Debug.Log("两个都是Player"); return; } if (!(ap is Player) && !(this.origin is Player)) { Debug.Log("两个都不是Player"); return; } this.origin.OnCauseDamage(damage); ap.TakeBattleEffect(this.origin.AttackEffect); DestoryThis(); }
public override void Execute(AbstractPerson self) { this.dir = new Vector2(self.Dir * Mathf.Abs(this.dir.x), this.dir.y); Debug.Log(this.maxLife); this.bullet = new DirectLineBullet(GameMath.Damage(self.Attack), this.dir, self.Pos + new Vector3(0, 0.3f * self.Scanler, 0) , self, DirPath.BulletDir + this.resName, speed: this.speed, maxLife: this.maxLife); }
public void SetUp() { Cursus csharp = new Cursus(); AbstractPerson student1 = PersonFactory.Create("Tom", null, null, csharp); AbstractPerson student2 = PersonFactory.Create("Lys", null, null, csharp); AbstractPerson student3 = PersonFactory.Create("Nathaniel", null, null, csharp); List <AbstractPerson> _students = new List <AbstractPerson>(); _students.Add(student1); _students.Add(student2); _students.Add(student3); //List<AbstractPerson> _instructors = new List<AbstractPerson>(); AbstractPerson _instructor = PersonFactory.Create("Instructor1", _students); /*Cursus csharp = new Cursus(); * _students = new List<AbstractPerson> * { * new Students("Tom",csharp), * new Students("Lys", csharp), * new Students("Nathaniel",csharp) * }; * * _instructors = new List<AbstractPerson> * { * new Instructor("Instructor", _students) * }; * * _lead = new LeadInstructor("Chef", _instructors);*/ }
private void OnTriggerEnter(Collider2D col) { var hitPerson = AbstractPerson.GetInstance(col.gameObject); if (hitPerson == null) { // Debug.Log("打击人物为空"); return; } else { Debug.Log("打击到”" + hitPerson.CharacterName); } switch (damageType) { case DamageType.PlayerToEnemy: if (hitPerson is Player) { break; } hitPerson.PlayAcceptEffects(self); break; case DamageType.EnemyToPlayer: if (hitPerson is Player) { hitPerson.PlayAcceptEffects(self); } break; } }
public override void OnStart() { player = GlobalVar.G_Player; actor = gameObject.GetComponent <Actor>(); _animator = gameObject.GetComponent <Animator>(); self = AbstractPerson.GetInstance(gameObject); _animator.Play(Animator.StringToHash(walkAni)); }
public void AddToGoto(AbstractPerson agent, Enums.ContainerType containerType) { lock (gotoAgents) { gotoAgents.Add(agent); gotoContainers.Add(containerType); } }
public override void OnStart() { base.OnStart(); actor = gameObject.GetComponent <Actor>(); self = AbstractPerson.GetInstance(gameObject); gameObject.GetComponent <Animator>().Play(Animator.StringToHash(walkAni)); timer = 0; }
public void T5() { AbstractPerson person = Auto.Make <AbstractPerson>(); var i = person.Readonly; Assert.That(person, Is.Not.Null); Assert.That(i, Is.EqualTo(int.MaxValue)); }
public void T6() { AbstractPerson person = Auto.Make <AbstractPerson>(); var i = person.NonAbstractBasicMethod(1); Assert.That(person, Is.Not.Null); Assert.That(i, Is.Null); }
public void T2() { AbstractPerson person = Auto.Make <AbstractPerson>().Object; var i = person.GenericMethod <string, string>("arg1", "arg2"); Assert.That(person, Is.Not.Null); Assert.That(i, Is.EqualTo("string")); }
public void T4() { AbstractPerson person = Auto.Make <AbstractPerson>().Object; var i = person.BasicMethod(1); Assert.That(person, Is.Not.Null); Assert.That(i, Is.Not.Null); }
public void T1() { AbstractPerson person = Auto.Make <AbstractPerson>().Object; var i = person["string", 1]; Assert.That(person, Is.Not.Null); Assert.That(i, Is.EqualTo(int.MaxValue)); }
public void TestCreateStudents() { Cursus csharp = new Cursus(); AbstractPerson student = PersonFactory.Create("Dan"); string typeName = typeof(Students).ToString(); Assert.AreEqual(typeName, student.GetType().ToString()); }
public override void OnTakeDamage(AbstractPerson takeDamageFrom, int damage) { if (IsConst) { return; } base.OnTakeDamage(takeDamageFrom, damage); CEventCenter.BroadMessage(Message.M_PlayerBloodChange, -Mathf.Abs(damage)); }
private void Update(AbstractPerson ap) { if (empty == null) { Debug.Log("伤害检测物体为空"); return; } empty.transform.Rotate(new Vector3(0, 0, this.speed)); }
public override void Execute(AbstractPerson ap) { ScreenShake.Instance.enabled = false; ScreenShake.Instance.enabled = true; ScreenShake.Instance.shakeDir = this.howmuch * Vector3.one; ScreenShake.Instance.shakeTime = this.time; this.Release(ap); }
public override void OnStart() { self = AbstractPerson.GetInstance(gameObject); SkillInfoAsset.Vector3Cache = GlobalVar.G_Player.Pos; // Debug.Log($"写入用户数据:【{SkillInfoAsset.skillName.StringValue}】" + SkillInfoAsset.Vector3Cache); self.RunSkill(SkillInfoAsset); timer = 0; gameObject.GetComponent <Actor>()._velocity = Vector3.zero; }
public BloodBarUI(AbstractPerson ap) { this.ap = ap; base.Create(DirPath.LittleUiDir + UiName.Slider_BloodBar); m_TransFrom.position = Camera.main.WorldToScreenPoint(ap.Pos + new Vector3(0, ap.Scanler * 0.3f, 0)); this.slider = m_TransFrom.GetComponent <Slider>(); this.slider.value = (float)this.ap.Hp / this.ap.MaxHp; Show(); }
public override void Execute(AbstractPerson ap) { this.ap = ap; sr = ap.obj.GetComponent <SpriteRenderer>(); int x = (int)(this.lastTime / this.durTime); int n = x % 2 == 0 ? x + 1 : x; MainLoop.Instance.ExecuteEverySeconds(_Execute, n, this.durTime, _Reset); }
public override float OnTakeDamage(AbstractPerson takeDamageFrom, BasicDamage damage) { var realDamage = base.OnTakeDamage(takeDamageFrom, damage); if (realDamage > 0) { headBloodBar.Value -= realDamage; } return(realDamage); }
void OnTriggerExit2D(Collider2D col) { if (null == AbstractPerson.GetInstance <Player>(col.gameObject)) { return; } Game.Const.DefaultData.PlayerPos = this.newPosition; SceneMgr.LoadScene(newSceneName, newUIName); }