Beispiel #1
0
    public void CreateAndFlyPowerUP(PowerUPType type, PlayerData pm)
    {
        PowerUP powerUP = Instantiate(PowerUPPrefab);

        powerUP.SetPowerType(type, powerUPtypeSprites.Find(x => x.type == type).Sprite);
        powerUP.transform.position = pm.gameObject.transform.position;
        powerUP.FlyToTarget(GetRandomTargetTile(true, true));
    }
Beispiel #2
0
 private void MakeLoot()
 {
     if (thisLoot != null)
     {
         PowerUP current = thisLoot.LootPowerUp();
         if (current != null)
         {
             Instantiate(current.gameObject, transform.position, Quaternion.identity);
         }
     }
 }
Beispiel #3
0
    private void SpawnPowerUP()
    {
        // Create powerUP object
        PowerUP power = Instantiate(PowerUPManager.instance.powerUPs[UnityEngine.Random.Range(0, PowerUPManager.instance.powerUPs.Length)], powerUPSpawnPoint.position, Quaternion.identity);

        // On pickup summon next
        power.OnPickUP += PowerUPPhase;

        // If player doesnt pick up it in time - spawn new
        power.OnDestroy += PowerUPPhase;
    }
Beispiel #4
0
    public void ShipDestroyed(Enemy e)
    {
        if (Random.value <= e.powerUpDropChance)
        {
            int        ndx    = Random.Range(0, powerUpFrequency.Length);
            WeaponType puType = powerUpFrequency[ndx];

            GameObject go = Instantiate(prefabPowerUp) as GameObject;
            PowerUP    pu = go.GetComponent <PowerUP>();
            pu.SetType(puType);

            pu.transform.position = e.transform.position;
        }
    }
 void Start()
 {
     root             = gameObject;
     UpgradePanel     = transform.parent.GetChild(2).gameObject;
     PutBuildingPanel = transform.parent.GetChild(3).gameObject;
     objclass[0]      = new HealPlayer();
     objclass[1]      = new PowerUP();
     objclass[2]      = new BuildMoney();
     objclass[3]      = new BuildAutoGun();
     objclass[4]      = new BuildSlatingShot();
     objclass[5]      = new BuildStop();
     objclass[6]      = new BuildSlantingBomb();
     objclass[7]      = new BuildResponceShot();
 }
Beispiel #6
0
    private void OnBoxDestroy(Vector3Int vector3Int)
    {
        int         random = UnityEngine.Random.Range(0, 8);
        PowerUPType put    = PowerUPType.Blastradius;

        switch (random)
        {
        case 0:
        case 1:
        case 2:
            //Speed, Blastradius, Bomb
            put = (PowerUPType)random;
            break;

        case 3:
            //Push, Throw
            put = (PowerUPType)(random + UnityEngine.Random.Range(0, 2));
            break;

        case 4:
            //Diarrhea, Joint, Superspeed
            int negative = UnityEngine.Random.Range(0, 16);
            if (negative > 2)
            {
                //no powereffect
                return;
            }
            put = (PowerUPType)5 + negative;
            break;

        default:
            return;
        }
        PowerUP pu = Instantiate(PowerUPPrefab);

        pu.SetPowerType(put, powerUPtypeSprites.Find(x => x.type == put).Sprite);
        pu.transform.position = new Vector3(0.5f, 0.5f) + vector3Int;
        Tiles[vector3Int.x, vector3Int.y].Type = TileType.Floor;
    }
Beispiel #7
0
 private void Start()
 {
     pu = mainObj.GetComponent <PowerUP>();
 }