This commit is contained in:
2022-01-29 20:28:51 +01:00
9 changed files with 27 additions and 27 deletions

View File

@@ -4,7 +4,7 @@ using UnityEngine;
public class PlatformManager : MonoBehaviour
{
public enum PlatformType {Pull, Push, RotateZ, RotateY, SpeedUp, SpeedDown};
public enum PlatformType {Basic, Pull, Push, RotateZ, RotateY, SpeedUp, SpeedDown};
public PlatformType type = PlatformType.Pull;
public float speed = 5;

View File

@@ -178,8 +178,10 @@ public class PlayerController : MonoBehaviour
switch (platform.type)
{
case PlatformManager.PlatformType.Push:
rb.AddForce(other.GetContact(0).normal * platform.speed * Time.deltaTime, ForceMode.Impulse);
break;
case PlatformManager.PlatformType.Pull:
rb.AddForce(-other.GetContact(0).normal * platform.speed * Time.deltaTime, ForceMode.Impulse);
break;
case PlatformManager.PlatformType.RotateY:
break;
@@ -196,11 +198,11 @@ public class PlayerController : MonoBehaviour
}
break;
default:
gDirection = -transform.up;
gDirection = -other.GetContact(0).normal;
break;
}
} else {
gDirection = -transform.up;
gDirection = -other.GetContact(0).normal;
}
platformForward = other.transform.forward;
this.downDirection = gDirection;

View File

@@ -30,7 +30,14 @@ public class ProceduralGeneration : MonoBehaviour
int pieceCount = 10;
float radius = (pieceCount / 2) * 2;
float angle = 360f / (float)pieceCount;
Vector3 centerPoint = new Vector3(lastObject.transform.position.x, (lastObject.transform.position.y + radius), lastObject.transform.position.z + 3.0f);
MeshFilter meshfilter = lastObject.GetComponent<MeshFilter>();
Bounds bounds = meshfilter.mesh.bounds;
float scale = meshfilter.transform.localScale.x;
Bounds b = new Bounds(bounds.center * scale, bounds.size * scale);
Vector3 centerPoint = new Vector3(lastObject.transform.position.x, (lastObject.transform.position.y + radius), this.lastBlock.transform.position.z + b.size.z + 1.0f);
float heightOffset = radius;
@@ -73,7 +80,7 @@ public class ProceduralGeneration : MonoBehaviour
if (this.spawnedLevelBlocks.Count <= maxNumberOfBlock)
{
int blockToSpawn = Random.Range(0, levelBlocks.Count - 1);
int blockToSpawn = Random.Range(0, levelBlocks.Count);
GameObject instantiatedGameObject;
GameObject blockObjToSpawn;
@@ -82,21 +89,9 @@ public class ProceduralGeneration : MonoBehaviour
if (blockObjToSpawn.name == lastBlockPrefab.name)
{
Debug.Log("Same Block");
if ((blockToSpawn + 1) <= levelBlocks.Count)
if (blockToSpawn < levelBlocks.Count || blockToSpawn > -1)
{
blockToSpawn++;
}
else if ((blockToSpawn - 1) >= levelBlocks.Count)
{
blockToSpawn--;
}
if ((blockToSpawn + 1) <= levelBlocks.Count)
{
blockToSpawn++;
}
else if ((blockToSpawn - 1) >= levelBlocks.Count)
{
blockToSpawn--;
blockToSpawn = Random.Range(0, (levelBlocks.Count - 1));
}
}