-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
- Mudança de Design; - Camera de Menu rotacionada para um efeito tridimensional; - Adicionado alguns efeitos de "Game Feel"; - e mais!
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
{ | ||
"files.exclude": | ||
{ | ||
"**/.DS_Store":true, | ||
"**/.git":true, | ||
"**/.gitignore":true, | ||
"**/.gitmodules":true, | ||
"**/*.booproj":true, | ||
"**/*.pidb":true, | ||
"**/*.suo":true, | ||
"**/*.user":true, | ||
"**/*.userprefs":true, | ||
"**/*.unityproj":true, | ||
"**/*.dll":true, | ||
"**/*.exe":true, | ||
"**/*.pdf":true, | ||
"**/*.mid":true, | ||
"**/*.midi":true, | ||
"**/*.wav":true, | ||
"**/*.gif":true, | ||
"**/*.ico":true, | ||
"**/*.jpg":true, | ||
"**/*.jpeg":true, | ||
"**/*.png":true, | ||
"**/*.psd":true, | ||
"**/*.tga":true, | ||
"**/*.tif":true, | ||
"**/*.tiff":true, | ||
"**/*.3ds":true, | ||
"**/*.3DS":true, | ||
"**/*.fbx":true, | ||
"**/*.FBX":true, | ||
"**/*.lxo":true, | ||
"**/*.LXO":true, | ||
"**/*.ma":true, | ||
"**/*.MA":true, | ||
"**/*.obj":true, | ||
"**/*.OBJ":true, | ||
"**/*.asset":true, | ||
"**/*.cubemap":true, | ||
"**/*.flare":true, | ||
"**/*.mat":true, | ||
"**/*.meta":true, | ||
"**/*.prefab":true, | ||
"**/*.unity":true, | ||
"build/":true, | ||
"Build/":true, | ||
"Library/":true, | ||
"library/":true, | ||
"obj/":true, | ||
"Obj/":true, | ||
"ProjectSettings/":true, | ||
"temp/":true, | ||
"Temp/":true | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
using System.Collections; | ||
using System.Collections.Generic; | ||
using UnityEngine; | ||
|
||
public class Scroll : MonoBehaviour { | ||
|
||
[SerializeField] private float speed = 10f; | ||
private Material myMaterial; | ||
|
||
void Start(){ | ||
myMaterial = GetComponent<MeshRenderer>().material; | ||
} | ||
void Update(){ | ||
myMaterial.mainTextureOffset = Vector2.right*speed*Time.time*0.2f; | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
using System.Collections; | ||
using System.Collections.Generic; | ||
using UnityEngine; | ||
#if UNITY_EDITOR | ||
using UnityEditor; | ||
#endif | ||
|
||
public class LevelManager : MonoBehaviour { | ||
[Header("Level")] | ||
[SerializeField] private SOLevel levelData; | ||
|
||
[Header("Spawnable Objects")] | ||
[SerializeField] List<GameObject> packList; | ||
[SerializeField] List<GameObject> tileList; | ||
[SerializeField] GameObject leafObstacle; | ||
[SerializeField] GameObject spikeObstacle; | ||
[SerializeField] GameObject pegaPegaObstacle; | ||
[SerializeField] GameObject pintorDeVentoObstacle; | ||
[SerializeField] GameObject bolaDePenaObstacle; | ||
|
||
[Header("Runtime")] | ||
[SerializeField] private float levelSoFar; | ||
[SerializeField] private float cameraVelocity; | ||
[SerializeField] private List<GameObject> collectedItems; | ||
[SerializeField] private int totalMoney; | ||
[SerializeField] private bool bossDefeated; | ||
|
||
private Camera cameraInScene; | ||
private Vector3 initialPosition; | ||
private GameObject player; | ||
private float distanceFromLastTile; | ||
private float cameraSize; | ||
|
||
private void Start(){ | ||
GetPlayer(); | ||
GetCamera(); | ||
GetInitialPosition(); | ||
GetLevelInfo(); | ||
GetCameraSize(); | ||
|
||
StartCoroutine( LevelStructure() ); | ||
} | ||
private IEnumerator LevelStructure(){ | ||
//PREPARATION | ||
while(true){ | ||
yield return new WaitForSeconds(levelData.preparationTime); | ||
break; | ||
} | ||
Debug.Log("END_OF_PREPARATION"); | ||
//MAIN | ||
while(GetDistanceSoFar() < levelData.levelSize){ | ||
MoveCamera(); | ||
SpawnRandomTile(); | ||
yield return new WaitForEndOfFrame(); | ||
} | ||
Debug.Log("END_OF_MAIN"); | ||
//BOSS | ||
while(!bossDefeated){ | ||
yield return new WaitForEndOfFrame(); | ||
} | ||
Debug.Log("END_OF_BOSS"); | ||
//EXP SCREEN | ||
} | ||
private void MoveCamera(){ | ||
float offset = cameraVelocity*Time.deltaTime; | ||
cameraInScene.transform.position += Vector3.right*offset; | ||
distanceFromLastTile += offset; | ||
} | ||
private float GetDistanceSoFar(){ | ||
return levelSoFar = cameraInScene.transform.position.x - initialPosition.x; | ||
} | ||
private void GetLevelInfo(){ | ||
cameraVelocity = levelData.initialCameraVelocity; | ||
} | ||
private void GetCamera(){ | ||
cameraInScene = GameObject.Find("Main Camera").GetComponent<Camera>(); | ||
} | ||
private void GetInitialPosition(){ | ||
initialPosition = player.transform.position; | ||
} | ||
private void GetPlayer(){ | ||
player = GameObject.Find("Player"); | ||
} | ||
private GameObject GetRandomPack(){ | ||
return packList[ Random.Range(0,packList.Count) ]; | ||
} | ||
private void GetCameraSize(){ | ||
cameraSize = cameraInScene.aspect*cameraInScene.orthographicSize*2; | ||
} | ||
private void SpawnRandomTile(){ | ||
if(distanceFromLastTile > cameraSize){ | ||
CreateFromTile(tileList[Random.Range(0,tileList.Count)]); | ||
distanceFromLastTile = 0; | ||
} | ||
} | ||
private void CreateFromTile(GameObject tile){ | ||
GameObject temp = new GameObject("Pack"); | ||
int objectsInTile = tile.transform.childCount; | ||
|
||
temp.transform.position = cameraInScene.transform.position + Vector3.right*cameraSize + Vector3.forward*10; | ||
for(int i = 0; i < objectsInTile; i++){ | ||
if(tile.transform.GetChild(i).CompareTag("tile_OBSTACLE")){ | ||
GameObject go = Instantiate(leafObstacle, | ||
tile.transform.GetChild(i).position, | ||
Quaternion.identity, | ||
temp.transform); | ||
go.transform.localPosition = tile.transform.GetChild(i).position; | ||
go.transform.localScale = tile.transform.GetChild(i).localScale; | ||
}else if(tile.transform.GetChild(i).CompareTag("tile_PACK")){ | ||
Instantiate(packList[Random.Range(0,packList.Count)], | ||
tile.transform.GetChild(i).position, | ||
Quaternion.identity, | ||
temp.transform).transform.localPosition = tile.transform.GetChild(i).position; | ||
} | ||
} | ||
|
||
} | ||
|
||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
using System.Collections; | ||
using System.Collections.Generic; | ||
using UnityEngine; | ||
|
||
public class CollisionHandler : MonoBehaviour { | ||
[SerializeField] PlayerStatus pStatus; | ||
[SerializeField] Muquirana player; | ||
|
||
private void Start(){ | ||
pStatus = GameObject.Find("Player").GetComponent<PlayerStatus>(); | ||
player = GameObject.Find("Player").GetComponent<Muquirana>(); | ||
} | ||
|
||
private void OnTriggerEnter2D(Collider2D other){ | ||
if(other.CompareTag("Obstacle")){ | ||
pStatus.LoseLife(); | ||
StartCoroutine( player.DamageAnimation() ); | ||
}else if(other.CompareTag("Tile")){ | ||
pStatus.LoseLife(); | ||
StartCoroutine( player.DamageAnimation() ); | ||
} | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.