public void DragonDead() { UIController.UpdatePages(UIMode.Vitory); bTimerActive = false; PlayerMovementScript playerMovement = FindObjectOfType <PlayerMovementScript>(); playerMovement.GetAnimator().Play("Win"); Vector3 Direction = bossBehaviour.transform.position - playerMovement.transform.position; if (Direction.x > 0) { if (playerMovement.GetSkeleton().Skeleton.ScaleX < 0) { playerMovement.GetSkeleton().Skeleton.ScaleX = -playerMovement.GetSkeleton().Skeleton.ScaleX; } } else { if (playerMovement.GetSkeleton().Skeleton.ScaleX > 0) { playerMovement.GetSkeleton().Skeleton.ScaleX = -playerMovement.GetSkeleton().Skeleton.ScaleX; } } if (PrincePrefab) { princeGO = Instantiate(PrincePrefab, bossBehaviour.transform.position, Quaternion.identity); GameObject VFX = Instantiate(WinVFX, bossBehaviour.transform.position, Quaternion.identity); Destroy(VFX, 5.0f); bossBehaviour.gameObject.SetActive(false); if (princeGO) { SkeletonAnimation PrinceSkeleton = princeGO.GetComponentInChildren <SkeletonAnimation>(); if (Direction.x > 0) { if (PrinceSkeleton.Skeleton.ScaleX < 0) { PrinceSkeleton.Skeleton.ScaleX = -PrinceSkeleton.Skeleton.ScaleX; } } else { if (PrinceSkeleton.Skeleton.ScaleX > 0) { PrinceSkeleton.Skeleton.ScaleX = -PrinceSkeleton.Skeleton.ScaleX; } } } } cameraBehaviour.FocusCamera(playerMovement.transform.position, bossBehaviour.transform.position); }
void FireProjectile() { Vector3 ProjectileDirection = Vector3.zero; if (playerMovementComponent) { // Debug.Log("Im shooting in the direction " + playerMovementComponent.PlayerDirection); switch (playerMovementComponent.PlayerDirection) { case PlayerMovementScript.EnumPlayerDirection.Up: ProjectileDirection.y = 1; break; case PlayerMovementScript.EnumPlayerDirection.Left: ProjectileDirection.x = -1; break; case PlayerMovementScript.EnumPlayerDirection.Right: ProjectileDirection.x = 1; break; case PlayerMovementScript.EnumPlayerDirection.Down: ProjectileDirection.y = -1; break; } } SkeletonAnimation skeletonAnimation = playerMovementComponent.GetSkeleton(); Spine.Bone bone = skeletonAnimation.skeleton.FindBone("Prcs_arm_back_empty5"); Vector3 weaponSlotPosition = skeletonAnimation.transform.TransformPoint(new Vector3(bone.WorldX, bone.WorldY, 0f)); Vector2 ProjectileSpawnLocation = weaponSlotPosition; GameObject CreatedProjectile = Instantiate(ProjectilePrefab, ProjectileSpawnLocation, Quaternion.identity, null); ProjectileMovement projectileMovement = CreatedProjectile.GetComponent <ProjectileMovement>(); if (projectileMovement) { // Debug.Log(ProjectileDirection); projectileMovement.SetLaunchDirection(ProjectileDirection); } SpawnedProjectile = CreatedProjectile; }