public static FireballController CreateFireball(float lifetime, float explosionRadius, Damage initialDamage, Status status, float size, float speed) { FireballController fireball = Object.Instantiate(instance.fireball, Vector3.zero, Quaternion.identity).GetComponent <FireballController>(); fireball.Initialize(lifetime, explosionRadius, initialDamage, status, size, speed); return(fireball); }
void Start() { player = GameObject.FindGameObjectWithTag("Player"); playerStats = player.GetComponent <PlayerStats>(); fbc = GetComponentInParent <FireballController>(); fireball = GameObject.FindGameObjectWithTag("Player").GetComponentInChildren <Fireball>(); }
void shootFire() { //Shoot Fireball FireballController projectile = ObjectFactory.CreateFireball(10f, fireballRadius, fireballDamage, fireballStatus, fireballSize, fireballSpeed); projectile.transform.position = transform.position + transform.forward; projectile.GetComponent <Rigidbody>().velocity = cam.ScreenPointToRay(Input.mousePosition).direction *fireballSpeed; }
public void Blasted(FireballController fbController) { if (acManager != null && fbController.iceWallHitCount <= 0 && !isFree) { acManager.Fireballed(); } isMelted = true; StartCoroutine(Melt()); }
public void OnReadyToFire() { FireballController fireball = FireballPrefab.PrefabInstantiate(FireDamage, transform.position, (Planet.transform.position - transform.position).normalized * FireImpulse); CheckShots(); counter.Reset(Random.Range(0, FirePeriod * 0.2f)); }
public FireballController PrefabInstantiate(float damage, Vector3 position, Vector2 impulse) { FireballController fireball = ((GameObject)GameObject.Instantiate(gameObject)).GetComponent <FireballController>(); fireball.Damage = damage; fireball.transform.position = position; fireball.GetComponent <Rigidbody2D>().AddForce(impulse, ForceMode2D.Impulse); return(fireball); }
protected override AttackController GetAttack() { var attackType = new FireballController().GetType(); string attackName = "Fireball"; GameObject attackObject = (GameObject)Instantiate(Resources.Load(attackPrefabName + attackName)); FireballController attackController = (FireballController)attackObject.GetComponent(attackType); return(attackController); }
public void Blasted(FireballController fbController) { if (!isMelted) { isMelted = true; if (!isFree && fbController.iceWallHitCount < 1) { acManager.Fireballed(); } StartCoroutine(Melt()); } }
public void FireballAction() { var fireballModel = new FireballModel { prefab = fireballPrefab, ownerTag = Tags.PLAYER, hitTag = Tags.ENEMY, originPosition = SwordAttackPosition.position, direction = transform.right, damage = 1 }; FireballController.CreateFireball(fireballModel); fireballCreation.Play(); }
public void CreateFireball() { var fireballDirection = (playerTransform.position - flameOriginPosition.position).normalized; var fireballModel = new FireballModel { prefab = fireballPrefab, ownerTag = Tags.ENEMY, hitTag = Tags.PLAYER, originPosition = flameOriginPosition.position, direction = fireballDirection, damage = 1 }; FireballController.CreateFireball(fireballModel); fireballCreation.PlayOneShot(fireballCreation.clip, 0.75f); }
public void createFireball() { Vector3 currentPosition = playerID.transform.position; Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); Vector3 fireballDir = mousePos - currentPosition; fireballDir.z = 0; fireballDir.Normalize(); float angle = Mathf.Atan2(fireballDir.y, fireballDir.x) * Mathf.Rad2Deg; GameObject fireballID = (GameObject)Instantiate(fireballPrefab, currentPosition + fireballDir / 2, Quaternion.identity); FireballController fireballController = (FireballController)fireballID.GetComponent <FireballController>(); fireballController.SetfireBall(fireballDir, speed, angle); playerID.transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.Euler(0, 0, angle), castTurnSpeed * Time.deltaTime); }
protected override AttackController GetAttack() { if (levelManager.GetWarrior().IsWarriored(gameObject)) { var attackType = new PunchController().GetType(); string attackName = (isPowerOn) ? "SuperPunch" : "Punch"; GameObject attackObject = (GameObject)Instantiate(Resources.Load(attackPrefabName + attackName)); PunchController attackController = (PunchController)attackObject.GetComponent(attackType); return(attackController); } else { var attackType = new FireballController().GetType(); string attackName = (isPowerOn) ? "SuperFireball" : "Fireball"; GameObject attackObject = (GameObject)Instantiate(Resources.Load(attackPrefabName + attackName)); FireballController attackController = (FireballController)attackObject.GetComponent(attackType); return(attackController); } }
void Start() { fbc = GetComponentInParent <FireballController>(); }
public void takeMove() { //print (moveQueue.Count + "for player " + GetPlayerID()); if (!hasJumped || moveQueue.Count > 0) { if (opponent.transform.position.x < transform.position.x && transform.localRotation.y != 180) //block checks if a player needs to spin around { transform.localEulerAngles = new Vector3(0, 180, 0); } if (opponent.transform.position.x > transform.position.x && transform.localRotation.y != 0) { transform.localEulerAngles = Vector3.zero; } } //block ends moveQueue [0].framesLeft -= 1; MoveClass thisMove = moveQueue [0]; int currentFrameNumber = thisMove.initialFrames - thisMove.framesLeft; if (thisMove.name != "Defend") //If the player has continued blocking since last turn, { blocking = false; //then there is no gap where they are not blocking } //Debug.Log("Player " + playerID + ": " + nextMove); switch (thisMove.name) { case "Knocked Down": if (currentFrameNumber == 0) { invuln = true; } if (currentFrameNumber == moveQueue[0].initialFrames) { moveCount = 0; invuln = false; } break; case "Light Attack": case "Medium Attack": if (thisMove.activeFrames[0] == currentFrameNumber) { myLimb.SetHitBox(thisMove); } if (thisMove.activeFrames[0] + thisMove.activeFrames.Length - 1 < currentFrameNumber) { myLimb.ClearBox(); } break; case "Hit": transform.position += transform.right * -thisMove.kB; break; case "Heavy Attack": if (currentFrameNumber < 3) { transform.Translate(Vector3.right * .3f); } if (currentFrameNumber == 2) { myLimb.SetHitBox(moveQueue [0]); } if (currentFrameNumber == 3) { myLimb.ClearBox(); } if (currentFrameNumber == moveQueue[0].initialFrames) { moveCount = 0; } break; case "Defend": blocking = true; break; case "Walk Forward": gameObject.transform.Translate(Vector3.right * walkSpeed); // myDino.animation.Play ("walk"); break; case "Walk Back": gameObject.transform.Translate(-Vector3.right * walkSpeed); // myDino.animation.Play ("walk"); break; case "Forward Dash": gameObject.transform.Translate(Vector3.right * forwardDash / 3); break; case "Back Dash": if (currentFrameNumber == 0) { invuln = true; } if (moveCount == 1) { invuln = false; } gameObject.transform.Translate(-Vector3.right * backDash / 5); moveCount++; if (moveCount == 5) { moveCount = 0; } break; case "Jump": if (currentFrameNumber <= 3) { transform.Translate(Vector3.up * jumpFactor); } if (currentFrameNumber > 3) { transform.Translate(Vector3.down * jumpFactor); } /*if (jumpFrames == 0) { * hasJumped = false; * iP2.setAirAttack (playerID); * }*/ break; case "Jump Right": if (currentFrameNumber <= 3) { transform.Translate(Vector3.up * jumpFactor); } if (currentFrameNumber > 3) { transform.Translate(Vector3.down * jumpFactor); } gameObject.transform.Translate(Vector3.right * forwardDash / 3); /*if (jumpFrames == 0) { * hasJumped = false; * iP2.setAirAttack (playerID); * }*/ break; case "Jump Left": if (currentFrameNumber <= 3) { transform.Translate(Vector3.up * jumpFactor); } if (currentFrameNumber > 3) { transform.Translate(Vector3.down * jumpFactor); } gameObject.transform.Translate(-Vector3.right * forwardDash / 3); /*if (jumpFrames == 0) { * hasJumped = false; * iP2.setAirAttack (playerID); * }*/ break; case "Air Attack": case "Jump AA": case "Jump Left AA": case "Jump Right AA": if (thisMove.activeFrames[0] == currentFrameNumber) { myLimb.SetHitBox(thisMove); } if (thisMove.activeFrames[0] + 1 < currentFrameNumber) { myLimb.ClearBox(); } if (currentFrameNumber <= 3) { transform.Translate(Vector3.up * jumpFactor); } if (currentFrameNumber > 3 && currentFrameNumber < 7) { transform.Translate(Vector3.down * jumpFactor); } if (thisMove.name == "Jump Left AA" && currentFrameNumber < 7) { gameObject.transform.Translate(-Vector3.right * jumpFactor); } if (jumpDirection == "Jump Right AA" && currentFrameNumber < 7) { gameObject.transform.Translate(Vector3.right * jumpFactor); } break; case "Fireball": if (moveCount == 2) { GameObject temp = (GameObject)Instantiate(fireball, transform.position, transform.localRotation); myBall = temp.GetComponent <FireballController> (); myBall.myTarget(opponent); } moveCount++; if (moveCount == 9) { moveCount = 0; } break; case "Dino-Punch": if (moveCount == 0) { invuln = true; myLimb.SetHitBox(moveQueue [0]); } if (moveCount == 3) { invuln = false; myLimb.ClearBox(); } moveCount++; if (moveCount == 8) { moveCount = 0; } break; case "Throw": if (moveCount == 0) { myLimb.SetHitBox(moveQueue [0]); hasThrown = true; } if (moveCount == 1) { myLimb.ClearBox(); } if (moveCount == 2) { hasThrown = false; } moveCount++; if (moveCount == 5) { moveCount = 0; } break; default: break; } if (myBall != null) { myBall.nextMove(); } transform.position = new Vector3(Mathf.Clamp(transform.localPosition.x, -5.874f, 5.874f), Mathf.Clamp(transform.localPosition.y, 1.04f, 4f), transform.localPosition.z); if (moveQueue [0].framesLeft == 0) { moveQueue.RemoveAt(0); } }
void OnCollisionEnter(Collision other) { // Debug.Log("Fireball OnCollisionEnter: " + other.gameObject.tag); FireballController.FireballCollision(this, other); }