public override void launch() { BasicUnits it = owner.GetComponent <BasicUnits>(); if (isActive) { //description = "激活顶盾,物防增加30%,速度降低30%"; description = "Increase Melee DEF by 30% but decrease SPD by 30%."; isActive = false; it.phDef /= FactorDef; it.movSpd /= FactorSpd; //name = "顶盾(未激活)"; name = "Activate Defense"; } else { //description = "取消顶盾"; description = "Normalise the Melee DEF and SPD."; isActive = true; it.phDef *= FactorDef; it.movSpd *= FactorSpd; //name = "顶盾"; name = "Inactivate Defense"; } }
public override void launch() { if (owner.GetComponent <Hero>().skillPoint >= 4 && isLearned) { owner.GetComponent <Hero>().skillPoint -= 4; owner.GetComponent <BasicUnits>().state = 0; owner.GetComponent <BasicUnits>().setPosition = null; Collider2D[] effect = Physics2D.OverlapCircleAll(owner.transform.position, radius); foreach (Collider2D thing in effect) { if (thing.isTrigger && thing.GetComponent <BasicUnits>() != null) { BasicUnits it = thing.GetComponent <BasicUnits>(); if (it.team != 1) { it.HP -= damage * owner.GetComponent <BasicUnits>().phAtk - it.phDef; if (it.HP <= 0) { it.killer = owner; } } } } currentCD = maxCD; } }
private void Copy() { string[] rlt = SelectedItem.CombinedUnits.Split(",".ToCharArray()); for (int i = 0; i < rlt.Count(); i++) { UnitPriceItemModel item = BasicUnits.FirstOrDefault(x => x.Code == rlt[i]); if (item != null) { if (!CombiningUnits.Contains(item)) { CombiningUnits.Add(item); } } } EditName = string.Empty; SelectedItem = null; OnPropertyChanged("CombinedPrice"); }
public override void Update() { base.Update(); if (isAiming) { if (owner.GetComponent <Hero>().skillPoint < 4) { isAiming = false; player.orignalMouse.GetComponent <SpriteRenderer>().enabled = true; player.targetMouse.GetComponent <SpriteRenderer>().enabled = false; player.isOrign = true; } if (Input.GetMouseButtonDown(1)) { isAiming = false; player.orignalMouse.GetComponent <SpriteRenderer>().enabled = true; player.targetMouse.GetComponent <SpriteRenderer>().enabled = false; player.isOrign = true; } if (Input.GetMouseButtonDown(0)) { tarPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); owner.GetComponent <BasicUnits>().state = indicate; owner.GetComponent <BasicUnits>().setPosition = null; isAiming = false; player.orignalMouse.GetComponent <SpriteRenderer>().enabled = true; player.targetMouse.GetComponent <SpriteRenderer>().enabled = false; player.isOrign = true; player.tarPoint.transform.position = tarPoint; if (player.tarPoint.GetComponent <ToMoveAnime>().isPlay) { player.tarPoint.GetComponent <ToMoveAnime>().time = 0f; player.tarPoint.GetComponent <Animator>().Play("ToMovePoint"); } else { player.tarPoint.GetComponent <ToMoveAnime>().isPlay = true; } } } if (owner.GetComponent <BasicUnits>().state == indicate) { if (owner.GetComponent <Hero>().skillPoint < 4) { owner.GetComponent <BasicUnits>().state = 0; } owner.transform.position = Vector2.MoveTowards(owner.transform.position, tarPoint, owner.GetComponent <BasicUnits>().movSpd *Time.deltaTime); if (Vector2.Distance(owner.transform.position, tarPoint) <= radius) { owner.GetComponent <Hero>().skillPoint -= 4; RaycastHit2D[] Object = Physics2D.CircleCastAll(owner.transform.position, radius2, tarPoint - (Vector2)owner.transform.position, Vector2.Distance(owner.transform.position, tarPoint)); foreach (RaycastHit2D unit in Object) { if (unit.collider.isTrigger && unit.collider.GetComponent <BasicUnits>() != null) { BasicUnits it = unit.collider.GetComponent <BasicUnits>(); if (it.team != owner.GetComponent <BasicUnits>().team) { it.HP -= damage * owner.GetComponent <BasicUnits>().phAtk - it.phDef; if (it.HP <= 0) { it.killer = owner; } } } } owner.GetComponent <BasicUnits>().state = 0; owner.transform.position = tarPoint; currentCD = maxCD; } } }
void Choose() { if (isOrign) { if (Input.GetMouseButtonDown(0) && !ishold) { ishold = true; box1S = Input.mousePosition; box1 = Camera.main.ScreenToWorldPoint(box1S); } if (ishold) { lineLeft.GetComponent <SpriteRenderer>().enabled = true; lineRight.GetComponent <SpriteRenderer>().enabled = true; lineDown.GetComponent <SpriteRenderer>().enabled = true; lineUp.GetComponent <SpriteRenderer>().enabled = true; Vector2 boxedS = Input.mousePosition; float x1 = box1.x; float x2 = mouse.x; float y1 = box1.y; float y2 = mouse.y; Vector2 h1 = new Vector2(x1, (y1 + y2) / 2); Vector2 h2 = new Vector2(x2, (y1 + y2) / 2); Vector2 v1 = new Vector2((x1 + x2) / 2, y1); Vector2 v2 = new Vector2((x1 + x2) / 2, y2); lineLeft.transform.position = h1; lineRight.transform.position = h2; lineUp.transform.position = v1; lineDown.transform.position = v2; float scaleH = Mathf.Abs(box1S.x - boxedS.x) / 2070f; float scaleV = Mathf.Abs(box1S.y - boxedS.y) / 1170f; lineLeft.transform.localScale = new Vector2(0.5f, scaleV); lineRight.transform.localScale = new Vector2(0.5f, scaleV); lineUp.transform.localScale = new Vector2(scaleH, 0.5f); lineDown.transform.localScale = new Vector2(scaleH, 0.5f); } if (Input.GetMouseButtonUp(0) && ishold) { lineLeft.GetComponent <SpriteRenderer>().enabled = false; lineRight.GetComponent <SpriteRenderer>().enabled = false; lineDown.GetComponent <SpriteRenderer>().enabled = false; lineUp.GetComponent <SpriteRenderer>().enabled = false; ishold = false; Collider2D[] myunitss = Physics2D.OverlapAreaAll(box1, mouse); List <Collider2D> myunits = new List <Collider2D>(); if (myunitss != null) { foreach (Collider2D unit in myunitss) { if (unit.isTrigger && unit.GetComponent <BasicUnits>() != null) { myunits.Add(unit); } } } List <GameObject> boxChoice = new List <GameObject>(); List <GameObject> enemyBox = new List <GameObject>(); if (myunits != null) { if (enemyChoice != null) { enemyChoice.GetComponent <BasicUnits>().enemyChosen = false; enemyChoice = null; } foreach (Collider2D unit in myunits) { BasicUnits mine1 = unit.GetComponent <BasicUnits>(); if (mine1 != null) { if (mine1.team == 1) { if (mine1.GetComponent <Hero>() != null) { boxChoice.Insert(0, unit.gameObject); } else { boxChoice.Add(unit.gameObject); } } else { enemyChoice = unit.gameObject; } } } if (boxChoice.Count > 0) { if (chosen.Count != 0) { chosen[0].GetComponent <BasicUnits>().isFirst = false; foreach (GameObject a in chosen) { a.GetComponent <BasicUnits>().isChosen = false; } } boxChoice[0].GetComponent <BasicUnits>().isFirst = true; foreach (GameObject unit in boxChoice) { unit.GetComponent <BasicUnits>().isChosen = true; } chosen = boxChoice; enemyChoice = null; } else { if (enemyChoice != null && enemyChoice.GetComponent <SpriteRenderer>().enabled) { foreach (GameObject mine in chosen) { mine.GetComponent <BasicUnits>().isChosen = false; } chosen.Clear(); enemyChoice.GetComponent <BasicUnits>().enemyChosen = true; } else { enemyChoice = null; } } } } } }