protected override void Move() { teleportTimer -= Time.deltaTime; if (teleportTimer < 0.0f) { teleportTimer = teleportSpeed; Vector3 newlocation = new Vector3(Random.Range(10.0f, 20.0f), Random.Range(10.0f, 20.0f), 0); newlocation.x *= (Random.Range(0, 2) == 0) ? 1 : -1; newlocation.y *= (Random.Range(0, 2) == 0) ? 1 : -1; WarpHole warp1 = worldManager.SpawnFromPool(WorldManager.ePoolTag.WARPHOLE, transform.position, transform.rotation).GetComponent <WarpHole>(); if (warp1) { warp1.Activate(); } transform.position += newlocation; WarpHole warp2 = worldManager.SpawnFromPool(WorldManager.ePoolTag.WARPHOLE, transform.position, transform.rotation).GetComponent <WarpHole>(); if (warp2) { warp2.Activate(); } } target = Player.transform.position; direction = target - transform.position; angle = Mathf.Atan2(direction.x, direction.y) * Mathf.Rad2Deg; rotation = Quaternion.AngleAxis(-angle, Vector3.forward); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, rotationSpeed * Time.deltaTime); }
public void MovePlayer() { WarpHole warp = WorldManager.Instance.SpawnFromPool(WorldManager.ePoolTag.WARPHOLE, pos, Quaternion.identity).GetComponent <WarpHole>(); if (warp) { warp.Activate(); } foreach (Transform t in WorldManager.Instance.Ship.bodyPartTransforms) { t.position = pos; } AndroidManager.HapticFeedback(); }
private void OnCollisionEnter2D(Collision2D collision) { pos = collision.transform.position; if (flipX) { pos.x = -pos.x; } if (pos.x > 0) { pos.x -= 10.0f; pos.y += 10.0f; } if (flipY) { pos.y = -pos.y; } if (pos.y > 0) { pos.y -= 10.0f; } else { pos.y += 10.0f; } if (!collision.transform.CompareTag("Player") && collision.gameObject.layer != 8 && collision.gameObject.layer != 11) //dont do turrets or snake { WarpHole warp = WorldManager.Instance.SpawnFromPool(WorldManager.ePoolTag.WARPHOLE, pos, Quaternion.identity).GetComponent <WarpHole>(); if (warp) { warp.Activate(); } WarpHole warp2 = WorldManager.Instance.SpawnFromPool(WorldManager.ePoolTag.WARPHOLE, collision.transform.position, Quaternion.identity).GetComponent <WarpHole>(); if (warp2) { warp2.Activate(); } collision.transform.position = pos; } }
private void OnTriggerEnter2D(Collider2D collision) { pos = collision.transform.position; if (flipX) { pos.x = -pos.x; } if (pos.x > 0) { pos.x -= 10.0f; } else { pos.y += 10.0f; } if (flipY) { pos.y = -pos.y; } if (pos.y > 0) { pos.y -= 10.0f; } else { pos.y += 10.0f; } if (collision.transform.CompareTag("Player")) { WarpHole warp = WorldManager.Instance.SpawnFromPool(WorldManager.ePoolTag.WARPHOLE, collision.transform.position, Quaternion.identity).GetComponent <WarpHole>(); if (warp) { warp.Activate(); } TeleportTransition.SetTrigger("Warp"); } }