Exemplo n.º 1
0
    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";
        }
    }
Exemplo n.º 2
0
 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;
     }
 }
Exemplo n.º 3
0
 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");
 }
Exemplo n.º 4
0
 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;
         }
     }
 }
Exemplo n.º 5
0
 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;
                     }
                 }
             }
         }
     }
 }