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 337 additions and 43 deletions
fileFormatVersion: 2
guid: 04f25fae5a5c969428bddd86f71fa44f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.UI;
public class Shopping : MonoBehaviour public class PanneauDisplay : MonoBehaviour
{ {
private bool playerInRange; public string TextToDisplay = "Ceci est le texte de base du panneau";
public Item sellItem = null; public GameObject backgroundPanelDisplay;
//public GameObject[] itemForSale = new GameObject[2]; public GameObject textPanelDisplay;
public List<GameObject> itemForSale = new List<GameObject>();
// Start is called before the first frame update // Start is called before the first frame update
void Start() void Start()
{ {
backgroundPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(0f);
textPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(0f);
} }
// Update is called once per frame // Update is called once per frame
void Update() void Update()
{ {
if (Input.GetKeyDown(KeyCode.E) && playerInRange && sellItem && itemForSale.Count>0)
{
Dialog.instance.setSituation("Marchand");
Inventory.instance.addItem(sellItem);
Destroy(itemForSale[0]);
Debug.Log(sellItem.name.ToString() + " a bien ete ajouté a l'inventaire");
}
} }
private void OnTriggerEnter2D(Collider2D collision) private void OnTriggerEnter2D(Collider2D collision)
{ {
if (collision.CompareTag("Player")) if (collision.CompareTag("Player"))
{ {
playerInRange = true; textPanelDisplay.GetComponent<Text>().text = TextToDisplay;
backgroundPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(1f);
textPanelDisplay.GetComponent<CanvasRenderer>().SetAlpha(1f);
} }
} }
private void OnTriggerExit2D(Collider2D collision) private void OnTriggerExit2D(Collider2D collision)
{ {
playerInRange = false; 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;
using System.Collections.Generic; using System.Collections.Generic;
using UnityEngine; using UnityEngine;
using UnityEngine.UI;
public class GenerateMap : MonoBehaviour public class GenerateMap : MonoBehaviour
{ {
...@@ -20,6 +21,15 @@ public class GenerateMap : MonoBehaviour ...@@ -20,6 +21,15 @@ public class GenerateMap : MonoBehaviour
public int nb_of_plot = 8; public int nb_of_plot = 8;
public Object[,] plot=new Object[3,3]; 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 //Les coordonées x dans l'ordre
...@@ -27,9 +37,23 @@ public class GenerateMap : MonoBehaviour ...@@ -27,9 +37,23 @@ public class GenerateMap : MonoBehaviour
//Les coordonées y dans l'ordre //Les coordonées y dans l'ordre
private int[] ys=new int[]{26,13,0}; //ligne private int[] ys=new int[]{26,13,0}; //ligne
// Start is called before the first frame update
public static GenerateMap instance;
private void Awake()
{
if (instance != null)
return;
instance = this;
}
void Start() void Start()
{ {
panelE.GetComponent<CanvasRenderer>().SetAlpha(0f);
Ebutt.GetComponent<CanvasRenderer>().SetAlpha(0f);
textE.GetComponent<CanvasRenderer>().SetAlpha(0f);
textEObject.GetComponent<CanvasRenderer>().SetAlpha(0f);
generateVillage(); generateVillage();
} }
...@@ -54,6 +78,8 @@ public class GenerateMap : MonoBehaviour ...@@ -54,6 +78,8 @@ public class GenerateMap : MonoBehaviour
public void generateBoutique(int column, int line, string objetVente) public void generateBoutique(int column, int line, string objetVente)
{ {
float xOffset = 0;
float yOffset = 0;
Destroy(plot[column, line]); Destroy(plot[column, line]);
Item itemToSell = null; Item itemToSell = null;
...@@ -63,18 +89,26 @@ public class GenerateMap : MonoBehaviour ...@@ -63,18 +89,26 @@ public class GenerateMap : MonoBehaviour
case "chaussure": case "chaussure":
itemToSell = chaussures; itemToSell = chaussures;
goToSell = GO_chaussures; goToSell = GO_chaussures;
xOffset = 0;
yOffset = 6.1F;
break; break;
case "baton": case "baton":
itemToSell = baton; itemToSell = baton;
goToSell = GO_baton; goToSell = GO_baton;
xOffset = 0;
yOffset = 6.11F;
break; break;
case "réchaud": case "rechaud":
itemToSell = rechaud; itemToSell = rechaud;
goToSell = GO_rechaud; goToSell = GO_rechaud;
xOffset = 0;
yOffset = 6.10F;
break; break;
case "tente": case "tente":
itemToSell = tente; itemToSell = tente;
goToSell = GO_tente; goToSell = GO_tente;
xOffset = 2.7F;
yOffset = 2.27F;
break; break;
} }
if (itemToSell && goToSell) if (itemToSell && goToSell)
...@@ -83,10 +117,22 @@ public class GenerateMap : MonoBehaviour ...@@ -83,10 +117,22 @@ public class GenerateMap : MonoBehaviour
shop.transform.Find("Shop").gameObject.GetComponent<Shopping>().sellItem = itemToSell; 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>().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; 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 else
Debug.LogError("Mauvais paramètre pour objetVente"); Debug.LogError("Mauvais paramètre pour objetVente: "+ objetVente);
} }
public void generateUsine(int column, int line) public void generateUsine(int column, int line)
...@@ -99,9 +145,11 @@ public class GenerateMap : MonoBehaviour ...@@ -99,9 +145,11 @@ public class GenerateMap : MonoBehaviour
public void generateBoutiqueTest() public void generateBoutiqueTest()
{ {
// COLONNE, LIGNE // COLONNE, LIGNE
generateBoutique(0, 0, "chaussure"); generateBoutique(0, 0, "rechaud");
generateUsine(1, 0); generateUsine(1, 0);
generateBoutique(0, 1, "tente"); generateBoutique(0, 1, "tente");
generateBoutique(1, 2, "baton");
generateBoutique(1, 1, "chaussure");
} }
......
...@@ -5,7 +5,8 @@ using UnityEngine; ...@@ -5,7 +5,8 @@ using UnityEngine;
public class Border : MonoBehaviour public class Border : MonoBehaviour
{ {
public Item itemNeeded; public Item itemNeeded;
public BoxCollider2D collider; public BoxCollider2D forestCollider;
private void OnCollisionEnter2D(Collision2D collision) private void OnCollisionEnter2D(Collision2D collision)
{ {
...@@ -15,14 +16,31 @@ public class Border : MonoBehaviour ...@@ -15,14 +16,31 @@ public class Border : MonoBehaviour
Debug.Log("JE TOUCHE LA BORDEER"); Debug.Log("JE TOUCHE LA BORDEER");
if (Inventory.instance.hasItem(itemNeeded)) if (Inventory.instance.hasItem(itemNeeded))
{ {
Debug.Log("Je possde l'item ncessaire"); Debug.Log("Je poss?de l'item n?cessaire");
collider.enabled = false; 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 else
{ {
Debug.Log("Je n'ai pas l'item ncessaire"); Debug.Log("Je n'ai pas l'item n?cessaire");
Dialog.instance.setSituation("Chaussures");
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; ...@@ -6,7 +6,7 @@ using UnityEngine;
public class Item : ScriptableObject { public class Item : ScriptableObject {
public int id; public int id;
public string name; public string nom;
public string description; public string description;
public Sprite image; public Sprite image;
......
...@@ -15,9 +15,12 @@ public class PlayerMovement : MonoBehaviour ...@@ -15,9 +15,12 @@ public class PlayerMovement : MonoBehaviour
{ {
public float speed; public float speed;
private Rigidbody2D myRigidbody; private Rigidbody2D myRigidbody;
private Vector3 change; private Vector2 moveDirection;
private Animator animator; private Animator animator;
public PlayerState currentState; public PlayerState currentState;
public GameObject player;
public bool[] ispassed;
public int stage;
// Start is called before the first frame update // Start is called before the first frame update
void Start() void Start()
...@@ -26,45 +29,51 @@ public class PlayerMovement : MonoBehaviour ...@@ -26,45 +29,51 @@ public class PlayerMovement : MonoBehaviour
animator = GetComponent<Animator>(); animator = GetComponent<Animator>();
myRigidbody = GetComponent<Rigidbody2D>(); myRigidbody = GetComponent<Rigidbody2D>();
animator.SetFloat("moveX", 0); animator.SetFloat("moveX", 0);
animator.SetFloat("moveY", -1); animator.SetFloat("moveY", -1);
ispassed = new bool[] { false, false, false, false };
stage = 0;
} }
// Update is called once per frame // Update is called once per frame
void Update() void Update()
{ {
ProcessInputs();
change = Vector3.zero;
change.x = Input.GetAxisRaw("Horizontal");
change.y = Input.GetAxisRaw("Vertical");
if(currentState == PlayerState.walk) if(currentState == PlayerState.walk)
{ {
UpdateAnimationAndMove(); UpdateAnimationAndMove();
} }
Vector3 pos = Camera.main.WorldToViewportPoint(transform.position); Vector3 pos = Camera.main.WorldToViewportPoint(transform.position);
pos.x = Mathf.Clamp01(pos.x); pos.x = Mathf.Clamp01(pos.x);
pos.y = Mathf.Clamp01(pos.y); pos.y = Mathf.Clamp01(pos.y);
transform.position = Camera.main.ViewportToWorldPoint(pos); 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(); float moveX = Input.GetAxisRaw("Horizontal");
myRigidbody.MovePosition(transform.position + change * speed * Time.deltaTime); float moveY = Input.GetAxisRaw("Vertical");
moveDirection = new Vector2(moveX, moveY);
} }
void UpdateAnimationAndMove() void UpdateAnimationAndMove()
{ {
if (change != Vector3.zero) if (moveDirection != Vector2.zero)
{ {
MoveCharacter();
animator.SetFloat("moveX", change.x); animator.SetFloat("moveX", moveDirection.x);
animator.SetFloat("moveY", change.y); animator.SetFloat("moveY", moveDirection.y);
animator.SetBool("moving", true); animator.SetBool("moving", true);
} }
...@@ -72,6 +81,49 @@ public class PlayerMovement : MonoBehaviour ...@@ -72,6 +81,49 @@ public class PlayerMovement : MonoBehaviour
{ {
animator.SetBool("moving", false); 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,13 +44,13 @@ public class PlayerNature : MonoBehaviour ...@@ -44,13 +44,13 @@ public class PlayerNature : MonoBehaviour
void Update() void Update()
{ {
//toutes les x secondes => on perd un certain nombre de secondes ////toutes les x secondes => on perd un certain nombre de secondes
if (Time.time > nextActionTime) //if (Time.time > nextActionTime)
{ //{
nextActionTime += period; // nextActionTime += period;
this.LooseNature(this.TimeDamage); // this.LooseNature(this.TimeDamage);
} //}
} }
// Perd un certain nombre de points de nature // Perd un certain nombre de points de nature
...@@ -69,6 +69,9 @@ public class PlayerNature : MonoBehaviour ...@@ -69,6 +69,9 @@ public class PlayerNature : MonoBehaviour
{ {
this.currentNature += bonus; this.currentNature += bonus;
if (this.currentNature >= 100)
this.currentNature = 100;
this.natureBar.SetValue(this.currentNature); this.natureBar.SetValue(this.currentNature);
} }
...@@ -84,6 +87,4 @@ public class PlayerNature : MonoBehaviour ...@@ -84,6 +87,4 @@ public class PlayerNature : MonoBehaviour
instance = this; instance = this;
} }
} }
...@@ -14,14 +14,14 @@ public class loadScene : MonoBehaviour ...@@ -14,14 +14,14 @@ public class loadScene : MonoBehaviour
public string scene; public string scene;
public Animator animmator; public Animator animmator;
public string name; public string nom;
public void ChargerScene() public void ChargerScene()
{ {
animmator.SetBool("Change", true); animmator.SetBool("Change", true);
year.text = "" + nextYear; year.text = "" + nextYear;
city.text = name; city.text = nom;
StartCoroutine(nextLevelTimer()); StartCoroutine(nextLevelTimer());
} }
...@@ -31,7 +31,7 @@ public class loadScene : MonoBehaviour ...@@ -31,7 +31,7 @@ public class loadScene : MonoBehaviour
SceneManager.LoadScene(scene); SceneManager.LoadScene(scene);
} }
...@@ -42,11 +42,6 @@ public class loadScene : MonoBehaviour ...@@ -42,11 +42,6 @@ public class loadScene : MonoBehaviour
// Update is called once per frame // Update is called once per frame
void Update() void Update()
{ {
if(PlayerNature.instance.currentNature <= 0)
{
ChargerScene();
PlayerNature.instance.currentNature = 100;
}
} }
public void ExitGame() public void ExitGame()
......
fileFormatVersion: 2 fileFormatVersion: 2
guid: 2cda990e2423bbf4892e6590ba056729 guid: 1d113792a68e92533a5ae096013dedfd
folderAsset: yes
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:
......
This diff is collapsed.
fileFormatVersion: 2 fileFormatVersion: 2
guid: b0d67e78638d146bd8a6878c5027f9c5 guid: 3aca29e63a372841dabe9b809fff6d12
MonoImporter: MonoImporter:
externalObjects: {} externalObjects: {}
serializedVersion: 2 serializedVersion: 2
......
File added
File added
File added
File added
File added
File added
File added
File added