Exemplo n.º 1
0
 private void SetParticleNumber(int num)
 {
     if (transform.childCount != 0)
     {
         if (num > transform.childCount)
         {
             Transform tempOriginal = transform.GetChild(0);
             var       skin         = GetComponent <SkinManager>();
             for (int i = transform.childCount; i < num; i++)
             {
                 var temp = Instantiate(tempOriginal, transform);
                 temp.name = tempOriginal.name;
                 var temp2 = new SkinManager.ImageInfo(temp.GetComponent <SpriteRenderer>(), skin[0].OriginalImage, skin[0].CurrentColor);
                 temp2.ReplaceColorOfSprites(skin[0].CurrentColor);
                 skin.AddRenderer(temp2);
             }
         }
         else
         {
             var skin = GetComponent <SkinManager>();
             for (int i = transform.childCount - 1; i >= num; i--)
             {
                 skin.RemoveRenderer(transform.GetChild(i).GetComponent <SpriteRenderer>());
                 Destroy(transform.GetChild(i).gameObject);
             }
         }
     }
     else
     {
         Transform tempOriginal = Resources.Load <Transform>("Prefabs/" + BuildPathToWeapon <OrbitAttack>()).transform.GetChild(0);
         var       skin         = GetComponent <SkinManager>();
         for (int i = 0; i < num; i++)
         {
             var temp = Instantiate(tempOriginal, transform);
             temp.name = tempOriginal.name;
             var temp2 = new SkinManager.ImageInfo(temp.GetComponent <SpriteRenderer>(), skin[0].OriginalImage, skin[0].CurrentColor);
             temp2.ReplaceColorOfSprites(skin[0].CurrentColor);
             skin.AddRenderer(temp2);
         }
     }
 }
Exemplo n.º 2
0
 private void LateUpdate()
 {
     transform.localPosition = new Vector3(Random.value * Size, 0f);
     while ((_activeBullets + 1) * Size > _machineGun.CurrentReach && _activeBullets > 0)
     {
         _bullets[--_activeBullets].gameObject.SetActive(false);
     }
     while (_activeBullets * Size < _machineGun.CurrentReach - Size)
     {
         if (_activeBullets >= _bullets.Count)
         {
             var temp = Instantiate(_bullets[0], transform);
             _bullets.Add(temp);
             var temp2 = new SkinManager.ImageInfo(temp.GetComponent <SpriteRenderer>(), _skin[0].OriginalImage, _skin[0].CurrentColor);
             temp2.ReplaceColorOfSprites(_skin[0].CurrentColor);
             _skin.AddRenderer(temp2);
             _bullets[_activeBullets].localPosition = (_activeBullets + 1) * Size * Vector3.right;
         }
         _bullets[_activeBullets++].gameObject.SetActive(true);
     }
     enabled = _machineGun.enabled;
 }