Updates to rogue-lite mechanics (WIP)
- visual update on riftraids - ability unlock system through ability tomes - (possible) bugfix sprite issue - player reputation level
This commit is contained in:
parent
a56eb96f2d
commit
9c136817b3
@ -1791,6 +1791,8 @@ RectTransform:
|
||||
- {fileID: 22400858}
|
||||
- {fileID: 22466304}
|
||||
- {fileID: 22440530}
|
||||
- {fileID: 2537039618920728962}
|
||||
- {fileID: 646436410361276731}
|
||||
- {fileID: 7158904691041162286}
|
||||
m_Father: {fileID: 22436708}
|
||||
m_RootOrder: 0
|
||||
@ -4040,7 +4042,7 @@ RectTransform:
|
||||
m_Children:
|
||||
- {fileID: 59981451553573657}
|
||||
m_Father: {fileID: 22485050}
|
||||
m_RootOrder: 3
|
||||
m_RootOrder: 5
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 1, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 0}
|
||||
@ -4533,6 +4535,101 @@ MonoBehaviour:
|
||||
m_hasFontAssetChanged: 0
|
||||
m_baseMaterial: {fileID: 0}
|
||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
|
||||
--- !u!1 &3735344847511009427
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 2537039618920728962}
|
||||
- component: {fileID: 8498195554027255770}
|
||||
- component: {fileID: 3829411698723291737}
|
||||
- component: {fileID: 3024519744543430060}
|
||||
m_Layer: 5
|
||||
m_Name: RepLevel Text Label (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &2537039618920728962
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3735344847511009427}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 22485050}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 0}
|
||||
m_AnchoredPosition: {x: -59, y: -35}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0}
|
||||
--- !u!222 &8498195554027255770
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3735344847511009427}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &3829411698723291737
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3735344847511009427}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.43529412, g: 0.3254902, b: 0.25490198, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 12800000, guid: b3797d5d853d86945b0da6c9793549c9, type: 3}
|
||||
m_FontSize: 34
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 5
|
||||
m_MaxSize: 52
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Rep level
|
||||
--- !u!114 &3024519744543430060
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3735344847511009427}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &3823479299661392140
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -4838,6 +4935,101 @@ MonoBehaviour:
|
||||
m_FlexibleWidth: 1
|
||||
m_FlexibleHeight: -1
|
||||
m_LayoutPriority: 1
|
||||
--- !u!1 &5688110386313124751
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 646436410361276731}
|
||||
- component: {fileID: 5628216943697850386}
|
||||
- component: {fileID: 5987178240385170955}
|
||||
- component: {fileID: 8403219703773733933}
|
||||
m_Layer: 5
|
||||
m_Name: Rep Level Text Value (1)
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &646436410361276731
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5688110386313124751}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 22485050}
|
||||
m_RootOrder: 4
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0}
|
||||
m_AnchorMax: {x: 0.5, y: 0}
|
||||
m_AnchoredPosition: {x: 51, y: -34.999878}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0}
|
||||
--- !u!222 &5628216943697850386
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5688110386313124751}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &5987178240385170955
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5688110386313124751}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.8392157, g: 0.8392157, b: 0.8392157, a: 1}
|
||||
m_RaycastTarget: 0
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 28
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 5
|
||||
m_MaxSize: 52
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: 10
|
||||
--- !u!114 &8403219703773733933
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 5688110386313124751}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3245ec927659c4140ac4f8d17403cc18, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_HorizontalFit: 2
|
||||
m_VerticalFit: 2
|
||||
--- !u!1 &5895164288734416259
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -0,0 +1,47 @@
|
||||
using Kryz.CharacterStats.Examples;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
/*[CreateAssetMenu]
|
||||
public class AbilityTomePage : ConsumableItem
|
||||
{
|
||||
public int abilityIndex;
|
||||
|
||||
public GameEvent_Int onAbilityTomePageLearned;
|
||||
|
||||
public override void Consume()
|
||||
{
|
||||
PlayerDataHandler.Instance.SaveAbilityTomeProgress(PlayerDataHandler.Instance.currentPlayerName.Value, abilityIndex, 1);
|
||||
onAbilityTomePageLearned.Raise(abilityIndex);
|
||||
}
|
||||
}*/
|
||||
|
||||
[System.Serializable]
|
||||
public class AbilityTomePageInstance : ConsumableItemInstance
|
||||
{
|
||||
public int abilityIndex;
|
||||
|
||||
public GameEvent_Int onAbilityTomePageLearned;
|
||||
|
||||
public AbilityTomePageInstance(BaseAbility ability, Item template, GameEvent_Int onAbilityTomePageLearned)
|
||||
{
|
||||
ItemName = "Forgotten "+ ability.displayName + "'s Tome Page";
|
||||
Icon = template.Icon;
|
||||
templateIndex = ItemIndexer.Instance.Items.IndexOf(template);
|
||||
sellPricePlayer = template.sellPricePlayer;
|
||||
sellPriceVendor = template.sellPriceVendor;
|
||||
description = template.description;
|
||||
templateIndex = AbilityIndexer.Instance.Abilities.IndexOf(ability);
|
||||
|
||||
abilityIndex = templateIndex;
|
||||
|
||||
this.onAbilityTomePageLearned = onAbilityTomePageLearned;
|
||||
}
|
||||
|
||||
public override void Consume()
|
||||
{
|
||||
PlayerDataHandler.Instance.SaveAbilityTomeProgress(PlayerDataHandler.Instance.currentPlayerName.Value, abilityIndex, 1);
|
||||
onAbilityTomePageLearned.Raise(abilityIndex);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 65dd64e000f863742a74c4d8cd5f3da9
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -72,7 +72,7 @@ public class CraftingStatStone : ItemInstance
|
||||
public float MagicResistancePercentBonus;
|
||||
|
||||
|
||||
public CraftingStatStone()
|
||||
public CraftingStatStone() : base()
|
||||
{
|
||||
}
|
||||
public CraftingStatStone(CraftingStatStoneTemplate template)
|
||||
|
@ -57,7 +57,7 @@ namespace Kryz.CharacterStats.Examples
|
||||
|
||||
private void HandleItemSlotOnRightClick(ItemInstance item)
|
||||
{
|
||||
if(isCrafting)
|
||||
if (isCrafting)
|
||||
{
|
||||
OnItemRightClickedEventWhileCrafting.Invoke(item);
|
||||
}
|
||||
@ -92,8 +92,7 @@ namespace Kryz.CharacterStats.Examples
|
||||
{
|
||||
itemSlots[i].Item = items[i];
|
||||
|
||||
if (ItemIndexer.Instance != null)
|
||||
inventoryData.inventoryItems[i] = items[i];
|
||||
inventoryData.inventoryItems[i] = items[i];
|
||||
//inventoryData.inventoryItems[i] = ItemIndexer.Instance.Items.IndexOf(items[i]);
|
||||
|
||||
}
|
||||
@ -156,6 +155,8 @@ namespace Kryz.CharacterStats.Examples
|
||||
if (inventoryData.inventoryItems[i] == null) continue;
|
||||
if (string.IsNullOrEmpty(inventoryData.inventoryItems[i].ItemName)) continue;
|
||||
|
||||
inventoryData.inventoryItems[i].Icon = ItemIndexer.Instance.Items[inventoryData.inventoryItems[i].templateIndex].Icon;
|
||||
|
||||
items.Add(inventoryData.inventoryItems[i]);
|
||||
//items.Add(ItemIndexer.Instance.Items[inventoryData.inventoryItems[i]]);
|
||||
}
|
||||
|
@ -9,8 +9,8 @@ using UnityEngine;
|
||||
public class ItemInstance
|
||||
{
|
||||
public string ItemName;
|
||||
[SerializeField]
|
||||
public Sprite Icon;
|
||||
public int spriteIndex;
|
||||
public int sellPricePlayer;
|
||||
public int sellPriceVendor;
|
||||
public string description;
|
||||
@ -20,7 +20,6 @@ public class ItemInstance
|
||||
{
|
||||
ItemName = "";
|
||||
Icon = null;
|
||||
spriteIndex = 0;
|
||||
sellPricePlayer = 0;
|
||||
sellPriceVendor = 0;
|
||||
description = "";
|
||||
@ -29,22 +28,20 @@ public class ItemInstance
|
||||
public ItemInstance(Item template)
|
||||
{
|
||||
ItemName = template.ItemName;
|
||||
templateIndex = ItemIndexer.Instance.Items.IndexOf(template);
|
||||
Icon = template.Icon;
|
||||
spriteIndex = SpriteIndexer.Instance.Sprites.IndexOf(Icon);
|
||||
sellPricePlayer = template.sellPricePlayer;
|
||||
sellPriceVendor = template.sellPriceVendor;
|
||||
description = template.description;
|
||||
templateIndex = ItemIndexer.Instance.Items.IndexOf(template);
|
||||
}
|
||||
|
||||
public ItemInstance(Item template, int templateIndex)
|
||||
{
|
||||
ItemName = template.ItemName;
|
||||
this.templateIndex = templateIndex;
|
||||
Icon = template.Icon;
|
||||
spriteIndex = SpriteIndexer.Instance.Sprites.IndexOf(Icon);
|
||||
sellPricePlayer = template.sellPricePlayer;
|
||||
sellPriceVendor = template.sellPriceVendor;
|
||||
description = template.description;
|
||||
this.templateIndex = templateIndex;
|
||||
}
|
||||
}
|
@ -20,16 +20,16 @@ namespace Kryz.CharacterStats.Examples
|
||||
|
||||
if (_item == null) {
|
||||
image.enabled = false;
|
||||
} else if(_item.Icon == null) {
|
||||
} else if (_item.Icon == null) {
|
||||
image.enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Log("image: " + image.name);
|
||||
Debug.Log("item: " + _item.ItemName);
|
||||
Debug.Log("icon: " + _item.Icon.name);
|
||||
else
|
||||
{
|
||||
Debug.Log("Item Slot: " + _item);
|
||||
Debug.Log("Item Slot: " + _item.Icon);
|
||||
Debug.Log("Item Slot: " + _item.templateIndex);
|
||||
Debug.Log("Item Slot: " + ItemIndexer.Instance.Items[_item.templateIndex].ItemName);
|
||||
image.sprite = _item.Icon;
|
||||
Debug.Log("sprite: " + image.sprite.name);
|
||||
image.enabled = true;
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ namespace Kryz.CharacterStats.Examples
|
||||
public RiftPlayer player;
|
||||
|
||||
public Level level;
|
||||
public ReputationLevel reputationLevel;
|
||||
|
||||
PhotonView photonView;
|
||||
|
||||
@ -31,6 +32,7 @@ namespace Kryz.CharacterStats.Examples
|
||||
public int AvailablePointsToAllocate;
|
||||
|
||||
CharacterData characterData = new CharacterData();
|
||||
PlayerAccountData accountData = new PlayerAccountData();
|
||||
|
||||
List<CharacterStat> statsCollection = new List<CharacterStat>();
|
||||
|
||||
@ -57,6 +59,7 @@ namespace Kryz.CharacterStats.Examples
|
||||
MaxHealth.BaseValue = health.GetBaseMaxValue();
|
||||
//Debug.Log("MAX HEALTH GET BASE MAX VALUE: " + MaxHealth.BaseValue);
|
||||
|
||||
accountData = PlayerDataHandler.Instance.LoadPlayerAccountData(PlayerDataHandler.Instance.currentPlayerName.Value);
|
||||
characterData = PlayerDataHandler.Instance.LoadCharacterData(PlayerDataHandler.Instance.currentPlayerName.Value, PlayerDataHandler.Instance.currentCharacterName.Value);
|
||||
|
||||
if (characterData != null)
|
||||
@ -64,9 +67,20 @@ namespace Kryz.CharacterStats.Examples
|
||||
Debug.Log("Success Loading CharacterData");
|
||||
level = new Level(characterData.currentLevel, characterData.currentExperience);
|
||||
|
||||
reputationLevel = new ReputationLevel(accountData.currentReputationLevel, accountData.currentReputationExperience);
|
||||
|
||||
int totalAllocatedPoints = 0;
|
||||
for (int i = 0; i < primaryStatsDictionary.Keys.Count; i++)
|
||||
{
|
||||
AllocatedStatPoints.Add(characterData.allocatedStatPoints[i]);
|
||||
totalAllocatedPoints += characterData.allocatedStatPoints[i];
|
||||
}
|
||||
int totalPointsFromLevels = level.currentLevel * GameConstants.CharacterStatsBalancing.StatPointsPerLevel;
|
||||
int totalPointsFromRep = reputationLevel.currentLevel * GameConstants.CharacterStatsBalancing.StatPointsPerReputationLevel;
|
||||
|
||||
if(totalAllocatedPoints + characterData.availablePointsToAllocate < totalPointsFromLevels + totalPointsFromRep)
|
||||
{
|
||||
characterData.availablePointsToAllocate = totalPointsFromLevels + totalPointsFromRep - totalAllocatedPoints;
|
||||
}
|
||||
AvailablePointsToAllocate = characterData.availablePointsToAllocate;
|
||||
|
||||
@ -77,11 +91,14 @@ namespace Kryz.CharacterStats.Examples
|
||||
{
|
||||
characterData = new CharacterData();
|
||||
|
||||
reputationLevel = new ReputationLevel(accountData.currentReputationLevel, accountData.currentReputationExperience);
|
||||
|
||||
for (int i = 0; i < primaryStatsDictionary.Keys.Count; i++)
|
||||
{
|
||||
AllocatedStatPoints.Add(0);
|
||||
}
|
||||
AvailablePointsToAllocate = GameConstants.CharacterStatsBalancing.StatPointsPerLevel;
|
||||
AvailablePointsToAllocate += accountData.currentReputationLevel * GameConstants.CharacterStatsBalancing.StatPointsPerReputationLevel;
|
||||
|
||||
characterData.playerOwnerID = PlayerDataHandler.Instance.currentPlayerName.Value;
|
||||
characterData.currentLevel = level.currentLevel;
|
||||
@ -98,9 +115,6 @@ namespace Kryz.CharacterStats.Examples
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if (statPanel == null)
|
||||
statPanel = FindObjectOfType<StatPanel>();
|
||||
|
||||
@ -108,7 +122,7 @@ namespace Kryz.CharacterStats.Examples
|
||||
statPanel.SetStats(Strength, Agility, Intelligence, Spirit, Vitality);
|
||||
statPanel.SetSecondaryStats(AttackDamage, SpellDamage, CritChance, CritDamage, MaxHealth, Armor, MagicResistance);
|
||||
statPanel.UpdateStatValues();
|
||||
statPanel.SetCharacterInfo(PlayerDataHandler.Instance.currentCharacterName.Value, level.currentLevel.ToString());
|
||||
statPanel.SetCharacterInfo(PlayerDataHandler.Instance.currentCharacterName.Value, level.currentLevel.ToString(), reputationLevel.currentLevel.ToString());
|
||||
statPanel.ToggleAllocateButtonsInteractable(AvailablePointsToAllocate > 0);
|
||||
onUpdateStatValues.AddListener(statPanel.UpdateStatValues);
|
||||
onUpdateStatValues.Invoke();
|
||||
@ -127,8 +141,14 @@ namespace Kryz.CharacterStats.Examples
|
||||
|
||||
level.OnLevelUpEvent.AddListener(OnLevelUp);
|
||||
level.OnExperienceChanged.AddListener(OnExperienceChanged);
|
||||
|
||||
reputationLevel.OnLevelUpEvent.AddListener(OnReputationLevelUp);
|
||||
reputationLevel.OnExperienceChanged.AddListener(OnReputationExperienceChanged);
|
||||
|
||||
experienceOnNPCDeath.Response.AddListener(level.GainExperience);
|
||||
|
||||
onJobCompleted.Response.AddListener(job => level.GainExperience(job.experienceReward));
|
||||
onJobCompleted.Response.AddListener(job => reputationLevel.GainExperience(job.reputationReward));
|
||||
|
||||
UpdateLevelOnOthers();
|
||||
|
||||
@ -148,11 +168,26 @@ namespace Kryz.CharacterStats.Examples
|
||||
PlayerDataHandler.Instance.SaveCharacterData(PlayerDataHandler.Instance.currentPlayerName.Value, PlayerDataHandler.Instance.currentCharacterName.Value, characterData);
|
||||
}
|
||||
|
||||
private void OnReputationExperienceChanged()
|
||||
{
|
||||
accountData.currentReputationLevel = reputationLevel.currentLevel;
|
||||
accountData.currentReputationExperience = reputationLevel.GetCurrentExperience();
|
||||
|
||||
PlayerDataHandler.Instance.SavePlayerAccountData(PlayerDataHandler.Instance.currentPlayerName.Value, accountData);
|
||||
}
|
||||
private void OnReputationLevelUp()
|
||||
{
|
||||
AvailablePointsToAllocate += GameConstants.CharacterStatsBalancing.StatPointsPerReputationLevel;
|
||||
characterData.availablePointsToAllocate = AvailablePointsToAllocate;
|
||||
|
||||
statPanel.ToggleAllocateButtonsInteractable(AvailablePointsToAllocate > 0);
|
||||
}
|
||||
|
||||
private void OnLevelUp()
|
||||
{
|
||||
UpdateLevelOnOthers();
|
||||
|
||||
statPanel.UpdateLevelInfo(level.currentLevel.ToString());
|
||||
statPanel.UpdateLevelInfo(level.currentLevel.ToString(), reputationLevel.currentLevel.ToString());
|
||||
|
||||
UpdateStatsBasedOnLevel();
|
||||
|
||||
|
@ -13,6 +13,7 @@ namespace Kryz.CharacterStats.Examples
|
||||
[SerializeField] private string[] secondaryStatNames;
|
||||
[SerializeField] private Text characterName;
|
||||
[SerializeField] private Text characterLevel;
|
||||
[SerializeField] private Text characterRepLevel;
|
||||
[SerializeField] private StatDisplay unallocated;
|
||||
[SerializeField] private Button resetAllocated;
|
||||
private CharacterStat[] stats;
|
||||
@ -110,14 +111,16 @@ namespace Kryz.CharacterStats.Examples
|
||||
|
||||
ToggleAllocateButtonsInteractable(playerStats.AvailablePointsToAllocate > 0);
|
||||
}
|
||||
public void SetCharacterInfo(string name, string level)
|
||||
public void SetCharacterInfo(string name, string level, string repLevel)
|
||||
{
|
||||
characterName.text = name;
|
||||
characterLevel.text = level;
|
||||
characterRepLevel.text = repLevel;
|
||||
}
|
||||
public void UpdateLevelInfo(string level)
|
||||
public void UpdateLevelInfo(string level, string repLevel)
|
||||
{
|
||||
characterLevel.text = level;
|
||||
characterRepLevel.text = repLevel;
|
||||
}
|
||||
|
||||
public void UpdateStatValues()
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,82 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &832891442293664334
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1553442022768226858}
|
||||
- component: {fileID: 8722866571621887899}
|
||||
- component: {fileID: 157811229265860852}
|
||||
m_Layer: 5
|
||||
m_Name: Locked
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 0
|
||||
--- !u!224 &1553442022768226858
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 832891442293664334}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 8147996188677079510}
|
||||
m_Father: {fileID: 5756525528600931364}
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 1, y: 1}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 0, y: 0}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &8722866571621887899
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 832891442293664334}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &157811229265860852
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 832891442293664334}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 0, b: 0, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 0}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 0
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &971065325636273895
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -76,6 +153,82 @@ MonoBehaviour:
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &1192391366455459718
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 8147996188677079510}
|
||||
- component: {fileID: 7522685301241748777}
|
||||
- component: {fileID: 6562437149402858580}
|
||||
m_Layer: 5
|
||||
m_Name: locked
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &8147996188677079510
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1192391366455459718}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1553442022768226858}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 40, y: 40}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!222 &7522685301241748777
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1192391366455459718}
|
||||
m_CullTransparentMesh: 1
|
||||
--- !u!114 &6562437149402858580
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1192391366455459718}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0.8584906, g: 0.6114721, b: 0.6114721, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_Maskable: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_Sprite: {fileID: 21300000, guid: 640b86b0058321e4fab8001b90531991, type: 3}
|
||||
m_Type: 0
|
||||
m_PreserveAspect: 1
|
||||
m_FillCenter: 1
|
||||
m_FillMethod: 4
|
||||
m_FillAmount: 1
|
||||
m_FillClockwise: 1
|
||||
m_FillOrigin: 0
|
||||
m_UseSpriteMesh: 0
|
||||
m_PixelsPerUnitMultiplier: 1
|
||||
--- !u!1 &3491813265212353229
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -555,6 +708,7 @@ RectTransform:
|
||||
- {fileID: 5468731390278590182}
|
||||
- {fileID: 2240116213718434170}
|
||||
- {fileID: 8015528414007822456}
|
||||
- {fileID: 1553442022768226858}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
@ -626,6 +780,7 @@ MonoBehaviour:
|
||||
healthCostGO: {fileID: 6775159804060218676}
|
||||
pressed: {fileID: 4444551169812095635}
|
||||
coolDown: {fileID: 2413958677162281131}
|
||||
locked: {fileID: 832891442293664334}
|
||||
abilityKeyBinder: {fileID: 0}
|
||||
--- !u!1 &6775159804060218676
|
||||
GameObject:
|
||||
|
@ -45,11 +45,13 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
interactableDropPrefab: {fileID: 7187375229850072788, guid: 6067f5d34154eb3498e9a5fdfcee4b00, type: 3}
|
||||
interactableDropAbilityTomePagePrefab: {fileID: 7187375229850072788, guid: 47a90ef4536f3dd479fe730f59f43a75, type: 3}
|
||||
coinPrefab: {fileID: 7706952695029526538, guid: b0bce3e9bc0755445abb649e0c306c79, type: 3}
|
||||
coinAmount: 1
|
||||
extraDropChance: 0
|
||||
onCoinDrop: {fileID: 11400000, guid: 48da3b1185c086c4c81a2b97ab7685fc, type: 2}
|
||||
guaranteedItemDrop: []
|
||||
guaranteedOnlyOnePerKill: []
|
||||
extraDrops:
|
||||
- {fileID: 11400000, guid: 26b042abfe9104448a1e9599be66e71a, type: 2}
|
||||
- {fileID: 11400000, guid: e08687c26614d154cb5a9a01f4b97635, type: 2}
|
||||
|
@ -5885,11 +5885,13 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
interactableDropPrefab: {fileID: 7187375229850072788, guid: 6067f5d34154eb3498e9a5fdfcee4b00, type: 3}
|
||||
interactableDropAbilityTomePagePrefab: {fileID: 7187375229850072788, guid: 47a90ef4536f3dd479fe730f59f43a75, type: 3}
|
||||
coinPrefab: {fileID: 7706952695029526538, guid: b0bce3e9bc0755445abb649e0c306c79, type: 3}
|
||||
coinAmount: 12
|
||||
extraDropChance: 10
|
||||
onCoinDrop: {fileID: 11400000, guid: 48da3b1185c086c4c81a2b97ab7685fc, type: 2}
|
||||
guaranteedItemDrop: []
|
||||
guaranteedOnlyOnePerKill: []
|
||||
extraDrops:
|
||||
- {fileID: 11400000, guid: 26b042abfe9104448a1e9599be66e71a, type: 2}
|
||||
- {fileID: 11400000, guid: e08687c26614d154cb5a9a01f4b97635, type: 2}
|
||||
@ -11069,6 +11071,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
lookAt: {fileID: 420608364184142292}
|
||||
gamepadDeadzone: 0.2
|
||||
--- !u!1 &7188363463708527002
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
335
Assets/Resources/ItemDrop_AbilityTomePage.prefab
Normal file
335
Assets/Resources/ItemDrop_AbilityTomePage.prefab
Normal file
@ -0,0 +1,335 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &7187375229850072788
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7187375229850072791}
|
||||
- component: {fileID: 2903605308500103306}
|
||||
- component: {fileID: 6961750306551488121}
|
||||
- component: {fileID: 3758058927284355959}
|
||||
m_Layer: 0
|
||||
m_Name: ItemDrop_AbilityTomePage
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7187375229850072791
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7187375229850072788}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 7183679910667640660}
|
||||
- {fileID: 1344393127405336019}
|
||||
- {fileID: 1618483696613343696}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &2903605308500103306
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7187375229850072788}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0655215211725524ab947b3480a3a8cc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
highlight: {fileID: 8139581225852077297}
|
||||
radius: 1
|
||||
interactableWithRange: 0
|
||||
rangedRadius: 10
|
||||
interactionTransform: {fileID: 7187375229850072791}
|
||||
itemDrop:
|
||||
ItemName:
|
||||
Icon: {fileID: 0}
|
||||
sellPricePlayer: 0
|
||||
sellPriceVendor: 0
|
||||
description:
|
||||
templateIndex: 0
|
||||
--- !u!54 &6961750306551488121
|
||||
Rigidbody:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7187375229850072788}
|
||||
serializedVersion: 2
|
||||
m_Mass: 1
|
||||
m_Drag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_UseGravity: 0
|
||||
m_IsKinematic: 1
|
||||
m_Interpolate: 0
|
||||
m_Constraints: 0
|
||||
m_CollisionDetection: 0
|
||||
--- !u!135 &3758058927284355959
|
||||
SphereCollider:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 7187375229850072788}
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 1
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.4
|
||||
m_Center: {x: 0, y: 0.25, z: 0}
|
||||
--- !u!1001 &2425268118434434782
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 7187375229850072791}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4025737416509521484, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_Materials.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416509540140, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_Materials.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416509597502, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_Materials.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 1.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 1.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 1.5
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_ConstrainProportionsScale
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4025737416529588542, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: ItemEpicRed
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4942320960609734321, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
propertyPath: m_Materials.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
--- !u!4 &1618483696613343696 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4025737416529350414, guid: 39cc5ef9c499be04b937818e22956672, type: 3}
|
||||
m_PrefabInstance: {fileID: 2425268118434434782}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &6649169152610105825
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 7187375229850072791}
|
||||
m_Modifications:
|
||||
- target: {fileID: 273957096685082160, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_Materials.Array.size
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3220920230613450000, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: CharacterCircleYellow
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 3220920230613450000, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0.1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.9659259
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0.25881904
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 30.000002
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
--- !u!4 &1344393127405336019 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5687666382565002290, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
m_PrefabInstance: {fileID: 6649169152610105825}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &8139581225852077297 stripped
|
||||
GameObject:
|
||||
m_CorrespondingSourceObject: {fileID: 3220920230613450000, guid: 192fe42b654ad7144b59bf436410b8b6, type: 3}
|
||||
m_PrefabInstance: {fileID: 6649169152610105825}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1001 &7187375228888348370
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 7187375229850072791}
|
||||
m_Modifications:
|
||||
- target: {fileID: 1770571109050598, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: SM_Icon_CoinBag_01
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 0.8
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 0.8
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 0.8
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0.2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
--- !u!4 &7183679910667640660 stripped
|
||||
Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 4258828872886662, guid: 26ebce2f78526014da0d1b69d835b6e9, type: 3}
|
||||
m_PrefabInstance: {fileID: 7187375228888348370}
|
||||
m_PrefabAsset: {fileID: 0}
|
7
Assets/Resources/ItemDrop_AbilityTomePage.prefab.meta
Normal file
7
Assets/Resources/ItemDrop_AbilityTomePage.prefab.meta
Normal file
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 47a90ef4536f3dd479fe730f59f43a75
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5ec31cefbf34fc84b832994236df9125
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -124,7 +124,7 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: adb84e30e02715445aeb9959894e3b4d, type: 3}
|
||||
m_Name: ColorGrading
|
||||
m_EditorClassIdentifier:
|
||||
active: 1
|
||||
active: 0
|
||||
enabled:
|
||||
overrideState: 1
|
||||
value: 1
|
||||
|
@ -38,7 +38,7 @@ RenderSettings:
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 705507994}
|
||||
m_IndirectSpecularColor: {r: 0.02530161, g: 0.053144906, b: 0.055800058, a: 1}
|
||||
m_IndirectSpecularColor: {r: 0.06424892, g: 0.12860116, b: 0.13426697, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &3
|
||||
LightmapSettings:
|
||||
@ -1879,6 +1879,54 @@ Transform:
|
||||
m_CorrespondingSourceObject: {fileID: 5740706088277981957, guid: 48ce0dab15dcddb4495c7a5a09fa4dfa, type: 3}
|
||||
m_PrefabInstance: {fileID: 347753810}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
--- !u!1 &359538214
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 359538216}
|
||||
- component: {fileID: 359538215}
|
||||
m_Layer: 0
|
||||
m_Name: RiftRaidVFX
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &359538215
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 359538214}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8b2ed689647245341963057a91ca6722, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
purpleRift: {r: 0.67817116, g: 0, b: 1, a: 1}
|
||||
redRift: {r: 1, g: 0, b: 0, a: 1}
|
||||
yellowRift: {r: 1, g: 0.8533139, b: 0, a: 1}
|
||||
riftraidVFX: {fileID: 9220211467238602414}
|
||||
--- !u!4 &359538216
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 359538214}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 17
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &387126292
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -11748,63 +11796,6 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 797a23835fc71fa4a9ba1b749b439f55, type: 3}
|
||||
--- !u!1001 &4514221123613451044
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 13
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782221, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Skellyard_PostProcessingVolume_Bloom_AO_ColorGrading
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
--- !u!1001 &7092102866103778006
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -11862,3 +11853,52 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: eff971f49703cfa41852c63ba9a287b9, type: 3}
|
||||
--- !u!1 &9220211467238602409
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 9220211467238602415}
|
||||
- component: {fileID: 9220211467238602414}
|
||||
m_Layer: 13
|
||||
m_Name: RiftRaid_PostProcessingVolume_Bloom_AO_ColorGrading
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &9220211467238602414
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9220211467238602409}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 8b9a305e18de0c04dbd257a21cd47087, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
sharedProfile: {fileID: 11400000, guid: 5ec31cefbf34fc84b832994236df9125, type: 2}
|
||||
isGlobal: 1
|
||||
blendDistance: 0
|
||||
weight: 1
|
||||
priority: 0
|
||||
--- !u!4 &9220211467238602415
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9220211467238602409}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 13
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
|
@ -0,0 +1,59 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1001 &4074264458465689596
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782219, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4706676449752782221, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Skellyard_PostProcessingVolume_Bloom_AO_ColorGrading
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: e188b434e6371854f82b31ddba22027f, type: 3}
|
@ -0,0 +1,7 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 41e32445aac78ac4d82c78b76a9b52fc
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -0,0 +1,21 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 3ba9c016f46bfdc47a03069408312d2c, type: 3}
|
||||
m_Name: AbilityTomePage
|
||||
m_EditorClassIdentifier:
|
||||
ItemName: AbilityTomePage
|
||||
Icon: {fileID: 21300000, guid: 2bc414d7ceec8f245a032dcdcdeccfb7, type: 3}
|
||||
sellPricePlayer: 10
|
||||
sellPriceVendor: 5000
|
||||
description: <color=#FFF3D4>A fragment of ancient combat mastery, its edges yearning
|
||||
to be reunited with its scattered brethren. Knowledge lies dormant until the
|
||||
complete sequence is discovered.</color>
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 81d43461cb6d9004a9373db85282473f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
14
Assets/Scriptables/Events/OnAbilityTomePageLearned.asset
Normal file
14
Assets/Scriptables/Events/OnAbilityTomePageLearned.asset
Normal file
@ -0,0 +1,14 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 96ca2de4326426a41b20874c46b4aee3, type: 3}
|
||||
m_Name: OnAbilityTomePageLearned
|
||||
m_EditorClassIdentifier:
|
@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 672e2337eaae0c1408a50a9e9bb3e143
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,3 +1,4 @@
|
||||
using Kryz.CharacterStats.Examples;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
@ -29,8 +30,48 @@ public class BuildLibrary : MonoBehaviour
|
||||
}
|
||||
#endregion
|
||||
|
||||
[SerializeField] private GameEvent_Int onAbilityTomePageLearned;
|
||||
|
||||
[SerializeField] private Item abilityTomePageTemplate;
|
||||
|
||||
public List<ClassBuildLibrary> classBuildLibraries = new List<ClassBuildLibrary>();
|
||||
|
||||
public List<AbilityTomePageInstance> abilityTomeInstances = new List<AbilityTomePageInstance>();
|
||||
|
||||
private List<AbilityTomePageInstance> stillLockedAbilityTomePages = new List<AbilityTomePageInstance>();
|
||||
|
||||
private void Start()
|
||||
{
|
||||
for (int i = 0; i < classBuildLibraries.Count; i++)
|
||||
{
|
||||
for (int j = 0; j < classBuildLibraries[i].possibleClassAbilities.Count; j++)
|
||||
{
|
||||
if(j == 0)
|
||||
{
|
||||
PlayerDataHandler.Instance.SaveAbilityTomeProgress(PlayerDataHandler.Instance.currentPlayerName.Value, AbilityIndexer.Instance.Abilities.IndexOf(classBuildLibraries[i].possibleClassAbilities[j]), 10);
|
||||
}
|
||||
abilityTomeInstances.Add(new AbilityTomePageInstance(classBuildLibraries[i].possibleClassAbilities[j], abilityTomePageTemplate, onAbilityTomePageLearned));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public AbilityTomePageInstance GetRandomLockedAbilityTomePageInstance()
|
||||
{
|
||||
for (int i = 0; i < abilityTomeInstances.Count; i++)
|
||||
{
|
||||
if(PlayerDataHandler.Instance.AbilityTomeUnlocked(PlayerDataHandler.Instance.currentPlayerName.Value, abilityTomeInstances[i].abilityIndex))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
stillLockedAbilityTomePages.Add(abilityTomeInstances[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return stillLockedAbilityTomePages[Random.Range(0, stillLockedAbilityTomePages.Count)];
|
||||
}
|
||||
|
||||
public List<BaseAbility> GetBaseAbilities(GameTag characterClass)
|
||||
{
|
||||
for (int i = 0; i < classBuildLibraries.Count; i++)
|
||||
|
@ -1,3 +1,4 @@
|
||||
using Kryz.CharacterStats.Examples;
|
||||
using Photon.Pun;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
@ -24,12 +25,17 @@ public class BuildManager : MonoBehaviour
|
||||
|
||||
PhotonView owner;
|
||||
|
||||
PlayerCharacterStats playerCharacterStats;
|
||||
|
||||
public GameTag CharacterClass => characterClass;
|
||||
public List<BuildSlot> SelectedBuildSlots => selectedBuildSlots;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
owner = GetComponentInParent<PhotonView>();
|
||||
playerCharacterStats = owner.GetComponent<PlayerCharacterStats>();
|
||||
|
||||
playerCharacterStats.level.OnLevelUpEvent.AddListener(CheckForSlotUnlockables);
|
||||
}
|
||||
|
||||
// Start is called before the first frame update
|
||||
@ -49,6 +55,8 @@ public class BuildManager : MonoBehaviour
|
||||
|
||||
TryGetSavedBuildData();
|
||||
|
||||
CheckForSlotUnlockables();
|
||||
|
||||
onBuildManagerInitialized.Raise(this);
|
||||
}
|
||||
|
||||
@ -101,4 +109,12 @@ public class BuildManager : MonoBehaviour
|
||||
|
||||
SaveCurrentBuild();
|
||||
}
|
||||
|
||||
private void CheckForSlotUnlockables()
|
||||
{
|
||||
abilityKeyBinders[0].SetUnlockAbilitySlot(true);
|
||||
abilityKeyBinders[1].SetUnlockAbilitySlot(playerCharacterStats.level.currentLevel >= GameConstants.GameBalancing.AbilitySlot_II_LevelRequired);
|
||||
abilityKeyBinders[2].SetUnlockAbilitySlot(playerCharacterStats.level.currentLevel >= GameConstants.GameBalancing.AbilitySlot_III_LevelRequired);
|
||||
abilityKeyBinders[3].SetUnlockAbilitySlot(playerCharacterStats.level.currentLevel >= GameConstants.GameBalancing.AbilitySlot_IV_LevelRequired);
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
using Kryz.CharacterStats.Examples;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using TMPro;
|
||||
@ -9,6 +10,7 @@ public class BuildManagerUIController : MonoBehaviour
|
||||
[SerializeField] private List<TMP_Dropdown> abilitySlotsDropdowns = new List<TMP_Dropdown>();
|
||||
|
||||
[SerializeField] private GameEventListener_BuildManager onBuildManagerInitialized;
|
||||
[SerializeField] private GameEventListener_Int onAbilityTomePageLearned;
|
||||
|
||||
BuildManager buildManager;
|
||||
|
||||
@ -20,11 +22,13 @@ public class BuildManagerUIController : MonoBehaviour
|
||||
int pickedEntry;
|
||||
string pickedEntryName;
|
||||
BaseAbility ability;
|
||||
PlayerCharacterStats playerCharacter;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
onBuildManagerInitialized.Response.AddListener(DependencyInjection);
|
||||
|
||||
onAbilityTomePageLearned.Response.AddListener((x) => InitializeDropdowns());
|
||||
|
||||
abilitySlotsDropdowns[0].onValueChanged.AddListener((x) => UpdateAbilitySlotOnDropdownValueChanged(0, x));
|
||||
abilitySlotsDropdowns[1].onValueChanged.AddListener((x) => UpdateAbilitySlotOnDropdownValueChanged(1, x));
|
||||
@ -50,6 +54,9 @@ public class BuildManagerUIController : MonoBehaviour
|
||||
private void DependencyInjection(BuildManager buildManager)
|
||||
{
|
||||
this.buildManager = buildManager;
|
||||
playerCharacter = buildManager.GetComponentInParent<PlayerCharacterStats>();
|
||||
|
||||
playerCharacter.level.OnLevelUpEvent.AddListener(CheckForSlotUnlockables);
|
||||
|
||||
InitializeDropdowns();
|
||||
}
|
||||
@ -62,6 +69,10 @@ public class BuildManagerUIController : MonoBehaviour
|
||||
|
||||
for (int i = 0; i < possibleAbilities.Count; i++)
|
||||
{
|
||||
if (!PlayerDataHandler.Instance.AbilityTomeUnlocked(PlayerDataHandler.Instance.currentPlayerName.Value, AbilityIndexer.Instance.Abilities.IndexOf(possibleAbilities[i])))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
optionData = new TMP_Dropdown.OptionData();
|
||||
|
||||
optionData.text = possibleAbilities[i].displayName;
|
||||
@ -80,5 +91,15 @@ public class BuildManagerUIController : MonoBehaviour
|
||||
|
||||
abilitySlotsDropdowns[i].value = possibleAbilities.IndexOf(buildManager.SelectedBuildSlots[i].ability);
|
||||
}
|
||||
|
||||
CheckForSlotUnlockables();
|
||||
}
|
||||
|
||||
private void CheckForSlotUnlockables()
|
||||
{
|
||||
abilitySlotsDropdowns[0].interactable = true;
|
||||
abilitySlotsDropdowns[1].interactable = playerCharacter.level.currentLevel >= GameConstants.GameBalancing.AbilitySlot_II_LevelRequired;
|
||||
abilitySlotsDropdowns[2].interactable = playerCharacter.level.currentLevel >= GameConstants.GameBalancing.AbilitySlot_III_LevelRequired;
|
||||
abilitySlotsDropdowns[3].interactable = playerCharacter.level.currentLevel >= GameConstants.GameBalancing.AbilitySlot_IV_LevelRequired;
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ using UnityEngine;
|
||||
public class DropTable : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private GameObject interactableDropPrefab;
|
||||
[SerializeField] private GameObject interactableDropAbilityTomePagePrefab;
|
||||
[SerializeField] private GameObject coinPrefab;
|
||||
[SerializeField] private int coinAmount;
|
||||
[SerializeField] private int extraDropChance;
|
||||
@ -81,24 +82,20 @@ public class DropTable : MonoBehaviour
|
||||
itemDrop = instantiatedDrop.GetComponent<EquippableItemDrop>();
|
||||
itemDrop.itemDrop = Item.ConvertTemplateIntoInstance(possibleItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(Random.Range(0,100) > 49)
|
||||
{
|
||||
spawnPosition = this.transform.position - Vector3.one * 0.3f;
|
||||
spawnPosition.y = 0f;
|
||||
instantiatedDrop = Instantiate(interactableDropAbilityTomePagePrefab, spawnPosition, this.transform.rotation);
|
||||
itemDrop = instantiatedDrop.GetComponent<EquippableItemDrop>();
|
||||
itemDrop.itemDrop = BuildLibrary.Instance.GetRandomLockedAbilityTomePageInstance();
|
||||
}
|
||||
}
|
||||
|
||||
if (!lootDrop) return;
|
||||
/*
|
||||
if (extraDrops.Count <= 0) return;
|
||||
|
||||
spawnPosition = this.transform.position;
|
||||
spawnPosition.y = 0f;
|
||||
instantiatedEquippableDrop = Instantiate(interactableDropPrefab, spawnPosition, this.transform.rotation);
|
||||
equippableItemDrop = instantiatedDrop.GetComponent<EquippableItemDrop>();
|
||||
equippableItemDrop.itemDrop = extraDrops[Random.Range(0, extraDrops.Count)];
|
||||
|
||||
if (nonEquippablesDrops.Count <= 0) return;
|
||||
|
||||
spawnPosition = this.transform.position + Vector3.one * 0.3f;
|
||||
spawnPosition.y = 0f;
|
||||
instantiatedDrop = Instantiate(interactableDropPrefab, spawnPosition, this.transform.rotation);
|
||||
itemDrop = instantiatedDrop.GetComponent<EquippableItemDrop>();
|
||||
itemDrop.itemDrop = nonEquippablesDrops[Random.Range(0, nonEquippablesDrops.Count)];*/
|
||||
|
||||
if (weightedDropLootTable.Count <= 0) return;
|
||||
|
||||
|
@ -11,6 +11,8 @@ public static class GameConstants
|
||||
public static string CharacterBuildDataKey = "characterBuildData";
|
||||
public static string PlayerCoinKey = "playerCoin";
|
||||
|
||||
public static string AbilityTomeKey = "abilityTome";
|
||||
|
||||
public const string SunMapUsedKey = "sunMapUsed";
|
||||
public const string MoonMapUsedKey = "moonMapUsed";
|
||||
public const string RiverAveMapUsedKey = "riverAveMapUsed";
|
||||
@ -62,6 +64,10 @@ public static class GameConstants
|
||||
return SunMapUsedKey + "-" + playerName;
|
||||
}
|
||||
}
|
||||
public static string GetAbilityTomeKey(string playerName, int abilityIndex)
|
||||
{
|
||||
return playerName + "-" + AbilityTomeKey + "-" + abilityIndex;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@ -145,6 +151,7 @@ public static class GameConstants
|
||||
|
||||
public const int StatPointsPerLevel = 3;
|
||||
|
||||
public const int StatPointsPerReputationLevel = 3;
|
||||
}
|
||||
|
||||
public static class CharacterBalancing
|
||||
@ -153,6 +160,10 @@ public static class GameConstants
|
||||
public const float ExperienceThresholdGrowth = 165f;
|
||||
public const float ExperienceThresholdGrowthPerLevelExponent = 1.88f;
|
||||
|
||||
public const float BaseReputationExperienceThreshold = 5f;
|
||||
public const float ReputationExperienceThresholdGrowth = 1.375f;
|
||||
public const float ReputationExperienceThresholdGrowthPerLevelExponent = 1.88f;
|
||||
|
||||
public const float SoloCheatDeathHealthPercent = 0.5f;
|
||||
public const float SoloCheatDeathInvulnerabilityDuration = 3f;
|
||||
|
||||
@ -163,8 +174,6 @@ public static class GameConstants
|
||||
public const float ReviveTime = 5f;
|
||||
public const float ReviveHealthPercent = 0.5f;
|
||||
|
||||
|
||||
|
||||
public const float MovementSpeedCap = 10f;
|
||||
public const float PercentAngularSpeedCap = 1f;
|
||||
public const float PercentAccelerationCap = 1f;
|
||||
@ -175,6 +184,12 @@ public static class GameConstants
|
||||
}
|
||||
public static class GameBalancing
|
||||
{
|
||||
public const int TotalPagesPerAbilityTome = 7;
|
||||
|
||||
public const int AbilitySlot_II_LevelRequired = 5;
|
||||
public const int AbilitySlot_III_LevelRequired = 10;
|
||||
public const int AbilitySlot_IV_LevelRequired = 15;
|
||||
|
||||
public const float IncreasedCoinDropBasedOnDifficultyMultiplier = 1.66f;
|
||||
public const float IncreasedItemDropBasedOnDifficultyMultiplier = 0.33f;
|
||||
|
||||
@ -272,6 +287,7 @@ public static class GameConstants
|
||||
#region Object Sources (example stat increase source)
|
||||
|
||||
public static object AllocatedSource = "Allocated";
|
||||
public static object AllocatedReputationSource = "Rep Alloc";
|
||||
public static object LevelSource = "Level";
|
||||
public static object BaseValueSource = "Base";
|
||||
public static object CraftingSource = "Crafting";
|
||||
|
@ -51,7 +51,8 @@ public class InventoryInstanceData
|
||||
for (int i = 0; i < inventoryItems.Length; i++)
|
||||
{
|
||||
this.inventoryItems[i] = inventoryItems[i];
|
||||
this.inventoryItems[i].Icon = SpriteIndexer.Instance.Sprites[this.inventoryItems[i].spriteIndex];
|
||||
//this.inventoryItems[i].Icon = SpriteIndexer.Instance.Sprites[this.inventoryItems[i].spriteIndex];
|
||||
//this.inventoryItems[i].Icon = SpriteIndexer.Instance.GetSpriteByName(this.inventoryItems[i].spriteName);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -56,6 +56,9 @@ public class PlayerDataHandler : MonoBehaviour
|
||||
string sunMapUsedKey;
|
||||
string riverAveMapUsedKey;
|
||||
string mapUsedKey;
|
||||
string abilityTomeKey;
|
||||
|
||||
int currentPageCount;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
@ -217,5 +220,30 @@ public class PlayerDataHandler : MonoBehaviour
|
||||
|
||||
return GameStatePersistenceManager.Instance.HasDataForKey(mapUsedKey);
|
||||
}
|
||||
|
||||
public void SaveAbilityTomeProgress(string playerName, int abilityIndex, int pageCount)
|
||||
{
|
||||
abilityTomeKey = GameConstants.PlayerPrefsKeys.GetAbilityTomeKey(playerName, abilityIndex);
|
||||
|
||||
currentPageCount = pageCount + GameStatePersistenceManager.Instance.LoadProgressDataCheckPoint(abilityTomeKey);
|
||||
|
||||
GameStatePersistenceManager.Instance.SaveProgressDataCheckPoint(abilityTomeKey, currentPageCount);
|
||||
}
|
||||
public int LoadAbilityTomeProgress(string playerName, int abilityIndex)
|
||||
{
|
||||
abilityTomeKey = GameConstants.PlayerPrefsKeys.GetAbilityTomeKey(playerName, abilityIndex);
|
||||
|
||||
currentPageCount = GameStatePersistenceManager.Instance.LoadProgressDataCheckPoint(abilityTomeKey);
|
||||
|
||||
return currentPageCount;
|
||||
}
|
||||
public bool AbilityTomeUnlocked(string playerName, int abilityIndex)
|
||||
{
|
||||
abilityTomeKey = GameConstants.PlayerPrefsKeys.GetAbilityTomeKey(playerName, abilityIndex);
|
||||
|
||||
currentPageCount = GameStatePersistenceManager.Instance.LoadProgressDataCheckPoint(abilityTomeKey);
|
||||
|
||||
return currentPageCount >= GameConstants.GameBalancing.TotalPagesPerAbilityTome;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
@ -20,6 +20,17 @@ public class SpriteIndexer : MonoBehaviour
|
||||
|
||||
public List<Sprite> Sprites = new List<Sprite>();
|
||||
|
||||
public Sprite GetSpriteByName(string name)
|
||||
{
|
||||
for (int i = 0; i < Sprites.Count; i++)
|
||||
{
|
||||
if (Sprites[i].name == name)
|
||||
return Sprites[i];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
protected void Awake()
|
||||
{
|
||||
// Ensure there's only one instance
|
||||
@ -33,16 +44,16 @@ public class SpriteIndexer : MonoBehaviour
|
||||
_instance = this;
|
||||
DontDestroyOnLoad(gameObject);
|
||||
}
|
||||
|
||||
/*
|
||||
private void OnValidate()
|
||||
{
|
||||
if (Sprites == null) return;
|
||||
|
||||
foreach (Sprite item in Resources.FindObjectsOfTypeAll<Sprite>())
|
||||
foreach (Sprite item in Resources.LoadAll<Sprite>("Icons/"))
|
||||
{
|
||||
if (Sprites.Contains(item)) continue;
|
||||
|
||||
Sprites.Add(item);
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
@ -110,7 +110,7 @@ public class JobManager : MonoBehaviour, IInRoomCallbacks
|
||||
{
|
||||
if (!JobActive) return;
|
||||
|
||||
if(currentlySelectedJob.isBonusRiftJob)
|
||||
if (currentlySelectedJob.isBonusRiftJob)
|
||||
{
|
||||
return;
|
||||
}
|
||||
@ -207,7 +207,8 @@ public class JobManager : MonoBehaviour, IInRoomCallbacks
|
||||
GenerateJobs();
|
||||
}
|
||||
|
||||
currentlyGeneratedRiftRaid = GenerateBonusRiftInstance();
|
||||
if (currentlyGeneratedRiftRaid.completed)
|
||||
currentlyGeneratedRiftRaid = GenerateBonusRiftInstance();
|
||||
|
||||
AvailableJobs jobs = new AvailableJobs();
|
||||
jobs.availableJobs = availableJobs;
|
||||
|
@ -32,6 +32,7 @@ public class AbilityKeyBinder : MonoBehaviour
|
||||
AbilityCooldownTracker cooldownTracker;
|
||||
|
||||
bool isDead = false;
|
||||
bool abilitySlotUnlocked = false;
|
||||
|
||||
float finalHealthCost;
|
||||
float finalManaCost;
|
||||
@ -74,6 +75,8 @@ public class AbilityKeyBinder : MonoBehaviour
|
||||
{
|
||||
if (isDead) return;
|
||||
|
||||
if (!abilitySlotUnlocked) return;
|
||||
|
||||
// Check for input using both keyboard and gamepad
|
||||
isInputPressed =
|
||||
(key != null && Input.GetKeyDown(key.keyCode)) ||
|
||||
@ -177,4 +180,10 @@ public class AbilityKeyBinder : MonoBehaviour
|
||||
onAbilityKeyBinderSpawned.Raise(this);
|
||||
}
|
||||
|
||||
public void SetUnlockAbilitySlot(bool unlocked)
|
||||
{
|
||||
abilitySlotUnlocked = unlocked;
|
||||
abilityBindInstance.SetUnlocked(unlocked);
|
||||
}
|
||||
|
||||
}
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Events;
|
||||
|
||||
[System.Serializable]
|
||||
public class Level
|
||||
{
|
||||
public int currentLevel;
|
||||
@ -10,7 +11,7 @@ public class Level
|
||||
public UnityEvent OnLevelUpEvent = new UnityEvent();
|
||||
public UnityEvent OnExperienceChanged = new UnityEvent();
|
||||
|
||||
float currentExperience;
|
||||
protected float currentExperience;
|
||||
public float GetCurrentExperience()
|
||||
{
|
||||
return currentExperience;
|
||||
@ -54,9 +55,31 @@ public class Level
|
||||
OnExperienceChanged.Invoke();
|
||||
}
|
||||
|
||||
public void UpdateExperienceThreshold()
|
||||
public virtual void UpdateExperienceThreshold()
|
||||
{
|
||||
FinalExperienceThreshold = Mathf.RoundToInt(GameConstants.CharacterBalancing.BaseExperienceThreshold + GameConstants.CharacterBalancing.ExperienceThresholdGrowth * Mathf.Pow((float)currentLevel, GameConstants.CharacterBalancing.ExperienceThresholdGrowthPerLevelExponent));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
[System.Serializable]
|
||||
public class ReputationLevel : Level
|
||||
{
|
||||
public ReputationLevel() : base()
|
||||
{
|
||||
currentLevel = 0;
|
||||
currentExperience = 0f;
|
||||
}
|
||||
|
||||
public ReputationLevel(int currentLevel, float currentExperience) : base(currentLevel, currentExperience)
|
||||
{
|
||||
this.currentLevel = currentLevel;
|
||||
this.currentExperience = currentExperience;
|
||||
}
|
||||
|
||||
public override void UpdateExperienceThreshold()
|
||||
{
|
||||
FinalExperienceThreshold = Mathf.RoundToInt(GameConstants.CharacterBalancing.BaseReputationExperienceThreshold + GameConstants.CharacterBalancing.ReputationExperienceThresholdGrowth * Mathf.Pow((float)currentLevel, GameConstants.CharacterBalancing.ReputationExperienceThresholdGrowthPerLevelExponent));
|
||||
}
|
||||
}
|
@ -4,15 +4,26 @@ using UnityEngine;
|
||||
|
||||
public class PlayerReputation : MonoBehaviour
|
||||
{
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
|
||||
}
|
||||
public ReputationLevel reputationLevel;
|
||||
|
||||
// Update is called once per frame
|
||||
void Update()
|
||||
PlayerAccountData accountData = new PlayerAccountData();
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
|
||||
reputationLevel = new ReputationLevel();
|
||||
|
||||
accountData = PlayerDataHandler.Instance.LoadPlayerAccountData(PlayerDataHandler.Instance.currentPlayerName.Value);
|
||||
|
||||
if(accountData != null)
|
||||
{
|
||||
Debug.Log("Success Loading CharacterData");
|
||||
reputationLevel = new ReputationLevel(accountData.currentReputationLevel, accountData.currentReputationExperience);
|
||||
}
|
||||
else
|
||||
{
|
||||
accountData = new PlayerAccountData();
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
34
Assets/Scripts/RiftSystem/RiftRaiding/RiftRaidVFX.cs
Normal file
34
Assets/Scripts/RiftSystem/RiftRaiding/RiftRaidVFX.cs
Normal file
@ -0,0 +1,34 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering.PostProcessing;
|
||||
|
||||
public class RiftRaidVFX : MonoBehaviour
|
||||
{
|
||||
[SerializeField] private Color purpleRift;
|
||||
[SerializeField] private Color redRift;
|
||||
[SerializeField] private Color yellowRift;
|
||||
|
||||
[SerializeField] private PostProcessVolume riftraidVFX;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
switch (JobManager.Instance.currentlyGeneratedRiftRaid.bonusRiftType)
|
||||
{
|
||||
case RiftType.Yellow:
|
||||
riftraidVFX.profile.GetSetting<Vignette>().color.value = yellowRift;
|
||||
break;
|
||||
case RiftType.Purple:
|
||||
riftraidVFX.profile.GetSetting<Vignette>().color.value = purpleRift;
|
||||
break;
|
||||
case RiftType.Red:
|
||||
riftraidVFX.profile.GetSetting<Vignette>().color.value = redRift;
|
||||
break;
|
||||
default:
|
||||
riftraidVFX.profile.GetSetting<Vignette>().color.value = purpleRift;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
11
Assets/Scripts/RiftSystem/RiftRaiding/RiftRaidVFX.cs.meta
Normal file
11
Assets/Scripts/RiftSystem/RiftRaiding/RiftRaidVFX.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8b2ed689647245341963057a91ca6722
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -71,4 +71,8 @@ public class GameStatePersistenceManager : MonoBehaviour
|
||||
{
|
||||
PlayerPrefs.SetInt(key, value);
|
||||
}
|
||||
public int LoadProgressDataCheckPoint(string key)
|
||||
{
|
||||
return PlayerPrefs.GetInt(key, 0);
|
||||
}
|
||||
}
|
||||
|
@ -8,21 +8,35 @@ public class PlayerAccountData
|
||||
public string userName;
|
||||
public List<string> characterNames = new List<string>();
|
||||
|
||||
public int currentReputationLevel;
|
||||
public float currentReputationExperience;
|
||||
|
||||
public PlayerAccountData()
|
||||
{
|
||||
userName = "Player1";
|
||||
characterNames = new List<string>();
|
||||
currentReputationLevel = 0;
|
||||
currentReputationExperience = 0;
|
||||
}
|
||||
public PlayerAccountData(string userName)
|
||||
{
|
||||
this.userName = userName;
|
||||
characterNames = new List<string>();
|
||||
currentReputationLevel = 0;
|
||||
currentReputationExperience = 0;
|
||||
}
|
||||
public PlayerAccountData(string userName, List<string> characters)
|
||||
{
|
||||
this.userName = userName;
|
||||
characterNames = characters;
|
||||
}
|
||||
public PlayerAccountData(string userName, List<string> characters, int replevel, float repExp)
|
||||
{
|
||||
this.userName = userName;
|
||||
characterNames = characters;
|
||||
currentReputationLevel = replevel;
|
||||
currentReputationExperience = repExp;
|
||||
}
|
||||
|
||||
public bool AddCharacterToPlayerAccount(string characterName)
|
||||
{
|
||||
|
@ -21,6 +21,7 @@ public class AbilityBindInstance : MonoBehaviour
|
||||
public GameObject healthCostGO;
|
||||
public GameObject pressed;
|
||||
public Image coolDown;
|
||||
public GameObject locked;
|
||||
|
||||
[Header("Set by Code:")]
|
||||
public AbilityKeyBinder abilityKeyBinder;
|
||||
@ -80,4 +81,9 @@ public class AbilityBindInstance : MonoBehaviour
|
||||
coolDown.fillAmount = 0f;
|
||||
coolDown.gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
public void SetUnlocked(bool unlocked)
|
||||
{
|
||||
locked.SetActive(!unlocked);
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ public class ExperienceBarUI : MonoBehaviour
|
||||
[SerializeField] private Image experienceBarFill;
|
||||
[Header("Listeners:")]
|
||||
[SerializeField] private GameEventListener_PhotonView onPlayerSpawned;
|
||||
public bool isRepBar = false;
|
||||
|
||||
PlayerCharacterStats player;
|
||||
|
||||
@ -41,8 +42,16 @@ public class ExperienceBarUI : MonoBehaviour
|
||||
if (!spawnedPlayer.IsMine) return;
|
||||
|
||||
player = ((RiftPlayer)spawnedPlayer.Owner.TagObject).GetComponent<PlayerCharacterStats>();
|
||||
player.level.OnLevelUpEvent.AddListener(UpdateLevelText);
|
||||
player.level.OnExperienceChanged.AddListener(UpdateLevelText);
|
||||
if(isRepBar)
|
||||
{
|
||||
player.reputationLevel.OnLevelUpEvent.AddListener(UpdateLevelText);
|
||||
player.reputationLevel.OnExperienceChanged.AddListener(UpdateLevelText);
|
||||
}
|
||||
else
|
||||
{
|
||||
player.level.OnLevelUpEvent.AddListener(UpdateLevelText);
|
||||
player.level.OnExperienceChanged.AddListener(UpdateLevelText);
|
||||
}
|
||||
|
||||
UpdateLevelText();
|
||||
|
||||
@ -52,15 +61,15 @@ public class ExperienceBarUI : MonoBehaviour
|
||||
|
||||
public void UpdateLevelText()
|
||||
{
|
||||
level.text = player.level.currentLevel.ToString();
|
||||
nextLevel.text = (player.level.currentLevel + 1).ToString();
|
||||
experienceBar.text = $"{player.level.GetCurrentExperience().ToString("F1")}/{player.level.FinalExperienceThreshold.ToString("F1")}";
|
||||
level.text = isRepBar ? player.reputationLevel.currentLevel.ToString() : player.level.currentLevel.ToString();
|
||||
nextLevel.text = isRepBar ? (player.reputationLevel.currentLevel + 1).ToString() : (player.level.currentLevel + 1).ToString();
|
||||
experienceBar.text = isRepBar ? $"{player.reputationLevel.GetCurrentExperience().ToString("F1")}/{player.reputationLevel.FinalExperienceThreshold.ToString("F1")}" : $"{player.level.GetCurrentExperience().ToString("F1")}/{player.level.FinalExperienceThreshold.ToString("F1")}";
|
||||
SetCurrentFill();
|
||||
}
|
||||
|
||||
private void SetCurrentFill()
|
||||
{
|
||||
currentFill = player.level.GetCurrentExperience() / player.level.FinalExperienceThreshold;
|
||||
currentFill = isRepBar ? player.reputationLevel.GetCurrentExperience() / player.reputationLevel.FinalExperienceThreshold : player.level.GetCurrentExperience() / player.level.FinalExperienceThreshold;
|
||||
|
||||
sizeFill.x = 0;
|
||||
sizeFill.y = 0;
|
||||
|
@ -94,7 +94,7 @@ Material:
|
||||
- _Mode: 0
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _Rotation: 13.448983
|
||||
- _Rotation: 1184.3033
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user