Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
No results found
Show changes
Showing
with 559 additions and 81 deletions
fileFormatVersion: 2
guid: acdefb31f22c752ac90ddf2bf056e45c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -14,7 +14,7 @@ public class Dialog : MonoBehaviour
// singleton
public static Dialog instance;
private void Awake()
private void Awake()
{
if (instance != null)
{
......@@ -29,6 +29,7 @@ public class Dialog : MonoBehaviour
public GameObject dialogBox;
public Text dialogText;
public Text instructionText;
public int dialog;
public bool dialogActive;
public string situation;
......@@ -45,44 +46,55 @@ public class Dialog : MonoBehaviour
this.dialog = 0;
string[] DialogsLvl1 = {
"Coucou",
"Je fais un test pour le niveau 1",
"Ca marche bien nan ?",
"Melvyn t moch",
"Valentin aussi",
"Raff est pas bo"
"Ach... Encore eine gute chournée dans mon fillage!",
"Ch'ai très enfie te me balader",
"Che defrai aller au Nord dans la forêt ja !",
"pour me déplacer, je dois utiliser mes muscles 'flèches directionnelles'"
};
this.ListDialogs.Add("start", DialogsLvl1);
this.ListDialogs.Add("start", DialogsLvl1);
string[] boutiqueChaussure = {
"Je fous prendrais zes chauzzures en taille Zweiundvierzig Bitte !",
};
this.ListDialogs.Add("boutiqueChaussure", boutiqueChaussure);
string[] Dialogsraff = {
"Salut",
"cava ?",
"Je te mange tes morts"
string[] boutiqueBaton = {
"Ze bâton me semble assez long et solide pour moi ! J'achète !",
};
this.ListDialogs.Add("boutiqueBaton", boutiqueBaton);
this.ListDialogs.Add("pnj", Dialogsraff);
string[] boutiqueRechaud = {
" Ze réchaud fa être SEHR PRAKTISCH !", "j'achète tout de zuite !"
};
this.ListDialogs.Add("boutiqueRechaud", boutiqueRechaud);
string[] DialogsTest = {
"Je fais un test",
"ca marche ? ou pas ?",
"bisous"
string[] boutiqueTente = {
"J'adore ta tente, mais elle est un peu grosse non ?", "Ach, tant pis, CH'ACHETE !"
};
this.ListDialogs.Add("boutiqueTente", boutiqueTente);
this.ListDialogs.Add("test", DialogsTest);
string[] DialogMarchand = {
"Ouvrir le menu c'est avec",
"la touche E chacal"
string[] borderChaussure = {
"NEIN NEIN NEIN ! Il fa me falloir des chaussures pour marcher plus loin !"
};
this.ListDialogs.Add("Marchand", DialogMarchand);
this.ListDialogs.Add("borderChaussure", borderChaussure);
string[] DialogChaussure = {
"J'ai mal au pied",
"Faux an acheté des mieu"
string[] borderBaton = {
"ACH SCHEISSE !", "Ch'ai ouplié mes patons te marches ! Che suis trop fatigué !"
};
this.ListDialogs.Add("Chaussures", DialogChaussure);
this.ListDialogs.Add("borderBaton", borderBaton);
string[] borderRechaud = {
"Kopfertami, je commence à afoir faim !", "il me faudrait eine réchaud pour mancher !"
};
this.ListDialogs.Add("borderRechaud", borderRechaud);
string[] borderTente = {
"Hopla, c'est bientôt l'heure de la sièste !", "Si che n'ai pas de tente che ne pourrait pas continuer !"
};
this.ListDialogs.Add("borderTente", borderTente);
if (this.dialogActive)
......@@ -95,27 +107,17 @@ public class Dialog : MonoBehaviour
if ((Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown("joystick button 0")) && dialogActive)
this.Next();
// DEBUG
if ((Input.GetKeyDown(KeyCode.H) || Input.GetKeyDown("joystick button 1")))
this.dialogActive = !this.dialogActive;
// DEBUG
if (Input.GetKeyDown(KeyCode.F))
{
Debug.Log("tut");
this.setSituation("marchand");
}
if(this.dialogActive)
if (this.dialogActive)
{
this.dialogBox.GetComponent<CanvasRenderer>().SetAlpha(1f);
this.dialogText.GetComponent<CanvasRenderer>().SetAlpha(1f);
this.instructionText.GetComponent<CanvasRenderer>().SetAlpha(1f);
}
else
{
this.dialogBox.GetComponent<CanvasRenderer>().SetAlpha(0f);
this.dialogText.GetComponent<CanvasRenderer>().SetAlpha(0f);
this.instructionText.GetComponent<CanvasRenderer>().SetAlpha(0f);
}
}
......@@ -130,12 +132,9 @@ public class Dialog : MonoBehaviour
}
}
// Ouvre une bulle de dialogue dans une situation donnée
public void setSituation(string sit)
{
Debug.Log("actionvation: " + sit);
this.situation = sit;
Debug.Log("situation" + this.situation);
this.dialog = 0;
this.dialogActive = true;
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class InventoryDisplay : MonoBehaviour
{
// Start is called before the first frame update
public Text inventoryText;
void Start()
{
inventoryText.text = "";
}
// Update is called once per frame
void Update()
{
inventoryText.text = "";
foreach(Item item in Inventory.instance.getItemList()){
inventoryText.text += "\n1x " + item.nom;
}
}
}
fileFormatVersion: 2
guid: 04f25fae5a5c969428bddd86f71fa44f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PanneauDisplay : MonoBehaviour
{
public string TextToDisplay = "Ceci est le texte de base du panneau";
public GameObject backgroundPanelDisplay;
public GameObject textPanelDisplay;
// Start is called before the first frame update
void Start()
{
backgroundPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(0f);
textPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(0f);
}
// Update is called once per frame
void Update()
{
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("Player"))
{
textPanelDisplay.GetComponent<Text>().text = TextToDisplay;
backgroundPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(1f);
textPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(1f);
}
}
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.CompareTag("Player"))
{
backgroundPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(0f);
textPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(0f);
}
}
}
fileFormatVersion: 2
guid: 4c8875f970794c24fb1d22c9a0d2bb56
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class GenerateMap : MonoBehaviour
{
public Item chaussures;
public Item baton;
public Item rechaud;
public Item tente;
public GameObject GO_chaussures;
public GameObject GO_baton;
public GameObject GO_rechaud;
public GameObject GO_tente;
public List<GameObject> pVillage = new List<GameObject>();
public List<GameObject> pBoutique = new List<GameObject>();
public List<GameObject> pUsine = new List<GameObject>();
public int nb_of_plot = 8;
public Object[,] plot=new Object[3,3];
public GameObject panelE;
public GameObject Ebutt;
public GameObject textE;
public GameObject textEObject;
public GameObject GO_Panneau;
public GameObject displayBox;
public GameObject displayText;
//Les coordonées x dans l'ordre
private int[] xs=new int[]{-17,0,17}; //colonne
//Les coordonées y dans l'ordre
private int[] ys=new int[]{26,13,0}; //ligne
public static GenerateMap instance;
private void Awake()
{
if (instance != null)
return;
instance = this;
}
void Start()
{
panelE.GetComponent<CanvasRenderer>().SetAlpha(0f);
Ebutt.GetComponent<CanvasRenderer>().SetAlpha(0f);
textE.GetComponent<CanvasRenderer>().SetAlpha(0f);
textEObject.GetComponent<CanvasRenderer>().SetAlpha(0f);
generateVillage();
}
//Place les 8 prefabs aux bons endroits
public void generateVillage()
{/*
for (int i=0;i< nb_of_plot; i++)
{
plot[i] = Instantiate(pVillage[Random.Range(0, pVillage.Count)], new Vector3(xs[i], ys[i], 0), Quaternion.identity);
}*/
for(int x = 0; x < xs.Length; x++)
{
for(int y = 0; y<ys.Length; y++)
{
if(!(x==2 && y==2))
plot[x,y] = Instantiate(pVillage[Random.Range(0, pVillage.Count)], new Vector3(xs[x], ys[y], 0), Quaternion.identity);
}
}
}
public void generateBoutique(int column, int line, string objetVente)
{
float xOffset = 0;
float yOffset = 0;
Destroy(plot[column, line]);
Item itemToSell = null;
GameObject goToSell = null;
switch (objetVente)
{
case "chaussure":
itemToSell = chaussures;
goToSell = GO_chaussures;
xOffset = 0;
yOffset = 6.1F;
break;
case "baton":
itemToSell = baton;
goToSell = GO_baton;
xOffset = 0;
yOffset = 6.11F;
break;
case "rechaud":
itemToSell = rechaud;
goToSell = GO_rechaud;
xOffset = 0;
yOffset = 6.10F;
break;
case "tente":
itemToSell = tente;
goToSell = GO_tente;
xOffset = 2.7F;
yOffset = 2.27F;
break;
}
if (itemToSell && goToSell)
{
GameObject shop = Instantiate(pBoutique[Random.Range(0, pBoutique.Count)], new Vector3(xs[column], ys[line], 0), Quaternion.identity);
shop.transform.Find("Shop").gameObject.GetComponent<Shopping>().sellItem = itemToSell;
shop.transform.Find("Shop").gameObject.GetComponent<Shopping>().itemForSale.Add(goToSell);
shop.transform.Find("Shop").gameObject.GetComponent<Shopping>().panelEbutton = panelE;
shop.transform.Find("Shop").gameObject.GetComponent<Shopping>().Ebutton = Ebutt;
shop.transform.Find("Shop").gameObject.GetComponent<Shopping>().textEbutton = textE;
shop.transform.Find("Shop").gameObject.GetComponent<Shopping>().textEbuttonObject = textEObject;
plot[column, line] = shop;
float x = shop.transform.position.x + xOffset;
float y = shop.transform.position.y + yOffset;
Instantiate(goToSell, new Vector3(x, y, 0), Quaternion.identity);
GameObject panneau = Instantiate(GO_Panneau, new Vector3(shop.transform.position.x +5.5f, shop.transform.position.y + 2.48f, 0), Quaternion.identity);
panneau.GetComponent<PanneauDisplay>().textPanelDisplay = displayText;
panneau.GetComponent<PanneauDisplay>().backgroundPanelDisplay = displayBox;
panneau.GetComponent<PanneauDisplay>().TextToDisplay = "Boutique de "+itemToSell.nom;
}
else
Debug.LogError("Mauvais paramètre pour objetVente: "+ objetVente);
}
public void generateUsine(int column, int line)
{
Destroy(plot[column, line]);
plot[column, line] = Instantiate(pUsine[Random.Range(0, pUsine.Count)], new Vector3(xs[column], ys[line], 0), Quaternion.identity);
}
public void generateBoutiqueTest()
{
// COLONNE, LIGNE
generateBoutique(0, 0, "rechaud");
generateUsine(1, 0);
generateBoutique(0, 1, "tente");
generateBoutique(1, 2, "baton");
generateBoutique(1, 1, "chaussure");
}
void Update()
{
}
}
fileFormatVersion: 2
guid: 65fa0e7bd850f944ba64a58e5ceaf4e5
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -5,7 +5,8 @@ using UnityEngine;
public class Border : MonoBehaviour
{
public Item itemNeeded;
public BoxCollider2D collider;
public BoxCollider2D forestCollider;
private void OnCollisionEnter2D(Collision2D collision)
{
......@@ -15,14 +16,31 @@ public class Border : MonoBehaviour
Debug.Log("JE TOUCHE LA BORDEER");
if (Inventory.instance.hasItem(itemNeeded))
{
Debug.Log("Je possde l'item ncessaire");
collider.enabled = false;
Debug.Log("Je poss?de l'item n?cessaire");
GameObject player = GameObject.FindGameObjectWithTag("Player");
//Debug.Log(player.GetComponent<PlayerMovement>().ispassed[itemNeeded.id - 1]);
player.GetComponent<PlayerMovement>().ispassed[itemNeeded.id - 1] = true;
forestCollider.enabled = false;
}
else
{
Debug.Log("Je n'ai pas l'item ncessaire");
Dialog.instance.setSituation("Chaussures");
Debug.Log("Je n'ai pas l'item n?cessaire");
switch (itemNeeded.id)
{
case 1:
Dialog.instance.setSituation("borderChaussure");
break;
case 2:
Dialog.instance.setSituation("borderBaton");
break;
case 3:
Dialog.instance.setSituation("borderRechaud");
break;
case 4:
Dialog.instance.setSituation("borderTente");
break;
}
}
}
}
......
......@@ -6,7 +6,7 @@ using UnityEngine;
public class Item : ScriptableObject {
public int id;
public string name;
public string nom;
public string description;
public Sprite image;
......
......@@ -15,9 +15,12 @@ public class PlayerMovement : MonoBehaviour
{
public float speed;
private Rigidbody2D myRigidbody;
private Vector3 change;
private Vector2 moveDirection;
private Animator animator;
public PlayerState currentState;
public GameObject player;
public bool[] ispassed;
public int stage;
// Start is called before the first frame update
void Start()
......@@ -26,45 +29,51 @@ public class PlayerMovement : MonoBehaviour
animator = GetComponent<Animator>();
myRigidbody = GetComponent<Rigidbody2D>();
animator.SetFloat("moveX", 0);
animator.SetFloat("moveY", -1);
ispassed = new bool[] { false, false, false, false };
stage = 0;
}
// Update is called once per frame
void Update()
{
change = Vector3.zero;
change.x = Input.GetAxisRaw("Horizontal");
change.y = Input.GetAxisRaw("Vertical");
ProcessInputs();
if(currentState == PlayerState.walk)
{
UpdateAnimationAndMove();
}
Vector3 pos = Camera.main.WorldToViewportPoint(transform.position);
pos.x = Mathf.Clamp01(pos.x);
pos.y = Mathf.Clamp01(pos.y);
transform.position = Camera.main.ViewportToWorldPoint(pos);
gameIntelligence();
}
private void FixedUpdate()
{
moveDirection.Normalize();
myRigidbody.velocity = new Vector2(moveDirection.x * speed, moveDirection.y * speed);
}
void MoveCharacter()
private void ProcessInputs()
{
change.Normalize();
myRigidbody.MovePosition(transform.position + change * speed * Time.deltaTime);
float moveX = Input.GetAxisRaw("Horizontal");
float moveY = Input.GetAxisRaw("Vertical");
moveDirection = new Vector2(moveX, moveY);
}
void UpdateAnimationAndMove()
{
if (change != Vector3.zero)
if (moveDirection != Vector2.zero)
{
MoveCharacter();
animator.SetFloat("moveX", change.x);
animator.SetFloat("moveY", change.y);
animator.SetFloat("moveX", moveDirection.x);
animator.SetFloat("moveY", moveDirection.y);
animator.SetBool("moving", true);
}
......@@ -72,6 +81,49 @@ public class PlayerMovement : MonoBehaviour
{
animator.SetBool("moving", false);
}
}
void gameIntelligence()
{
if (this.GetComponent<PlayerNature>().currentNature >= 100 && stage == 0)
{
GenerateMap.instance.generateBoutique(0, 0, "chaussure");
stage++;
}
else if (stage == 1 && ispassed[0] == true)
{
GenerateMap.instance.generateUsine(0, 1);
stage++;
}
else if (this.GetComponent<PlayerNature>().currentNature >= 100 && stage == 2)
{
GenerateMap.instance.generateBoutique(0, 2, "baton");
stage++;
}
else if (stage == 3 && ispassed[1] == true)
{
GenerateMap.instance.generateUsine(1, 1);
stage++;
}
else if (this.GetComponent<PlayerNature>().currentNature >= 100 && stage == 4)
{
GenerateMap.instance.generateBoutique(1, 2, "rechaud");
stage++;
}
else if (stage == 5 && ispassed[2] == true)
{
GenerateMap.instance.generateUsine(2, 0);
stage++;
}
else if (this.GetComponent<PlayerNature>().currentNature >= 100 && stage == 6)
{
GenerateMap.instance.generateBoutique(2, 1, "tente");
stage++;
}
else if (stage == 7 && ispassed[3] == true)
{
GenerateMap.instance.generateUsine(1, 0);
//stage++;
}
}
}
......@@ -44,16 +44,13 @@ public class PlayerNature : MonoBehaviour
void Update()
{
//toutes les x secondes => on perd un certain nombre de secondes
if (Time.time > nextActionTime)
{
nextActionTime += period;
this.LooseNature(this.TimeDamage);
}
////toutes les x secondes => on perd un certain nombre de secondes
//if (Time.time > nextActionTime)
//{
// nextActionTime += period;
if (this.currentNature < 0)
Debug.Log("qsidjgbisdfjghb");
// this.LooseNature(this.TimeDamage);
//}
}
// Perd un certain nombre de points de nature
......@@ -72,6 +69,9 @@ public class PlayerNature : MonoBehaviour
{
this.currentNature += bonus;
if (this.currentNature >= 100)
this.currentNature = 100;
this.natureBar.SetValue(this.currentNature);
}
......
using System.Collections;
using System.Collections.Generic;
using System;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
/// <summary>
/// Ce script n'est plus utilisé
/// </summary>
public class loadScene : MonoBehaviour
{
public int nextYear;
public string nextYear;
public Text year;
public Text city;
public string scene;
public Animator animmator;
public void ChargerScene() {
animmator.SetBool("Change",true);
year.text=""+nextYear;
city.text="DUSSELDORF";
public string nom;
public void ChargerScene()
{
animmator.SetBool("Change", true);
year.text = "" + nextYear;
city.text = nom;
StartCoroutine(nextLevelTimer());
}
private IEnumerator nextLevelTimer()
{
yield return new WaitForSeconds(5);
SceneManager.LoadScene(scene);
}
......@@ -36,7 +42,6 @@ public class loadScene : MonoBehaviour
// Update is called once per frame
void Update()
{
}
public void ExitGame()
......
fileFormatVersion: 2
guid: 1d113792a68e92533a5ae096013dedfd
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Shopping : MonoBehaviour
{
private bool playerInRange;
private bool isBuy = false;
public Item sellItem = null;
//public GameObject[] itemForSale = new GameObject[2];
public List<GameObject> itemForSale = new List<GameObject>();
public GameObject panelEbutton;
public GameObject Ebutton;
public GameObject textEbutton;
public GameObject textEbuttonObject;
// Start is called before the first frame update
void Start()
{
panelEbutton.GetComponent<CanvasRenderer>().SetAlpha(0f);
Ebutton.GetComponent<CanvasRenderer>().SetAlpha(0f);
textEbutton.GetComponent<CanvasRenderer>().SetAlpha(0f);
textEbuttonObject.GetComponent<CanvasRenderer>().SetAlpha(0f);
}
// Update is called once per frame
void Update()
{
if (playerInRange)
{
switch (sellItem.id)
{
case 1:
textEbuttonObject.GetComponent<Text>().text = "Chaussures de marche";
break;
case 2:
textEbuttonObject.GetComponent<Text>().text = "Bâton de marche";
break;
case 3:
textEbuttonObject.GetComponent<Text>().text = "Réchaud";
break;
case 4:
textEbuttonObject.GetComponent<Text>().text = "Tente";
break;
}
}
if ((Input.GetKeyDown(KeyCode.E) || Input.GetKeyDown("joystick button 1")) && playerInRange && sellItem && itemForSale.Count > 0)
{
if (!isBuy)
PlayerNature.instance.LooseNature(20);
switch (sellItem.id)
{
case 1:
Dialog.instance.setSituation("boutiqueChaussure");
isBuy = true;
break;
case 2:
Dialog.instance.setSituation("boutiqueBaton");
isBuy = true;
break;
case 3:
Dialog.instance.setSituation("boutiqueRechaud");
isBuy = true;
break;
case 4:
Dialog.instance.setSituation("boutiqueTente");
isBuy = true;
break;
}
panelEbutton.GetComponent<CanvasRenderer>().SetAlpha(0f);
Ebutton.GetComponent<CanvasRenderer>().SetAlpha(0f);
textEbutton.GetComponent<CanvasRenderer>().SetAlpha(0f);
textEbuttonObject.GetComponent<CanvasRenderer>().SetAlpha(0f);
Inventory.instance.addItem(sellItem);
Debug.Log(sellItem.name.ToString() + " a bien ete ajouté a l'inventaire");
}
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("Player"))
{
playerInRange = true;
if (isBuy == false)
{
panelEbutton.GetComponent<CanvasRenderer>().SetAlpha(1f);
Ebutton.GetComponent<CanvasRenderer>().SetAlpha(1f);
textEbutton.GetComponent<CanvasRenderer>().SetAlpha(1f);
textEbuttonObject.GetComponent<CanvasRenderer>().SetAlpha(1f);
}
}
}
private void OnTriggerExit2D(Collider2D collision)
{
playerInRange = false;
panelEbutton.GetComponent<CanvasRenderer>().SetAlpha(0f);
Ebutton.GetComponent<CanvasRenderer>().SetAlpha(0f);
textEbutton.GetComponent<CanvasRenderer>().SetAlpha(0f);
textEbuttonObject.GetComponent<CanvasRenderer>().SetAlpha(0f);
}
}
fileFormatVersion: 2
guid: 3aca29e63a372841dabe9b809fff6d12
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
File added
File added
File added
File added