Setting up for the in level part
This commit is contained in:
parent
1e52a548ad
commit
9bffa85ace
@ -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
8
Assets/Scripts/SkillTree.meta
Normal file
8
Assets/Scripts/SkillTree.meta
Normal file
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5d4a6fd4bb8b58f4a9fec0820209e750
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -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!");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -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++)
|
||||
42
Assets/Scripts/SkillTree/SkillTreePopUpManager.cs
Normal file
42
Assets/Scripts/SkillTree/SkillTreePopUpManager.cs
Normal 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!");
|
||||
}
|
||||
}
|
||||
72
Assets/Scripts/SkillTree/SkillsManager.cs
Normal file
72
Assets/Scripts/SkillTree/SkillsManager.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
@ -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()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@ -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!");
|
||||
}
|
||||
}
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user