// // OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks // override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) // { // } //OnStateExit is called when a transition ends and the state machine finishes evaluating this state override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { GameObject enemy = (GameObject)LoadPrefab.LoadPrefabFromFile(PrefabPath.SplitSlime); Instantiate(enemy, animator.transform.position + ProjectileHelpers.GenerateRandomOffset(), animator.transform.rotation); Instantiate(enemy, animator.transform.position + ProjectileHelpers.GenerateRandomOffset(), animator.transform.rotation); }
public void SpawnFang(Vector2 position, MoveDirection moveDirection) { GameObject prefab = (GameObject)LoadPrefab.LoadPrefabFromFile("Projectiles/PlayerProjectiles/VenomFangProjectile"); GameObject GO = Instantiate(prefab, position, Quaternion.identity); GO.GetComponent <VenomFangProjectile>().target = player.transform.position - ProjectileHelpers.moveDirectionToNormalVector(moveDirection); GO.SetActive(true); }
void Cast() { int num = Random.Range(0, 3); GameObject GO = ObjectPooler.SharedInstance.GetPooledObject(num * 2); Projectile projectile = GO.GetComponent <Projectile>(); projectile.Init(0, 0, 2, 0, 1, this.transform.position, 0, 0, Vector3.zero); GO.SetActive(true); ProjectileHelpers.ObjectIgnores(GO, playerCollider); }
public void PoisonNova(Transform firePoint) { for (int i = 0; i < 6; i++) { GameObject projectileGameObject = Instantiate(projectilePrefab, firePoint.position, Quaternion.identity); Projectile projectile = projectileGameObject.GetComponent <Projectile>(); projectile.ZRotation = 60f * i; ProjectileHelpers.ObjectIgnores(projectileGameObject, playerCollider); Destroy(projectileGameObject, 3); } }
private void UpdateBeam() { dir = ProjectileHelpers.moveDirectionToNormalVector(player.lastMoveDirection); RaycastHit2D hit = Physics2D.Raycast((Vector2)firePoint.position, dir, Mathf.Infinity, 1 << LayerMask.NameToLayer("walls")); lineRenderer.SetPosition(0, (Vector2)firePoint.position); startVFX.transform.position = (Vector2)firePoint.position; lineRenderer.SetPosition(1, (Vector2)hit.point); endVFX.transform.position = (Vector2)hit.point; SetBoxCollider(firePoint.position, hit.point); }
public void SpawnLoot() { if (dropItem) { Item drop = GenerateDrop(); if (drop == null) { return; } GameObject loot = Instantiate(droppedItem, transform.position, Quaternion.identity); SetLoot(drop, loot); } else if (dropCurrency) { int souls = random.Next(1, 11); for (int i = 0; i < souls; i++) { Instantiate(soul, transform.position + ProjectileHelpers.GenerateRandomOffset(), Quaternion.identity); } } }
public void RenderTrailWithSettings(SpriteBatch sb, Projectile proj, Color mainColor, float fadeAmount) { //DebugHelpers.SetDisplay( proj.Name + "_info", "lit:"+lit+", avg: "+ re_avg.ToString("N2")+", inc:"+inc.ToString("N2")+ ", scale:"+ scale.ToString("N2"), 30 ); //DebugHelpers.SetDisplay( proj.Name + "_colors", "base:" + base_color + ", color:" + color, 30 ); //var list = new List<string>(); for (int i = 0; i <= this.CurrentTrailLength; i++) { float rot = this.TrailRotations[i]; Vector2 pos = this.TrailPositions[i]; float lerp = i * fadeAmount; Color lerpedColor = Color.Lerp(mainColor, Color.Transparent, lerp); if (lerpedColor.A <= 8) { break; } //DebugHelpers.Print( proj.Name+proj.whoAmI+"_"+i, "pos:"+(int)pos.X+":"+(int)pos.Y+", rot:"+rot.ToString("N2")+",color:"+lerpedColor, 20 ); ProjectileHelpers.DrawSimple(sb, proj, pos, rot, lerpedColor, proj.scale); //list.Add( "R:" + lerped_color.R + "+G:" + lerped_color.G + "+B:" + lerped_color.B+"+A:" + lerped_color.A ); } //DebugHelpers.SetDisplay( proj.Name + "_trail", string.Join(", ",list.ToArray()), 30 ); }