// Update is called once per frame void Update() { if (isStatic) { isStatic = false; print("TRIGGERABLE ATTACKER IN ELSE" + attacker); summonVisual = Instantiate(sumChar, attacker.transform.position, attacker.transform.rotation); //Instantiates a projectile from the given prefab. TEMP LOOK AT THIS // Could use an ability delay for the wind up. summonControl.PlayShortHit(); ActivateObject(); // Need to set a delay function before it spawns the hitbox. } if (arrived) { print("SPAWNING HITBOX FOR STATIC"); SpawnHitbox(); } if (returning) // Returns to the summmoner after completing its actions. { print("RETURN HOME DETECTED FOR STATIC"); ReturnHome(); } if (isLeaving) { SummonLeave(); } // Need to set a delay function before it spawns the hitbox. //GameObject clonedHitbox = Instantiate(givenHitbox, hitboxSpawn.position, hitboxRotation); // CHECK THIS for clarity of hitboxrotation; /* * summonVisual.transform.position = Vector3.Lerp(startingPosition.position, castTarget, fracJourney); * * if (fracJourney == 1) * { * GameObject hitboxClone = Intantiate(givenHitbox, hitboxSpawn.position, hitboxSpawn.rotation); * } */ }
void MovePlayer() { summonControl.PlayShortHit(); if (doesHitboxFollow) // If the attack has a hitbox on the summon. { print("SPAWN FOLLOW DETECTED"); SpawnFollowHitbox(); } print("MOVE PLAYER STARTED"); // Instantiates a projectile from the given prefab. TEMP LOOK AT THIS // gameObject.transform.LookAt(target Position); // Rotates the object to face the click location. Disable this to remove that effect if needed. // target Position = castTarget if (castTarget.x > posRangeCheck.x && castTarget.z > posRangeCheck.z) // Checks if the cast target determined by mouse click is greater than the cast range. { limitTargetPos = new Vector3(posRangeCheck.x, castTarget.y, posRangeCheck.z); // Sets a cast limit. summonVisual.transform.position = Vector3.MoveTowards(summonVisual.transform.position, limitTargetPos, travelSpeed * Time.deltaTime); // Transform the summon to the position specified by the limited range of the cast point specified by. MonoBehaviour.print("exceeded both ranges"); if (summonVisual.transform.position == limitTargetPos) // Once it hits the limited range. { MonoBehaviour.print("Arrived at range limit"); isMoving = false; // Sets isMoving false to stop it from moving arrived = true; // Sets arrived to true to run the SpawnHitbox script. //SpawnHitbox(summonVisual); MonoBehaviour.print("SUMMON X" + summonVisual.transform.position.x); MonoBehaviour.print("SUMMON Y" + summonVisual.transform.position.y); MonoBehaviour.print("SUMMON Z" + summonVisual.transform.position.z); StartCoroutine("timeDeactivate"); // Start coroutine to despawn the hitboxes } } else if (castTarget.x > posRangeCheck.x && castTarget.z < negativeRangeCheck.z) { limitTargetPos = new Vector3(posRangeCheck.x, castTarget.y, negativeRangeCheck.z); summonVisual.transform.position = Vector3.MoveTowards(summonVisual.transform.position, limitTargetPos, travelSpeed * Time.deltaTime); MonoBehaviour.print("exceeded both ranges"); if ((summonVisual.transform.position.x == limitTargetPos.x) && (summonVisual.transform.position.z == limitTargetPos.z)) { MonoBehaviour.print("Arrived at range limit"); isMoving = false; arrived = true; // Sets arrived to true to run the SpawnHitbox script. //SpawnHitbox(summonVisual); MonoBehaviour.print("SUMMON X" + transform.position.x); MonoBehaviour.print("SUMMON Y" + transform.position.y); MonoBehaviour.print("SUMMON Z" + transform.position.z); StartCoroutine("timeDeactivate"); } } else if (castTarget.x < negativeRangeCheck.x && castTarget.z > posRangeCheck.z) { limitTargetPos = new Vector3(negativeRangeCheck.x, castTarget.y, posRangeCheck.z); summonVisual.transform.position = Vector3.MoveTowards(summonVisual.transform.position, limitTargetPos, travelSpeed * Time.deltaTime); MonoBehaviour.print("exceeded both ranges"); if ((summonVisual.transform.position.x == limitTargetPos.x) && (summonVisual.transform.position.z == limitTargetPos.z)) { MonoBehaviour.print("Arrived at range limit"); isMoving = false; arrived = true; // Sets arrived to true to run the SpawnHitbox script. //SpawnHitbox(summonVisual); MonoBehaviour.print("SUMMON X" + summonVisual.transform.position.x); MonoBehaviour.print("SUMMON Y" + summonVisual.transform.position.y); MonoBehaviour.print("SUMMON Z" + summonVisual.transform.position.z); StartCoroutine("timeDeactivate"); } } else if (castTarget.x > posRangeCheck.x) { limitTargetPos = new Vector3(posRangeCheck.x, castTarget.y, castTarget.z); summonVisual.transform.position = Vector3.MoveTowards(summonVisual.transform.position, limitTargetPos, travelSpeed * Time.deltaTime); MonoBehaviour.print("exceeded x"); if ((summonVisual.transform.position.x == limitTargetPos.x) && (summonVisual.transform.position.z == limitTargetPos.z)) { MonoBehaviour.print("Arrived at range limit"); isMoving = false; arrived = true; // Sets arrived to true to run the SpawnHitbox script. //SpawnHitbox(summonVisual); MonoBehaviour.print("SUMMON X" + transform.position.x); MonoBehaviour.print("SUMMON Y" + transform.position.y); MonoBehaviour.print("SUMMON Z" + transform.position.z); StartCoroutine("timeDeactivate"); } } else if (castTarget.z > posRangeCheck.z) { limitTargetPos = new Vector3(castTarget.x, castTarget.y, posRangeCheck.z); summonVisual.transform.position = Vector3.MoveTowards(summonVisual.transform.position, limitTargetPos, travelSpeed * Time.deltaTime); MonoBehaviour.print("exceeded z"); if ((summonVisual.transform.position.x == limitTargetPos.x) && (summonVisual.transform.position.z == limitTargetPos.z)) { MonoBehaviour.print("Arrived at range limit"); isMoving = false; arrived = true; // Sets arrived to true to run the SpawnHitbox script. //SpawnHitbox(summonVisual); MonoBehaviour.print("SUMMON X" + summonVisual.transform.position.x); MonoBehaviour.print("SUMMON Y" + summonVisual.transform.position.y); MonoBehaviour.print("SUMMON Z" + summonVisual.transform.position.z); StartCoroutine("timeDeactivate"); } } else if (castTarget.x < negativeRangeCheck.x && castTarget.z < negativeRangeCheck.z) { limitTargetPos = new Vector3(negativeRangeCheck.x, castTarget.y, negativeRangeCheck.z); summonVisual.transform.position = Vector3.MoveTowards(summonVisual.transform.position, limitTargetPos, travelSpeed * Time.deltaTime); MonoBehaviour.print("exceeded both ranges"); if ((summonVisual.transform.position.x == limitTargetPos.x) && (summonVisual.transform.position.z == limitTargetPos.z)) { MonoBehaviour.print("Arrived at range limit"); isMoving = false; arrived = true; // Sets arrived to true to run the SpawnHitbox script. //SpawnHitbox(summonVisual); MonoBehaviour.print("SUMMON X" + summonVisual.transform.position.x); MonoBehaviour.print("SUMMON Y" + summonVisual.transform.position.y); MonoBehaviour.print("SUMMON Z" + summonVisual.transform.position.z); StartCoroutine("timeDeactivate"); } } else if (castTarget.x < negativeRangeCheck.x) { limitTargetPos = new Vector3(negativeRangeCheck.x, castTarget.y, castTarget.z); summonVisual.transform.position = Vector3.MoveTowards(summonVisual.transform.position, limitTargetPos, travelSpeed * Time.deltaTime); MonoBehaviour.print("exceeded -x"); if ((summonVisual.transform.position.x == limitTargetPos.x) && (summonVisual.transform.position.z == limitTargetPos.z)) { MonoBehaviour.print("Arrived at range limit"); isMoving = false; arrived = true; // Sets arrived to true to run the SpawnHitbox script. //SpawnHitbox(summonVisual); MonoBehaviour.print("SUMMON X" + summonVisual.transform.position.x); MonoBehaviour.print("SUMMON Y" + summonVisual.transform.position.y); MonoBehaviour.print("SUMMON Z" + summonVisual.transform.position.z); StartCoroutine("timeDeactivate"); } } else if (castTarget.z < negativeRangeCheck.z) { limitTargetPos = new Vector3(castTarget.x, castTarget.y, negativeRangeCheck.z); summonVisual.transform.position = Vector3.MoveTowards(summonVisual.transform.position, limitTargetPos, travelSpeed * Time.deltaTime); MonoBehaviour.print("exceeded -z"); if ((summonVisual.transform.position.x == limitTargetPos.x) && (summonVisual.transform.position.z == limitTargetPos.z)) { MonoBehaviour.print("Arrived at range limit"); isMoving = false; arrived = true; // Sets arrived to true to run the SpawnHitbox script. //SpawnHitbox(summonVisual); MonoBehaviour.print("SUMMON X" + summonVisual.transform.position.x); MonoBehaviour.print("SUMMON Y" + summonVisual.transform.position.y); MonoBehaviour.print("SUMMON Z" + summonVisual.transform.position.z); StartCoroutine("timeDeactivate"); //CoroutineWithMultipleParameters(1.0F, 2.0F, "foo") } } else { summonVisual.transform.position = Vector3.MoveTowards(summonVisual.transform.position, castTarget, travelSpeed * Time.deltaTime); // gameObject.transform.position = Vector3.MoveTowards(gameObject.transform.position, travelTarget, travelRate); } if ((summonVisual.transform.position.x == castTarget.x) && (summonVisual.transform.position.z == castTarget.z)) { MonoBehaviour.print("SUMMON X" + summonVisual.transform.position.x); MonoBehaviour.print("SUMMON Y" + summonVisual.transform.position.y); MonoBehaviour.print("SUMMON Z" + summonVisual.transform.position.z); MonoBehaviour.print("Matches all parameters"); isMoving = false; arrived = true; // Sets arrived to true to run the SpawnHitbox script. //SpawnHitbox(summonVisual); StartCoroutine("timeDeactivate"); } Debug.DrawLine(summonVisual.transform.position, castTarget, Color.red); }