Setting up for the in level part

This commit is contained in:
TheWulfRick 2025-09-30 10:12:02 -04:00
parent 1e52a548ad
commit 9bffa85ace
28 changed files with 2147 additions and 89 deletions

View File

@ -576,7 +576,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 5097762816709155613, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_RootOrder
value: 2
value: 3
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
@ -1303,7 +1303,23 @@ PrefabInstance:
objectReference: {fileID: 1340105976}
- target: {fileID: 5097762816709155613, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_RootOrder
value: 2
value: 3
objectReference: {fileID: 0}
- target: {fileID: 7704789924884472609, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_AnchoredPosition.x
value: -43.099976
objectReference: {fileID: 0}
- target: {fileID: 7704789924884472609, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_AnchoredPosition.y
value: 296
objectReference: {fileID: 0}
- target: {fileID: 8600553902440767066, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target
value:
objectReference: {fileID: 1340105976}
- target: {fileID: 8600553902440767066, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName
value: LoadSkillTreeScene
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 4a2f48781c26ad247b697aa368358f88, type: 3}
@ -1388,6 +1404,10 @@ PrefabInstance:
propertyPath: _secondIsland
value:
objectReference: {fileID: 2122668256}
- target: {fileID: 3405186844740662671, guid: 074c072b696214a4ba44ff66e9a7d9a6, type: 3}
propertyPath: _skillTreeScene
value: SkillTree
objectReference: {fileID: 0}
- target: {fileID: 3405186844740662671, guid: 074c072b696214a4ba44ff66e9a7d9a6, type: 3}
propertyPath: loadingScreenScene
value: LoadingScreen

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5d4a6fd4bb8b58f4a9fec0820209e750
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -9,7 +9,7 @@ public class SkillTreeItemDisplay : MonoBehaviour, IPointerEnterHandler, IPointe
{
[SerializeField]
SkillTreeItem _data;
public SkillTreeItem Data {get => _data; set => _data = value; }
public SkillTreeItem Data { get => _data; set => _data = value; }
public SkillTreeInfoDisplay _displayInfo;
private RectTransform _rectTransform;
public SkillTreePopUpManager _popUpManager;
@ -38,16 +38,23 @@ public class SkillTreeItemDisplay : MonoBehaviour, IPointerEnterHandler, IPointe
{
RelatedLines.ForEach(line => line.Select());
_rectTransform.sizeDelta = size * 1.05f;
_displayInfo.DisplayData(_data);
}
public void OnPointerClick(PointerEventData eventData)
{
_popUpConf.SetActive(true);
_popUpManager.PressedSkill(_data);
Debug.Log("Clicked!");
if (PlayerPrefs.GetInt("skill " + _data.SkillID) != 0)
{
Debug.Log("Tu as déjà ce skill");
}
else
{
_popUpConf.SetActive(true);
_popUpManager.PressedSkill(_data);
Debug.Log("Clicked!");
}
}
}

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using Unity.VisualScripting;
using UnityEngine.SceneManagement;
@ -52,6 +53,9 @@ public class SkillTreeManager : MonoBehaviour
Transform _nodeContainer;
[SerializeField]
Transform _lineContainer;
[Scene]
[SerializeField]
private string _skillTreeScene;
private List<SkillTreeItemDisplay> DrawColumn(List<SkillTreeItem> items, List<SkillTreeItemDisplay> created)
{
@ -59,7 +63,7 @@ public class SkillTreeManager : MonoBehaviour
var returnList = new List<SkillTreeItemDisplay>();
var ancestors = items.Max(current => GetAncestorCount(current));
for (int i = 0; i < items.Count; i++)
{
{
var item = items[i];
var comp = created.Find(x => x.Data == item);
@ -73,7 +77,7 @@ public class SkillTreeManager : MonoBehaviour
var y = _startPositionOffset.y + _distanceBetweenItems.y * i - (items.Count / 2) * _distanceBetweenItems.y;
var pos = new Vector2(x, y);
var instance = Instantiate(_skillTreeItemPrefab, _nodeContainer.transform);
instance.GetComponent<RectTransform>().anchoredPosition = pos;
comp = instance.GetComponent<SkillTreeItemDisplay>();
@ -87,7 +91,7 @@ public class SkillTreeManager : MonoBehaviour
static int GetAncestorCount(SkillTreeItem item, int start = 0)
{
var max = start;
foreach(var ancestor in item.Prerequisites)
foreach (var ancestor in item.Prerequisites)
{
var count = GetAncestorCount(ancestor, start + 1);
if (count > max) max = count;
@ -95,12 +99,32 @@ public class SkillTreeManager : MonoBehaviour
return max;
}
}
private void Start()
{
Generate();
SkillsManager.Instance._skillsList = _skillTreeItems;
}
public void LoadGameScene()
{
SceneManager.LoadScene(_skillTreeScene, LoadSceneMode.Single);
}
public void SkillResetBtn()
{
SkillsManager.Instance.ResetLists();
_skillTreeItems = SkillsManager.Instance.GetListOrigin();
foreach (SkillTreeItem i in _skillTreeItems)
{
PlayerPrefs.SetInt("Skill " + i.SkillID, 0);
if (PlayerPrefs.GetInt("Skill" + i.SkillID) == 0)
{
Debug.Log(PlayerPrefs.GetInt("Skill " + i.SkillID));
Debug.Log("Ce Skill à été reset!");
}
}
}
public void Generate()
@ -111,7 +135,7 @@ public class SkillTreeManager : MonoBehaviour
var dict = new Dictionary<int, HashSet<int>>();
var created = new List<SkillTreeItemDisplay>();
var choices = _skillTreeItems.FindAll(x => x.Prerequisites.Count <= 0);
DrawColumn(choices, created);
for (int i = 0; i < created.Count; i++)
@ -129,7 +153,7 @@ public class SkillTreeManager : MonoBehaviour
dict.TryAdd(node.Data.GetHashCode(), new());
Vector2 colorVariation = new Vector2(Random.value - 0.5f, Random.value - 0.5f) * _lineColorVariation;
var rect1 = node.GetComponent<RectTransform>();
var prereqs = created.FindAll(x => x.Data.Prerequisites.Contains(node.Data));
for (int p = 0; p < prereqs.Count; p++)

View File

@ -0,0 +1,42 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine.EventSystems;
using TMPro;
using UnityEngine;
using System;
public class SkillTreePopUpManager : MonoBehaviour
{
public SkillTreeItem skillItem;
public TextMeshProUGUI _confirmText;
public void PressedSkill(SkillTreeItem skillSelected)
{
skillItem = skillSelected;
_confirmText.text = "Êtes-vous sûr de vouloir selectionner " + skillSelected.DisplayName;
}
public void Validate()
{
if (PlayerPrefs.GetInt("Skill " + skillItem.SkillID) != 0)
{
Debug.Log("Déjà fait connard!");
}
else
{
Debug.Log("Skill " + skillItem.SkillID);
PlayerPrefs.SetInt("Skill " + skillItem.SkillID, 1);
SkillsManager.Instance.CheckSkill(skillItem);
SkillsManager.Instance.SetList();
gameObject.SetActive(false);
Debug.Log("Valider!");
}
}
public void OnRefuse()
{
skillItem = null;
gameObject.SetActive(false);
Debug.Log("Refuser!");
}
}

View File

@ -0,0 +1,72 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SkillsManager : MonoBehaviour
{
public static SkillsManager Instance { get; set; }
[SerializeField]
private List<SkillTreeItem> _skillsListOrigin;
public List<SkillTreeItem> _skillsList;
[SerializeField]
public List<SkillTreeItem> _skillsActivated;
private void Awake()
{
Instance = this;
DontDestroyOnLoad(this);
}
// Start is called before the first frame update
void Start()
{
ListCheckUp();
SetList();
}
private void ListCheckUp()
{
foreach (SkillTreeItem i in _skillsList)
{
CheckSkill(i);
}
}
public void ResetLists()
{
_skillsList = _skillsListOrigin;
_skillsActivated.Clear();
}
public void CheckSkill(SkillTreeItem i)
{
if (PlayerPrefs.GetInt("Skill " + i.SkillID) == 1)
{
_skillsActivated.Add(i);
}
if (_skillsListOrigin.Contains(i)) return;
else _skillsListOrigin.Add(i);
}
public void SetList()
{
foreach (SkillTreeItem k in _skillsActivated)
{
if (_skillsList.Contains(k))
{
_skillsList.Remove(k);
}
}
}
public List<SkillTreeItem> GetListOrigin()
{
return _skillsListOrigin;
}
}

View File

@ -1,18 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SkillsManager : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}

View File

@ -1,30 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine.EventSystems;
using TMPro;
using UnityEngine;
using System;
public class SkillTreePopUpManager : MonoBehaviour
{
public int IDSkill;
public TextMeshProUGUI _confirmText;
public void PressedSkill(SkillTreeItem skillSelected){
IDSkill = skillSelected.SkillID;
_confirmText.text = "Êtes-vous sûr de vouloir selectionner " + skillSelected.DisplayName;
}
public void Validate()
{
Debug.Log(Archer.SkillArcher.FireArrow.GetHashCode());
PlayerPrefs.SetInt("Skill " + Archer.SkillArcher.FireArrow.GetHashCode(), 1);
gameObject.SetActive(false);
Debug.Log("Valider!");
}
public void OnRefuse(){
gameObject.SetActive(false);
Debug.Log("Refuser!");
}
}

View File

@ -3,26 +3,15 @@
--- !u!78 &1
TagManager:
serializedVersion: 2
tags:
- Opponent
- Ally
- Resource
- Food
- Wood
- Rock
<<<<<<< HEAD
- PopUp
=======
- Upgrade
>>>>>>> main
tags: []
layers:
- Default
- TransparentFX
- Ignore Raycast
- objWithCollider
-
- Water
- UI
- InvisibleToCamera
-
-
-
-
@ -49,15 +38,6 @@ TagManager:
-
-
m_SortingLayers:
- name: paysage
uniqueID: 436725303
locked: 0
- name: Tiles
uniqueID: 2009948983
locked: 0
- name: Default
uniqueID: 0
locked: 0
- name: Unit
uniqueID: 364159097
locked: 0