private void castElementStyleCombo() { Debug.Log("Using " + current_element + " + " + current_style); if (current_element == Element.Wind && current_style == Style.Hawk) { GetComponent<Animator>().SetBool("is_dashing", true); movable.AddForce(transform.up * movable.speed * 5, ForceMode2D.Impulse, .2f); } else if (current_element == Element.Wind && current_style == Style.Tiger) { GameObject clone = Instantiate(wind_tiger_whip, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent<Collider2D>(), GetComponent<Collider2D>()); clone.GetComponent<WindTigerWhipEffect>().source = GetComponent<Movable>(); } else if (current_element == Element.Wind && current_style == Style.Turtle) { GameObject clone = Instantiate(wind_turtle, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent<Collider2D>(), GetComponent<Collider2D>()); clone.GetComponent<WindTurtleEffect>().SetFollowing(transform); } else if (current_element == Element.Wind && current_style == Style.Bear) { GameObject clone = Instantiate(wind_bear, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent<Collider2D>(), GetComponent<Collider2D>()); } else if (current_element == Element.Earth && current_style == Style.Hawk) { GameObject clone = Instantiate(earth_hawk, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent<Collider2D>(), GetComponent<Collider2D>()); clone.GetComponent<Rigidbody2D>().velocity = transform.up * 2; movable.AddForce(-transform.up * movable.speed * 2.5f, ForceMode2D.Impulse, .2f); GetComponent<Animator>().SetBool("is_dashing", true); } else if (current_element == Element.Earth && current_style == Style.Bear) { movable.AddForce(Vector3.zero, ForceMode2D.Force, 1f); GetComponent<Animator>().SetBool("is_walking", false); } else if (current_element == Element.Earth && current_style == Style.Tiger) { movable.SetRotation(-180f, .125f); GameObject go = Instantiate(earth_tiger, transform.position + (-transform.up - transform.right).normalized, Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z - 135)) as GameObject; go.transform.parent = transform; } else if (current_element == Element.Earth && current_style == Style.Turtle) { GameObject clone = Instantiate(earth_turtle, transform.position + transform.right, transform.rotation) as GameObject; EarthTurtleEffect earth_turtle_effect = clone.GetComponent<EarthTurtleEffect>(); earth_turtle_effect.source = movable; earth_turtle_effect.lifetime = 10; } else if (current_element == Element.Water && current_style == Style.Hawk) { Instantiate(water_hawk, transform.position + transform.up + transform.up, transform.rotation); } else if (current_element == Element.Water && current_style == Style.Bear) { Instantiate(water_bear, transform.position, transform.rotation); } else if (current_element == Element.Water && current_style == Style.Turtle) { GameObject clone = Instantiate(water_turtle, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent<Collider2D>(), GetComponent<Collider2D>()); clone.GetComponent<WaterTurtleEffect>().SetFollowing(transform); } else if (current_element == Element.Water && current_style == Style.Tiger) { GameObject clone = Instantiate(water_tiger, transform.position, transform.rotation) as GameObject; clone.transform.SetParent(transform); } else if (current_element == Element.Fire && current_style == Style.Hawk) { castFireHawk(transform.up, transform.rotation); castFireHawk(transform.up + transform.right, Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z - 45)); castFireHawk(transform.up - transform.right, Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z + 45)); } else if (current_element == Element.Fire && current_style == Style.Bear) { GameObject clone = Instantiate(fire_bear, transform.position + transform.up, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent<Collider2D>(), GetComponent<Collider2D>()); FireBearEffect fire_bear_effect = clone.GetComponent<FireBearEffect>(); if(current_fire_bear_effect != null) { current_fire_bear_effect.ExplodeTowards((fire_bear_effect.transform.position - current_fire_bear_effect.transform.position).normalized , fire_bear_effect.transform.position + fire_bear_effect.transform.up * .5f); fire_bear_effect.ExplodeTowards((current_fire_bear_effect.transform.position - fire_bear_effect.transform.position).normalized, current_fire_bear_effect.transform.position - current_fire_bear_effect.transform.up * .5f); current_fire_bear_effect = null; } else { current_fire_bear_effect = fire_bear_effect; } } else if (current_element == Element.Fire && current_style == Style.Tiger) { spawnFireTiger(transform.right * 1.2f, transform.rotation); } else if (current_element == Element.Fire && current_style == Style.Turtle) { GameObject clone = Instantiate(fire_turtle, transform.position, transform.rotation) as GameObject; clone.transform.parent = transform; Physics2D.IgnoreCollision(clone.GetComponent<Collider2D>(), GetComponent<Collider2D>()); fire_turtle_effect = clone.GetComponent<FireTurtleEffect>(); } }
private void castElementStyleCombo() { Debug.Log("Using " + current_element + " + " + current_style); if (current_element == Element.Wind && current_style == Style.Hawk) { GetComponent <Animator>().SetBool("is_dashing", true); movable.AddForce(transform.up * movable.speed * 5, ForceMode2D.Impulse, .2f); } else if (current_element == Element.Wind && current_style == Style.Tiger) { GameObject clone = Instantiate(wind_tiger_whip, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent <Collider2D>(), GetComponent <Collider2D>()); clone.GetComponent <WindTigerWhipEffect>().source = GetComponent <Movable>(); } else if (current_element == Element.Wind && current_style == Style.Turtle) { GameObject clone = Instantiate(wind_turtle, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent <Collider2D>(), GetComponent <Collider2D>()); clone.GetComponent <WindTurtleEffect>().SetFollowing(transform); } else if (current_element == Element.Wind && current_style == Style.Bear) { GameObject clone = Instantiate(wind_bear, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent <Collider2D>(), GetComponent <Collider2D>()); } else if (current_element == Element.Earth && current_style == Style.Hawk) { GameObject clone = Instantiate(earth_hawk, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent <Collider2D>(), GetComponent <Collider2D>()); clone.GetComponent <Rigidbody2D>().velocity = transform.up * 2; movable.AddForce(-transform.up * movable.speed * 2.5f, ForceMode2D.Impulse, .2f); GetComponent <Animator>().SetBool("is_dashing", true); } else if (current_element == Element.Earth && current_style == Style.Bear) { movable.AddForce(Vector3.zero, ForceMode2D.Force, 1f); GetComponent <Animator>().SetBool("is_walking", false); } else if (current_element == Element.Earth && current_style == Style.Tiger) { movable.SetRotation(-180f, .125f); GameObject go = Instantiate(earth_tiger, transform.position + (-transform.up - transform.right).normalized, Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z - 135)) as GameObject; go.transform.parent = transform; } else if (current_element == Element.Earth && current_style == Style.Turtle) { GameObject clone = Instantiate(earth_turtle, transform.position + transform.right, transform.rotation) as GameObject; EarthTurtleEffect earth_turtle_effect = clone.GetComponent <EarthTurtleEffect>(); earth_turtle_effect.source = movable; earth_turtle_effect.lifetime = 10; } else if (current_element == Element.Water && current_style == Style.Hawk) { Instantiate(water_hawk, transform.position + transform.up + transform.up, transform.rotation); } else if (current_element == Element.Water && current_style == Style.Bear) { Instantiate(water_bear, transform.position, transform.rotation); } else if (current_element == Element.Water && current_style == Style.Turtle) { GameObject clone = Instantiate(water_turtle, transform.position, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent <Collider2D>(), GetComponent <Collider2D>()); clone.GetComponent <WaterTurtleEffect>().SetFollowing(transform); } else if (current_element == Element.Water && current_style == Style.Tiger) { GameObject clone = Instantiate(water_tiger, transform.position, transform.rotation) as GameObject; clone.transform.SetParent(transform); } else if (current_element == Element.Fire && current_style == Style.Hawk) { castFireHawk(transform.up, transform.rotation); castFireHawk(transform.up + transform.right, Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z - 45)); castFireHawk(transform.up - transform.right, Quaternion.Euler(0, 0, transform.rotation.eulerAngles.z + 45)); } else if (current_element == Element.Fire && current_style == Style.Bear) { GameObject clone = Instantiate(fire_bear, transform.position + transform.up, transform.rotation) as GameObject; Physics2D.IgnoreCollision(clone.GetComponent <Collider2D>(), GetComponent <Collider2D>()); FireBearEffect fire_bear_effect = clone.GetComponent <FireBearEffect>(); if (current_fire_bear_effect != null) { current_fire_bear_effect.ExplodeTowards((fire_bear_effect.transform.position - current_fire_bear_effect.transform.position).normalized, fire_bear_effect.transform.position + fire_bear_effect.transform.up * .5f); fire_bear_effect.ExplodeTowards((current_fire_bear_effect.transform.position - fire_bear_effect.transform.position).normalized, current_fire_bear_effect.transform.position - current_fire_bear_effect.transform.up * .5f); current_fire_bear_effect = null; } else { current_fire_bear_effect = fire_bear_effect; } } else if (current_element == Element.Fire && current_style == Style.Tiger) { spawnFireTiger(transform.right * 1.2f, transform.rotation); } else if (current_element == Element.Fire && current_style == Style.Turtle) { GameObject clone = Instantiate(fire_turtle, transform.position, transform.rotation) as GameObject; clone.transform.parent = transform; Physics2D.IgnoreCollision(clone.GetComponent <Collider2D>(), GetComponent <Collider2D>()); fire_turtle_effect = clone.GetComponent <FireTurtleEffect>(); } }