private void CheckAndSetMovingData(GameObject damagingObject, GameObject[] parasitesForDamaging) { if (damagingObject.GetComponent <OneTimeMovingObject>()) { OneTimeMovingObject objectMovement = damagingObject.GetComponent <OneTimeMovingObject>(); objectMovement.SetParasiteParticles(parasitesForDamaging); objectMovement.target = targetPosition; objectMovement.moveSpeed = moveSpeed; objectMovement.needsParticles = true; objectMovement.move = true; objectMovement.diesAtTheEnd = true; if (targetPosition.y > transform.position.y + 1) { Quaternion _Q = objectMovement.transform.rotation; objectMovement.transform.rotation = _Q * Quaternion.AngleAxis(-90, new Vector3(0, 0, 1)); } else if (targetPosition.y < transform.position.y - 1) { Quaternion _Q = objectMovement.transform.rotation; objectMovement.transform.rotation = _Q * Quaternion.AngleAxis(90, new Vector3(0, 0, 1)); } if (targetPosition.x > transform.position.x) { objectMovement.transform.localScale *= -1; } } }
// Switches ESCENA 3 private void HandlerGroup14() { GameObject maquinaEngranajesYellow = levelManager.FindGameObject("DesplazarEngranajes"); GameObject plataformaBajoEngranajes = levelManager.FindGameObject("PlataformaMovilYellow"); GameObject firstSpikesYellow = levelManager.FindGameObject("FirstSpikes"); GameObject spikesFeedBack = levelManager.FindGameObject("ActivateNPCSpikes"); if (spikesFeedBack) { Destroy(spikesFeedBack); } OneTimeMovingObject moverEngranajes = maquinaEngranajesYellow.GetComponent <OneTimeMovingObject>(); OneTimeMovingObject movePlataformaBajoEngranajes = plataformaBajoEngranajes.GetComponent <OneTimeMovingObject>(); OneTimeMovingObject spikesMover = firstSpikesYellow.GetComponent <OneTimeMovingObject>(); moverEngranajes.move = true; movePlataformaBajoEngranajes.move = true; spikesMover.move = true; GameObject maquina1Engin = GameObject.Find("MaqEngranaje1"); GameObject maquina2Engin = GameObject.Find("MaqEngranaje2"); levelManager.StartAnimatorBool("StartMoving", true, maquina1Engin); levelManager.StartAnimatorBool("StartMoving", true, maquina2Engin); }
private void StartMovingPlatform(GameObject movingPlatform) { OneTimeMovingObject movingVariables = movingPlatform.GetComponent <OneTimeMovingObject>(); movingVariables.target = targetPosition; movingVariables.moveSpeed = moveSpeed; movingVariables.diesAtTheEnd = true; movingVariables.isPlatform = true; movingVariables.timeToWait = timeBeforeKill; StartCoroutine(WaitBeforeMove(timeBeforeKill, movingVariables)); }
private void HandleGearSystemB(GearSystem gearSystem, bool notifyOthers) { // Dispose every used gear in case of reconnection for (int i = 0; i < gearSystem.components.Length; i++) { string usedGearName = gearSystem.components[i].sprite.name; GameObject usedGear = GameObject.Find(usedGearName); if (usedGear) { DestroyObject(usedGearName, .1f); } } // Hide every placed gear SpriteRenderer[] componentSlots = gearSystem.GetComponentsInChildren <SpriteRenderer>(); for (int i = 0; i < componentSlots.Length; i++) { componentSlots[i].sprite = null; } // Change the gearsystem sprite SpriteRenderer systemSpriteRenderer = gearSystem.GetComponent <SpriteRenderer>(); systemSpriteRenderer.sprite = gearSystem.activatedSprite; // Doing Something SetAnimatorBool("startMoving", true, gearSystem); OneTimeMovingObject altarEngin1 = GameObject.Find("AltarEnginMovable").GetComponent <OneTimeMovingObject>(); altarEngin1.move = true; DestroyObject("ActivateNPCForGear", .1f); // Planner if (Object.FindObjectOfType <Planner>()) { if (gearSystem.switchObj) { gearSystem.switchObj.ActivateSwitch(); Planner planner = Object.FindObjectOfType <Planner>(); planner.Monitor(); } } if (notifyOthers) { SendMessageToServer("ActivateSystem/" + gearSystem.name, true); } }
private IEnumerator WaitBeforeMove(float timeToWait, OneTimeMovingObject movingVariables) { yield return(new WaitForSeconds(timeToWait)); movingVariables.move = true; }