public void FireRightCannon(string equippedProjectile) { GameObject newProjectile = pooler.SpawnFromPool(equippedProjectile, rCannon.transform.position, rCannon.transform.rotation);/*Instantiate(projectile, rCannon.transform.position, rCannon.transform.rotation) as GameObject;*/ newProjectile.transform.parent = projectileParent.transform; MakeSound(); }
public void FireProjectile() { Vector2 dir = target.position - transform.position; float shootAngle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg; pooler.SpawnFromPool(projectile, shooter.position, Quaternion.Euler(0, 0, shootAngle + 270)); }
private IEnumerator DelaySpawn(string id_type_objtospawn, string id_objtospawn, Vector3 spawnPos, int amountToSpawn) { float theDelay = Random.Range(minDelay, maxDelay); yield return(new WaitForSeconds(theDelay)); pooler.SpawnFromPool(id_type_objtospawn, id_objtospawn, spawnPos, amountToSpawn); currentSpawnablesNum++; isSpawning = false; yield break; }
private IEnumerator SpawnShip() { CreateNPCParent(); int portalIndex = GetPortalIndex(); int NPCIndex = GetNPCIndex(); //Debug = NPCIndex; var newNPC = pooler.SpawnFromPool(NPCs[NPCIndex], townPortals[portalIndex].transform.position, Quaternion.identity);/*Instantiate(NPCs[NPCIndex], townPortals[portalIndex].transform.position, Quaternion.identity);*/ StartCoroutine(newNPC.GetComponent <OverWorldNPC>().Spawn()); newNPC.transform.parent = overworldNPCParent.transform; yield return(new WaitForSeconds(spawnDelay)); }
private void SpawnClouds() { for (int i = activeClouds; i < numClouds; i++) { if (spawningClouds && parent.GetPlayerInArea()) { RollCloudPosition(); GameObject newCloud = pooler.SpawnFromPool(cloudTag, cloudPosition, Quaternion.Euler(new Vector3(0, 0, windDir))); newCloud.transform.parent = this.transform; newCloud.GetComponent <Cloud>().SetUpParent(); clouds.Add(newCloud); activeClouds++; } } }
private void SetConditions() { tansitioningFromFog = false; currentConditionsName = GetConditionTag(); GameObject newCondition = pooler.SpawnFromPool(currentConditionsName, transform.position, Quaternion.identity); newCondition.transform.parent = this.transform; newCondition.GetComponent <StormArea>().SetUpParent(); currentWindSpeed = newCondition.GetComponent <StormArea>().GetWindSpeed(); if (currentWindSpeed > 0) { isWindy = true; } StartCoroutine(Transition(newCondition)); StartCoroutine(EndCondition(newCondition)); }
void Casting(Vector3 direct, Transform playerpos, Hit dmg, InputAction act) { bool isattackheld = (act.activeControl != null) ? true : false; if (isattackheld) { chargeCounter += Time.deltaTime; //play anim, tho player combat already does that. Debug.Log("BMag: Casting..."); } else { if (chargeCounter > 0f) { string loadspell = null; for (int i = 0; i < ChargeList.Count; i++) //(MagicChargePair choggy in ChargeList) //could simplify so it's just one, but these should be short anyways. { if (chargeCounter >= ChargeList[i].ChargeLvl) { loadspell = ChargeList[i].prefabType; } } if (loadspell != null) { //Cast Item! //Add additional rotation Quaternion rotato = Quaternion.Euler(rotater); //Quaternion.LookRotation(playerpos.rotation.eulerAngles, Vector3.up); rotato = Quaternion.AngleAxis(playerpos.rotation.eulerAngles.y, Vector3.up) * rotato; //NOTE: Attach rotater to actual ammo GameObject bullet = pooler.SpawnFromPool(loadspell, playerpos.position, rotato); //NOTE: could pass in a specific fire position at another point. //Rigidbody bulletrigid = bullet.GetComponent<Rigidbody>(); //BaseBullet bulletScr = bullet.GetComponent<BaseBullet>(); direct.y = 0; //Setup Magic Script, with directions and stuff. Debug.Log("BMag: Casted!"); } } chargeCounter = 0f; } }
public void Shoot(Vector3 direct, Transform playerpos, Hit dmgStat) { //Add additional rotation Quaternion rotato = Quaternion.Euler(rotater); //Quaternion.LookRotation(playerpos.rotation.eulerAngles, Vector3.up); rotato = Quaternion.AngleAxis(playerpos.rotation.eulerAngles.y, Vector3.up) * rotato; //NOTE: Attach rotater to actual ammo GameObject bullet = AmmoPool.SpawnFromPool(bulletType, playerpos.position, rotato); //NOTE: could pass in a specific fire position at another point. Rigidbody bulletrigid = bullet.GetComponent <Rigidbody>(); BaseBullet bulletScr = bullet.GetComponent <BaseBullet>(); direct.y = 0; bulletrigid.AddForce(direct * bulletSpeed, ForceMode.VelocityChange); //try to switch to player's model rotation.= as direction bulletScr.SetBullet(enemies, dmgStat, playerpos.gameObject); //Possibly find a better player reference? }
private void OnTriggerEnter2D(Collider2D collision) { var player = collision.GetComponent <PlayerShipController>(); if (player != null && !hasWeather) { weatherArea = pooler.SpawnFromPool("Weather Area", transform.position, Quaternion.identity); //weatherArea.gameObject.SetActive(true); weatherArea.GetComponent <WeatherArea>().StartWeather(); weatherArea.transform.parent = /*this.*/ transform.parent; hasWeather = true; /*if(!weather.hasStarted) * { * StartCoroutine(weather.StartWeather()); * }*/ } }
IEnumerator StartSpawnGarbo(string garby, int count) { Debug.Log("Spawn running"); if (!SpawnPools.loaded) { yield return(new WaitForSeconds(4)); } for (int i = 0; i < count; i++) { float randx = Random.Range(minx, maxx); float randz = Random.Range(minz, maxz); Vector3 randPos = new Vector3(randx, centY, randz); SpawnPools.SpawnFromPool(garby, randPos, Quaternion.identity); } yield break; }
private void UseItemOrAbility() { if (isUsingItemOrAbility) { Vector2 playerVelocity = new Vector2(0, 0); myRigidBody.velocity = playerVelocity; StopMovement(); } if (equippedItem != null && equippedItem.melee) { myAnimator.SetBool("isSwingingSword", isUsingItemOrAbility); } else if (equippedItem != null && equippedItem.rangedType == "Thrown") { if (Input.GetButton("Action") && !inCooldown) { pooler.SpawnFromPool(equippedItem.itemName, transform.position, Quaternion.identity); ResetCooldown(equippedItem.cooldown); } } //myAnimator.SetBool("isAttacking", isUsingItemOrAbility); }
public static GameObject Spawn(PooledObjects pooledObject) { return(_instance.SpawnFromPool(pooledObject, Vector3.zero, Quaternion.identity)); }
// Update is called once per frame void FixedUpdate() { pooler.SpawnFromPool("Enemy", transform.position, Quaternion.identity); }
public void Shoot(Equipment item) { print(transform.localRotation); pooler.SpawnFromPool(item.itemName, transform.position, /*this*/ transform.localRotation); }