Remake ank colection

This commit is contained in:
haitem
2021-01-30 20:56:04 +01:00
parent 7fd433d4e2
commit 7a0d802852
6 changed files with 393 additions and 91 deletions

View File

@@ -17,6 +17,7 @@ public class PlayerManager : MonoBehaviour
private Animator playerAnimator;
private Rigidbody rigidBody;
private PowerCubeManager powerCubeManager;
private bool interact = false;
public List<int> activeAbility = new List<int>(); //without ability=0 or null, dubleJump = 1, push/pull = 2, dash = 3
private bool dubleJump = true;
@@ -62,6 +63,17 @@ public class PlayerManager : MonoBehaviour
{
playerAnimator.Play("Die");
}
if (interact)
{
if (powerCubeManager.powerType == PowerCubeManager.PowerType.Artefact)
{
if (Input.GetKeyUp(KeyCode.E))
{
playerAnimator.SetTrigger("Eat");
interact = false;
}
}
}
AbilityAction();
DeactivePowerCube();
Move();
@@ -231,9 +243,15 @@ public class PlayerManager : MonoBehaviour
}
}
public void ActivePowerCube(float power, float powerTime, PowerCubeManager.PowerType powerType)
public void ActivePowerCube(float power, float powerTime, PowerCubeManager.PowerType powerType, string nextSceneName = "")
{
if (actualPowerTimes.Length <= (powerType.GetHashCode()) || actualPowerTimes[powerType.GetHashCode() - 1] < Time.time) {
Debug.Log((powerType.GetHashCode() - 1));
if ((powerType.GetHashCode() - 1) == 3)
{
SceneManager.LoadScene(nextSceneName);
}
else if (actualPowerTimes.Length <= (powerType.GetHashCode()) || actualPowerTimes[powerType.GetHashCode() - 1] < Time.time)
{
actualPowerTimes[powerType.GetHashCode() - 1] = Time.time + powerTime;
if (powerType == PowerCubeManager.PowerType.Bigger)
{
@@ -306,6 +324,11 @@ public class PlayerManager : MonoBehaviour
dubleJump = true;
dash = false;
}
powerCubeManager = other.gameObject.GetComponent<PowerCubeManager>();
if (powerCubeManager != null)
{
interact = true;
}
}
public void OnTriggerExit(Collider other)
@@ -320,6 +343,10 @@ public class PlayerManager : MonoBehaviour
onGround = false;
dash = false;
}
if (other.gameObject.GetComponent<PowerCubeManager>() != null)
{
interact = true;
}
}
public void OnTriggerStay(Collider other)
@@ -370,7 +397,7 @@ public class PlayerManager : MonoBehaviour
public void EndEatPowerCube()
{
startEating = false;
ActivePowerCube(powerCubeManager.powerUnit, powerCubeManager.powerTime, powerCubeManager.powerType);
ActivePowerCube(powerCubeManager.powerUnit, powerCubeManager.powerTime, powerCubeManager.powerType, powerCubeManager.nextSceneName);
Destroy(powerCubeManager.gameObject);
}
}

View File

@@ -37,22 +37,14 @@ public class PowerCubeManager : MonoBehaviour
void Update()
{
if (interact) {
if (powerType == PowerType.Artefact)
{
if (Input.GetKeyUp(KeyCode.E))
{
SceneManager.LoadScene(nextSceneName);
}
}
}
}
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Player")
{
meshRenderer.materials[1].SetFloat("_Outline", 0.01f);
meshRenderer.materials[1].SetFloat("_Outline", 0.4f);
interact = true;
}
}