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)); }
private void MakeLoot() { if (thisLoot != null) { PowerUP current = thisLoot.LootPowerUp(); if (current != null) { Instantiate(current.gameObject, transform.position, Quaternion.identity); } } }
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; }
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(); }
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; }
private void Start() { pu = mainObj.GetComponent <PowerUP>(); }