void FixedUpdate() { if (!shouldGrow) { transform.localPosition += Vector3.right * speed * Time.deltaTime; StartCoroutine(Lifetime()); transform.parent.parent = null; } else { if (growingTimer > 0) { growingTimer -= Time.deltaTime; //transform.localScale += 5 * Vector3.one * Time.deltaTime / 6; //for (int i = 0; i < transform.childCount; i++) // transform.GetChild(i).transform.localScale += Vector3.one * Time.deltaTime / 2000; //for (int i = 0; i < transform.GetComponentsInChildren<Particle>().Length; i++) // transform.GetComponentsInChildren<Particle>()[i].size += 5 * Time.deltaTime / 6; } shouldGrow = owner.GetComponent <Attack>().ReleaseFireball(); if (!shouldGrow) { damage *= 0.5f + ((maxGrowingTime - growingTimer) / maxGrowingTime) / 2; DragonMovement DG = owner.GetComponent <DragonMovement>(); damage *= DG.velocityMag / DG.terminalVelocity; transform.GetChild(0).gameObject.SetActive(true); if (owner.GetComponent <DragonMain>().isPlayer) { CameraShaker.Shake(3); } } } }
void Start() { dragon = GetComponent <DragonMain>(); movement = GetComponent <DragonMovement>(); attack = GetComponent <Attack>(); updateWandering(); StartCoroutine(wanderUpdater()); }
public bool IsFindNode(MOVEMENTTYPE Type) { NodeManager NodesPath = DragonMovement.GetNodeManager(Type); if (!NodesPath.IsRotation) { if (NodesPath.IsStick) { Vector3 forward = (transform.position - NodesPath.transform.position).normalized; Vector3 changePos = new Vector3(transform.position.x, NodesPath.transform.position.y, transform.position.z); NodesPath.transform.position = changePos; NodesPath.transform.rotation = transform.rotation; Debug.Log("NodePath Find"); return(true); } } Debug.Log("NodePath No Find"); return(false); }
IEnumerator spawnAnimation() { if (this.gameObject.tag == "skeleton") { SkeletonMovement moveComponent = this.gameObject.GetComponent <SkeletonMovement>(); moveComponent.canMove = false; } if (this.gameObject.tag == "boomerang") { BoomerangMovement moveComponent = this.gameObject.GetComponent <BoomerangMovement>(); moveComponent.canMove = false; } if (this.gameObject.tag == "bat") { BatMovement moveComponent = this.gameObject.GetComponent <BatMovement>(); moveComponent.canMove = false; } if (this.gameObject.tag == "gel") { GelMovement moveComponent = this.gameObject.GetComponent <GelMovement>(); moveComponent.canMove = false; } if (this.gameObject.tag == "hand") { HandMovement moveComponent = this.gameObject.GetComponent <HandMovement>(); moveComponent.canMove = false; } if (this.gameObject.tag == "dragon") { DragonMovement moveComponent = this.gameObject.GetComponent <DragonMovement>(); moveComponent.canMove = false; } Animator hold = GetComponent <Animator>(); if (hold != null) { hold.enabled = false; } GetComponent <Rigidbody>().velocity = new Vector3(0.0f, 0.0f, 0.0f); GetComponent <SpriteRenderer>().sprite = GameController.instance.explosionOne; yield return(new WaitForSeconds(0.2f)); GetComponent <SpriteRenderer>().sprite = GameController.instance.explosionTwo; yield return(new WaitForSeconds(0.2f)); GetComponent <SpriteRenderer>().sprite = startingSprite; if (this.gameObject.tag == "skeleton") { SkeletonMovement moveComponent = this.gameObject.GetComponent <SkeletonMovement>(); moveComponent.canMove = true; } if (this.gameObject.tag == "boomerang") { BoomerangMovement moveComponent = this.gameObject.GetComponent <BoomerangMovement>(); moveComponent.canMove = true; } if (this.gameObject.tag == "bat") { BatMovement moveComponent = this.gameObject.GetComponent <BatMovement>(); moveComponent.canMove = true; } if (this.gameObject.tag == "gel") { GelMovement moveComponent = this.gameObject.GetComponent <GelMovement>(); moveComponent.canMove = true; } if (this.gameObject.tag == "hand") { HandMovement moveComponent = this.gameObject.GetComponent <HandMovement>(); moveComponent.canMove = true; } if (this.gameObject.tag == "dragon") { DragonMovement moveComponent = this.gameObject.GetComponent <DragonMovement>(); moveComponent.canMove = true; } if (hold != null) { hold.enabled = true; } }