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: 22400858}
|
||||||
- {fileID: 22466304}
|
- {fileID: 22466304}
|
||||||
- {fileID: 22440530}
|
- {fileID: 22440530}
|
||||||
|
- {fileID: 2537039618920728962}
|
||||||
|
- {fileID: 646436410361276731}
|
||||||
- {fileID: 7158904691041162286}
|
- {fileID: 7158904691041162286}
|
||||||
m_Father: {fileID: 22436708}
|
m_Father: {fileID: 22436708}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
@ -4040,7 +4042,7 @@ RectTransform:
|
|||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 59981451553573657}
|
- {fileID: 59981451553573657}
|
||||||
m_Father: {fileID: 22485050}
|
m_Father: {fileID: 22485050}
|
||||||
m_RootOrder: 3
|
m_RootOrder: 5
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
m_AnchorMin: {x: 1, y: 0}
|
m_AnchorMin: {x: 1, y: 0}
|
||||||
m_AnchorMax: {x: 1, y: 0}
|
m_AnchorMax: {x: 1, y: 0}
|
||||||
@ -4533,6 +4535,101 @@ MonoBehaviour:
|
|||||||
m_hasFontAssetChanged: 0
|
m_hasFontAssetChanged: 0
|
||||||
m_baseMaterial: {fileID: 0}
|
m_baseMaterial: {fileID: 0}
|
||||||
m_maskOffset: {x: 0, y: 0, z: 0, w: 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
|
--- !u!1 &3823479299661392140
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -4838,6 +4935,101 @@ MonoBehaviour:
|
|||||||
m_FlexibleWidth: 1
|
m_FlexibleWidth: 1
|
||||||
m_FlexibleHeight: -1
|
m_FlexibleHeight: -1
|
||||||
m_LayoutPriority: 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
|
--- !u!1 &5895164288734416259
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
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 float MagicResistancePercentBonus;
|
||||||
|
|
||||||
|
|
||||||
public CraftingStatStone()
|
public CraftingStatStone() : base()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
public CraftingStatStone(CraftingStatStoneTemplate template)
|
public CraftingStatStone(CraftingStatStoneTemplate template)
|
||||||
|
@ -57,7 +57,7 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
|
|
||||||
private void HandleItemSlotOnRightClick(ItemInstance item)
|
private void HandleItemSlotOnRightClick(ItemInstance item)
|
||||||
{
|
{
|
||||||
if(isCrafting)
|
if (isCrafting)
|
||||||
{
|
{
|
||||||
OnItemRightClickedEventWhileCrafting.Invoke(item);
|
OnItemRightClickedEventWhileCrafting.Invoke(item);
|
||||||
}
|
}
|
||||||
@ -92,8 +92,7 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
{
|
{
|
||||||
itemSlots[i].Item = items[i];
|
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]);
|
//inventoryData.inventoryItems[i] = ItemIndexer.Instance.Items.IndexOf(items[i]);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -156,6 +155,8 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
if (inventoryData.inventoryItems[i] == null) continue;
|
if (inventoryData.inventoryItems[i] == null) continue;
|
||||||
if (string.IsNullOrEmpty(inventoryData.inventoryItems[i].ItemName)) 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(inventoryData.inventoryItems[i]);
|
||||||
//items.Add(ItemIndexer.Instance.Items[inventoryData.inventoryItems[i]]);
|
//items.Add(ItemIndexer.Instance.Items[inventoryData.inventoryItems[i]]);
|
||||||
}
|
}
|
||||||
|
@ -9,8 +9,8 @@ using UnityEngine;
|
|||||||
public class ItemInstance
|
public class ItemInstance
|
||||||
{
|
{
|
||||||
public string ItemName;
|
public string ItemName;
|
||||||
|
[SerializeField]
|
||||||
public Sprite Icon;
|
public Sprite Icon;
|
||||||
public int spriteIndex;
|
|
||||||
public int sellPricePlayer;
|
public int sellPricePlayer;
|
||||||
public int sellPriceVendor;
|
public int sellPriceVendor;
|
||||||
public string description;
|
public string description;
|
||||||
@ -20,7 +20,6 @@ public class ItemInstance
|
|||||||
{
|
{
|
||||||
ItemName = "";
|
ItemName = "";
|
||||||
Icon = null;
|
Icon = null;
|
||||||
spriteIndex = 0;
|
|
||||||
sellPricePlayer = 0;
|
sellPricePlayer = 0;
|
||||||
sellPriceVendor = 0;
|
sellPriceVendor = 0;
|
||||||
description = "";
|
description = "";
|
||||||
@ -29,22 +28,20 @@ public class ItemInstance
|
|||||||
public ItemInstance(Item template)
|
public ItemInstance(Item template)
|
||||||
{
|
{
|
||||||
ItemName = template.ItemName;
|
ItemName = template.ItemName;
|
||||||
|
templateIndex = ItemIndexer.Instance.Items.IndexOf(template);
|
||||||
Icon = template.Icon;
|
Icon = template.Icon;
|
||||||
spriteIndex = SpriteIndexer.Instance.Sprites.IndexOf(Icon);
|
|
||||||
sellPricePlayer = template.sellPricePlayer;
|
sellPricePlayer = template.sellPricePlayer;
|
||||||
sellPriceVendor = template.sellPriceVendor;
|
sellPriceVendor = template.sellPriceVendor;
|
||||||
description = template.description;
|
description = template.description;
|
||||||
templateIndex = ItemIndexer.Instance.Items.IndexOf(template);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemInstance(Item template, int templateIndex)
|
public ItemInstance(Item template, int templateIndex)
|
||||||
{
|
{
|
||||||
ItemName = template.ItemName;
|
ItemName = template.ItemName;
|
||||||
|
this.templateIndex = templateIndex;
|
||||||
Icon = template.Icon;
|
Icon = template.Icon;
|
||||||
spriteIndex = SpriteIndexer.Instance.Sprites.IndexOf(Icon);
|
|
||||||
sellPricePlayer = template.sellPricePlayer;
|
sellPricePlayer = template.sellPricePlayer;
|
||||||
sellPriceVendor = template.sellPriceVendor;
|
sellPriceVendor = template.sellPriceVendor;
|
||||||
description = template.description;
|
description = template.description;
|
||||||
this.templateIndex = templateIndex;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -20,16 +20,16 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
|
|
||||||
if (_item == null) {
|
if (_item == null) {
|
||||||
image.enabled = false;
|
image.enabled = false;
|
||||||
} else if(_item.Icon == null) {
|
} else if (_item.Icon == null) {
|
||||||
image.enabled = false;
|
image.enabled = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Debug.Log("image: " + image.name);
|
Debug.Log("Item Slot: " + _item);
|
||||||
Debug.Log("item: " + _item.ItemName);
|
Debug.Log("Item Slot: " + _item.Icon);
|
||||||
Debug.Log("icon: " + _item.Icon.name);
|
Debug.Log("Item Slot: " + _item.templateIndex);
|
||||||
|
Debug.Log("Item Slot: " + ItemIndexer.Instance.Items[_item.templateIndex].ItemName);
|
||||||
image.sprite = _item.Icon;
|
image.sprite = _item.Icon;
|
||||||
Debug.Log("sprite: " + image.sprite.name);
|
|
||||||
image.enabled = true;
|
image.enabled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
public RiftPlayer player;
|
public RiftPlayer player;
|
||||||
|
|
||||||
public Level level;
|
public Level level;
|
||||||
|
public ReputationLevel reputationLevel;
|
||||||
|
|
||||||
PhotonView photonView;
|
PhotonView photonView;
|
||||||
|
|
||||||
@ -31,6 +32,7 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
public int AvailablePointsToAllocate;
|
public int AvailablePointsToAllocate;
|
||||||
|
|
||||||
CharacterData characterData = new CharacterData();
|
CharacterData characterData = new CharacterData();
|
||||||
|
PlayerAccountData accountData = new PlayerAccountData();
|
||||||
|
|
||||||
List<CharacterStat> statsCollection = new List<CharacterStat>();
|
List<CharacterStat> statsCollection = new List<CharacterStat>();
|
||||||
|
|
||||||
@ -57,6 +59,7 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
MaxHealth.BaseValue = health.GetBaseMaxValue();
|
MaxHealth.BaseValue = health.GetBaseMaxValue();
|
||||||
//Debug.Log("MAX HEALTH GET BASE MAX VALUE: " + MaxHealth.BaseValue);
|
//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);
|
characterData = PlayerDataHandler.Instance.LoadCharacterData(PlayerDataHandler.Instance.currentPlayerName.Value, PlayerDataHandler.Instance.currentCharacterName.Value);
|
||||||
|
|
||||||
if (characterData != null)
|
if (characterData != null)
|
||||||
@ -64,9 +67,20 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
Debug.Log("Success Loading CharacterData");
|
Debug.Log("Success Loading CharacterData");
|
||||||
level = new Level(characterData.currentLevel, characterData.currentExperience);
|
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++)
|
for (int i = 0; i < primaryStatsDictionary.Keys.Count; i++)
|
||||||
{
|
{
|
||||||
AllocatedStatPoints.Add(characterData.allocatedStatPoints[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;
|
AvailablePointsToAllocate = characterData.availablePointsToAllocate;
|
||||||
|
|
||||||
@ -77,11 +91,14 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
{
|
{
|
||||||
characterData = new CharacterData();
|
characterData = new CharacterData();
|
||||||
|
|
||||||
|
reputationLevel = new ReputationLevel(accountData.currentReputationLevel, accountData.currentReputationExperience);
|
||||||
|
|
||||||
for (int i = 0; i < primaryStatsDictionary.Keys.Count; i++)
|
for (int i = 0; i < primaryStatsDictionary.Keys.Count; i++)
|
||||||
{
|
{
|
||||||
AllocatedStatPoints.Add(0);
|
AllocatedStatPoints.Add(0);
|
||||||
}
|
}
|
||||||
AvailablePointsToAllocate = GameConstants.CharacterStatsBalancing.StatPointsPerLevel;
|
AvailablePointsToAllocate = GameConstants.CharacterStatsBalancing.StatPointsPerLevel;
|
||||||
|
AvailablePointsToAllocate += accountData.currentReputationLevel * GameConstants.CharacterStatsBalancing.StatPointsPerReputationLevel;
|
||||||
|
|
||||||
characterData.playerOwnerID = PlayerDataHandler.Instance.currentPlayerName.Value;
|
characterData.playerOwnerID = PlayerDataHandler.Instance.currentPlayerName.Value;
|
||||||
characterData.currentLevel = level.currentLevel;
|
characterData.currentLevel = level.currentLevel;
|
||||||
@ -98,9 +115,6 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (statPanel == null)
|
if (statPanel == null)
|
||||||
statPanel = FindObjectOfType<StatPanel>();
|
statPanel = FindObjectOfType<StatPanel>();
|
||||||
|
|
||||||
@ -108,7 +122,7 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
statPanel.SetStats(Strength, Agility, Intelligence, Spirit, Vitality);
|
statPanel.SetStats(Strength, Agility, Intelligence, Spirit, Vitality);
|
||||||
statPanel.SetSecondaryStats(AttackDamage, SpellDamage, CritChance, CritDamage, MaxHealth, Armor, MagicResistance);
|
statPanel.SetSecondaryStats(AttackDamage, SpellDamage, CritChance, CritDamage, MaxHealth, Armor, MagicResistance);
|
||||||
statPanel.UpdateStatValues();
|
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);
|
statPanel.ToggleAllocateButtonsInteractable(AvailablePointsToAllocate > 0);
|
||||||
onUpdateStatValues.AddListener(statPanel.UpdateStatValues);
|
onUpdateStatValues.AddListener(statPanel.UpdateStatValues);
|
||||||
onUpdateStatValues.Invoke();
|
onUpdateStatValues.Invoke();
|
||||||
@ -127,8 +141,14 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
|
|
||||||
level.OnLevelUpEvent.AddListener(OnLevelUp);
|
level.OnLevelUpEvent.AddListener(OnLevelUp);
|
||||||
level.OnExperienceChanged.AddListener(OnExperienceChanged);
|
level.OnExperienceChanged.AddListener(OnExperienceChanged);
|
||||||
|
|
||||||
|
reputationLevel.OnLevelUpEvent.AddListener(OnReputationLevelUp);
|
||||||
|
reputationLevel.OnExperienceChanged.AddListener(OnReputationExperienceChanged);
|
||||||
|
|
||||||
experienceOnNPCDeath.Response.AddListener(level.GainExperience);
|
experienceOnNPCDeath.Response.AddListener(level.GainExperience);
|
||||||
|
|
||||||
onJobCompleted.Response.AddListener(job => level.GainExperience(job.experienceReward));
|
onJobCompleted.Response.AddListener(job => level.GainExperience(job.experienceReward));
|
||||||
|
onJobCompleted.Response.AddListener(job => reputationLevel.GainExperience(job.reputationReward));
|
||||||
|
|
||||||
UpdateLevelOnOthers();
|
UpdateLevelOnOthers();
|
||||||
|
|
||||||
@ -148,11 +168,26 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
PlayerDataHandler.Instance.SaveCharacterData(PlayerDataHandler.Instance.currentPlayerName.Value, PlayerDataHandler.Instance.currentCharacterName.Value, characterData);
|
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()
|
private void OnLevelUp()
|
||||||
{
|
{
|
||||||
UpdateLevelOnOthers();
|
UpdateLevelOnOthers();
|
||||||
|
|
||||||
statPanel.UpdateLevelInfo(level.currentLevel.ToString());
|
statPanel.UpdateLevelInfo(level.currentLevel.ToString(), reputationLevel.currentLevel.ToString());
|
||||||
|
|
||||||
UpdateStatsBasedOnLevel();
|
UpdateStatsBasedOnLevel();
|
||||||
|
|
||||||
|
@ -13,6 +13,7 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
[SerializeField] private string[] secondaryStatNames;
|
[SerializeField] private string[] secondaryStatNames;
|
||||||
[SerializeField] private Text characterName;
|
[SerializeField] private Text characterName;
|
||||||
[SerializeField] private Text characterLevel;
|
[SerializeField] private Text characterLevel;
|
||||||
|
[SerializeField] private Text characterRepLevel;
|
||||||
[SerializeField] private StatDisplay unallocated;
|
[SerializeField] private StatDisplay unallocated;
|
||||||
[SerializeField] private Button resetAllocated;
|
[SerializeField] private Button resetAllocated;
|
||||||
private CharacterStat[] stats;
|
private CharacterStat[] stats;
|
||||||
@ -110,14 +111,16 @@ namespace Kryz.CharacterStats.Examples
|
|||||||
|
|
||||||
ToggleAllocateButtonsInteractable(playerStats.AvailablePointsToAllocate > 0);
|
ToggleAllocateButtonsInteractable(playerStats.AvailablePointsToAllocate > 0);
|
||||||
}
|
}
|
||||||
public void SetCharacterInfo(string name, string level)
|
public void SetCharacterInfo(string name, string level, string repLevel)
|
||||||
{
|
{
|
||||||
characterName.text = name;
|
characterName.text = name;
|
||||||
characterLevel.text = level;
|
characterLevel.text = level;
|
||||||
|
characterRepLevel.text = repLevel;
|
||||||
}
|
}
|
||||||
public void UpdateLevelInfo(string level)
|
public void UpdateLevelInfo(string level, string repLevel)
|
||||||
{
|
{
|
||||||
characterLevel.text = level;
|
characterLevel.text = level;
|
||||||
|
characterRepLevel.text = repLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UpdateStatValues()
|
public void UpdateStatValues()
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,82 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%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
|
--- !u!1 &971065325636273895
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -76,6 +153,82 @@ MonoBehaviour:
|
|||||||
m_FillOrigin: 0
|
m_FillOrigin: 0
|
||||||
m_UseSpriteMesh: 0
|
m_UseSpriteMesh: 0
|
||||||
m_PixelsPerUnitMultiplier: 1
|
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
|
--- !u!1 &3491813265212353229
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -555,6 +708,7 @@ RectTransform:
|
|||||||
- {fileID: 5468731390278590182}
|
- {fileID: 5468731390278590182}
|
||||||
- {fileID: 2240116213718434170}
|
- {fileID: 2240116213718434170}
|
||||||
- {fileID: 8015528414007822456}
|
- {fileID: 8015528414007822456}
|
||||||
|
- {fileID: 1553442022768226858}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
@ -626,6 +780,7 @@ MonoBehaviour:
|
|||||||
healthCostGO: {fileID: 6775159804060218676}
|
healthCostGO: {fileID: 6775159804060218676}
|
||||||
pressed: {fileID: 4444551169812095635}
|
pressed: {fileID: 4444551169812095635}
|
||||||
coolDown: {fileID: 2413958677162281131}
|
coolDown: {fileID: 2413958677162281131}
|
||||||
|
locked: {fileID: 832891442293664334}
|
||||||
abilityKeyBinder: {fileID: 0}
|
abilityKeyBinder: {fileID: 0}
|
||||||
--- !u!1 &6775159804060218676
|
--- !u!1 &6775159804060218676
|
||||||
GameObject:
|
GameObject:
|
||||||
|
@ -45,11 +45,13 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interactableDropPrefab: {fileID: 7187375229850072788, guid: 6067f5d34154eb3498e9a5fdfcee4b00, type: 3}
|
interactableDropPrefab: {fileID: 7187375229850072788, guid: 6067f5d34154eb3498e9a5fdfcee4b00, type: 3}
|
||||||
|
interactableDropAbilityTomePagePrefab: {fileID: 7187375229850072788, guid: 47a90ef4536f3dd479fe730f59f43a75, type: 3}
|
||||||
coinPrefab: {fileID: 7706952695029526538, guid: b0bce3e9bc0755445abb649e0c306c79, type: 3}
|
coinPrefab: {fileID: 7706952695029526538, guid: b0bce3e9bc0755445abb649e0c306c79, type: 3}
|
||||||
coinAmount: 1
|
coinAmount: 1
|
||||||
extraDropChance: 0
|
extraDropChance: 0
|
||||||
onCoinDrop: {fileID: 11400000, guid: 48da3b1185c086c4c81a2b97ab7685fc, type: 2}
|
onCoinDrop: {fileID: 11400000, guid: 48da3b1185c086c4c81a2b97ab7685fc, type: 2}
|
||||||
guaranteedItemDrop: []
|
guaranteedItemDrop: []
|
||||||
|
guaranteedOnlyOnePerKill: []
|
||||||
extraDrops:
|
extraDrops:
|
||||||
- {fileID: 11400000, guid: 26b042abfe9104448a1e9599be66e71a, type: 2}
|
- {fileID: 11400000, guid: 26b042abfe9104448a1e9599be66e71a, type: 2}
|
||||||
- {fileID: 11400000, guid: e08687c26614d154cb5a9a01f4b97635, type: 2}
|
- {fileID: 11400000, guid: e08687c26614d154cb5a9a01f4b97635, type: 2}
|
||||||
|
@ -5885,11 +5885,13 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
interactableDropPrefab: {fileID: 7187375229850072788, guid: 6067f5d34154eb3498e9a5fdfcee4b00, type: 3}
|
interactableDropPrefab: {fileID: 7187375229850072788, guid: 6067f5d34154eb3498e9a5fdfcee4b00, type: 3}
|
||||||
|
interactableDropAbilityTomePagePrefab: {fileID: 7187375229850072788, guid: 47a90ef4536f3dd479fe730f59f43a75, type: 3}
|
||||||
coinPrefab: {fileID: 7706952695029526538, guid: b0bce3e9bc0755445abb649e0c306c79, type: 3}
|
coinPrefab: {fileID: 7706952695029526538, guid: b0bce3e9bc0755445abb649e0c306c79, type: 3}
|
||||||
coinAmount: 12
|
coinAmount: 12
|
||||||
extraDropChance: 10
|
extraDropChance: 10
|
||||||
onCoinDrop: {fileID: 11400000, guid: 48da3b1185c086c4c81a2b97ab7685fc, type: 2}
|
onCoinDrop: {fileID: 11400000, guid: 48da3b1185c086c4c81a2b97ab7685fc, type: 2}
|
||||||
guaranteedItemDrop: []
|
guaranteedItemDrop: []
|
||||||
|
guaranteedOnlyOnePerKill: []
|
||||||
extraDrops:
|
extraDrops:
|
||||||
- {fileID: 11400000, guid: 26b042abfe9104448a1e9599be66e71a, type: 2}
|
- {fileID: 11400000, guid: 26b042abfe9104448a1e9599be66e71a, type: 2}
|
||||||
- {fileID: 11400000, guid: e08687c26614d154cb5a9a01f4b97635, type: 2}
|
- {fileID: 11400000, guid: e08687c26614d154cb5a9a01f4b97635, type: 2}
|
||||||
@ -11069,6 +11071,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
lookAt: {fileID: 420608364184142292}
|
lookAt: {fileID: 420608364184142292}
|
||||||
|
gamepadDeadzone: 0.2
|
||||||
--- !u!1 &7188363463708527002
|
--- !u!1 &7188363463708527002
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
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_Script: {fileID: 11500000, guid: adb84e30e02715445aeb9959894e3b4d, type: 3}
|
||||||
m_Name: ColorGrading
|
m_Name: ColorGrading
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
active: 1
|
active: 0
|
||||||
enabled:
|
enabled:
|
||||||
overrideState: 1
|
overrideState: 1
|
||||||
value: 1
|
value: 1
|
||||||
|
@ -38,7 +38,7 @@ RenderSettings:
|
|||||||
m_ReflectionIntensity: 1
|
m_ReflectionIntensity: 1
|
||||||
m_CustomReflection: {fileID: 0}
|
m_CustomReflection: {fileID: 0}
|
||||||
m_Sun: {fileID: 705507994}
|
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
|
m_UseRadianceAmbientProbe: 0
|
||||||
--- !u!157 &3
|
--- !u!157 &3
|
||||||
LightmapSettings:
|
LightmapSettings:
|
||||||
@ -1879,6 +1879,54 @@ Transform:
|
|||||||
m_CorrespondingSourceObject: {fileID: 5740706088277981957, guid: 48ce0dab15dcddb4495c7a5a09fa4dfa, type: 3}
|
m_CorrespondingSourceObject: {fileID: 5740706088277981957, guid: 48ce0dab15dcddb4495c7a5a09fa4dfa, type: 3}
|
||||||
m_PrefabInstance: {fileID: 347753810}
|
m_PrefabInstance: {fileID: 347753810}
|
||||||
m_PrefabAsset: {fileID: 0}
|
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
|
--- !u!1001 &387126292
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -11748,63 +11796,6 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 797a23835fc71fa4a9ba1b749b439f55, type: 3}
|
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
|
--- !u!1001 &7092102866103778006
|
||||||
PrefabInstance:
|
PrefabInstance:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -11862,3 +11853,52 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: eff971f49703cfa41852c63ba9a287b9, type: 3}
|
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;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
@ -29,8 +30,48 @@ public class BuildLibrary : MonoBehaviour
|
|||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
[SerializeField] private GameEvent_Int onAbilityTomePageLearned;
|
||||||
|
|
||||||
|
[SerializeField] private Item abilityTomePageTemplate;
|
||||||
|
|
||||||
public List<ClassBuildLibrary> classBuildLibraries = new List<ClassBuildLibrary>();
|
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)
|
public List<BaseAbility> GetBaseAbilities(GameTag characterClass)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < classBuildLibraries.Count; i++)
|
for (int i = 0; i < classBuildLibraries.Count; i++)
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using Kryz.CharacterStats.Examples;
|
||||||
using Photon.Pun;
|
using Photon.Pun;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -24,12 +25,17 @@ public class BuildManager : MonoBehaviour
|
|||||||
|
|
||||||
PhotonView owner;
|
PhotonView owner;
|
||||||
|
|
||||||
|
PlayerCharacterStats playerCharacterStats;
|
||||||
|
|
||||||
public GameTag CharacterClass => characterClass;
|
public GameTag CharacterClass => characterClass;
|
||||||
public List<BuildSlot> SelectedBuildSlots => selectedBuildSlots;
|
public List<BuildSlot> SelectedBuildSlots => selectedBuildSlots;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
owner = GetComponentInParent<PhotonView>();
|
owner = GetComponentInParent<PhotonView>();
|
||||||
|
playerCharacterStats = owner.GetComponent<PlayerCharacterStats>();
|
||||||
|
|
||||||
|
playerCharacterStats.level.OnLevelUpEvent.AddListener(CheckForSlotUnlockables);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Start is called before the first frame update
|
// Start is called before the first frame update
|
||||||
@ -49,6 +55,8 @@ public class BuildManager : MonoBehaviour
|
|||||||
|
|
||||||
TryGetSavedBuildData();
|
TryGetSavedBuildData();
|
||||||
|
|
||||||
|
CheckForSlotUnlockables();
|
||||||
|
|
||||||
onBuildManagerInitialized.Raise(this);
|
onBuildManagerInitialized.Raise(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -101,4 +109,12 @@ public class BuildManager : MonoBehaviour
|
|||||||
|
|
||||||
SaveCurrentBuild();
|
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;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
@ -9,6 +10,7 @@ public class BuildManagerUIController : MonoBehaviour
|
|||||||
[SerializeField] private List<TMP_Dropdown> abilitySlotsDropdowns = new List<TMP_Dropdown>();
|
[SerializeField] private List<TMP_Dropdown> abilitySlotsDropdowns = new List<TMP_Dropdown>();
|
||||||
|
|
||||||
[SerializeField] private GameEventListener_BuildManager onBuildManagerInitialized;
|
[SerializeField] private GameEventListener_BuildManager onBuildManagerInitialized;
|
||||||
|
[SerializeField] private GameEventListener_Int onAbilityTomePageLearned;
|
||||||
|
|
||||||
BuildManager buildManager;
|
BuildManager buildManager;
|
||||||
|
|
||||||
@ -20,11 +22,13 @@ public class BuildManagerUIController : MonoBehaviour
|
|||||||
int pickedEntry;
|
int pickedEntry;
|
||||||
string pickedEntryName;
|
string pickedEntryName;
|
||||||
BaseAbility ability;
|
BaseAbility ability;
|
||||||
|
PlayerCharacterStats playerCharacter;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
onBuildManagerInitialized.Response.AddListener(DependencyInjection);
|
onBuildManagerInitialized.Response.AddListener(DependencyInjection);
|
||||||
|
|
||||||
|
onAbilityTomePageLearned.Response.AddListener((x) => InitializeDropdowns());
|
||||||
|
|
||||||
abilitySlotsDropdowns[0].onValueChanged.AddListener((x) => UpdateAbilitySlotOnDropdownValueChanged(0, x));
|
abilitySlotsDropdowns[0].onValueChanged.AddListener((x) => UpdateAbilitySlotOnDropdownValueChanged(0, x));
|
||||||
abilitySlotsDropdowns[1].onValueChanged.AddListener((x) => UpdateAbilitySlotOnDropdownValueChanged(1, x));
|
abilitySlotsDropdowns[1].onValueChanged.AddListener((x) => UpdateAbilitySlotOnDropdownValueChanged(1, x));
|
||||||
@ -50,6 +54,9 @@ public class BuildManagerUIController : MonoBehaviour
|
|||||||
private void DependencyInjection(BuildManager buildManager)
|
private void DependencyInjection(BuildManager buildManager)
|
||||||
{
|
{
|
||||||
this.buildManager = buildManager;
|
this.buildManager = buildManager;
|
||||||
|
playerCharacter = buildManager.GetComponentInParent<PlayerCharacterStats>();
|
||||||
|
|
||||||
|
playerCharacter.level.OnLevelUpEvent.AddListener(CheckForSlotUnlockables);
|
||||||
|
|
||||||
InitializeDropdowns();
|
InitializeDropdowns();
|
||||||
}
|
}
|
||||||
@ -62,6 +69,10 @@ public class BuildManagerUIController : MonoBehaviour
|
|||||||
|
|
||||||
for (int i = 0; i < possibleAbilities.Count; i++)
|
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 = new TMP_Dropdown.OptionData();
|
||||||
|
|
||||||
optionData.text = possibleAbilities[i].displayName;
|
optionData.text = possibleAbilities[i].displayName;
|
||||||
@ -80,5 +91,15 @@ public class BuildManagerUIController : MonoBehaviour
|
|||||||
|
|
||||||
abilitySlotsDropdowns[i].value = possibleAbilities.IndexOf(buildManager.SelectedBuildSlots[i].ability);
|
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
|
public class DropTable : MonoBehaviour
|
||||||
{
|
{
|
||||||
[SerializeField] private GameObject interactableDropPrefab;
|
[SerializeField] private GameObject interactableDropPrefab;
|
||||||
|
[SerializeField] private GameObject interactableDropAbilityTomePagePrefab;
|
||||||
[SerializeField] private GameObject coinPrefab;
|
[SerializeField] private GameObject coinPrefab;
|
||||||
[SerializeField] private int coinAmount;
|
[SerializeField] private int coinAmount;
|
||||||
[SerializeField] private int extraDropChance;
|
[SerializeField] private int extraDropChance;
|
||||||
@ -81,24 +82,20 @@ public class DropTable : MonoBehaviour
|
|||||||
itemDrop = instantiatedDrop.GetComponent<EquippableItemDrop>();
|
itemDrop = instantiatedDrop.GetComponent<EquippableItemDrop>();
|
||||||
itemDrop.itemDrop = Item.ConvertTemplateIntoInstance(possibleItem);
|
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 (!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;
|
if (weightedDropLootTable.Count <= 0) return;
|
||||||
|
|
||||||
|
@ -11,6 +11,8 @@ public static class GameConstants
|
|||||||
public static string CharacterBuildDataKey = "characterBuildData";
|
public static string CharacterBuildDataKey = "characterBuildData";
|
||||||
public static string PlayerCoinKey = "playerCoin";
|
public static string PlayerCoinKey = "playerCoin";
|
||||||
|
|
||||||
|
public static string AbilityTomeKey = "abilityTome";
|
||||||
|
|
||||||
public const string SunMapUsedKey = "sunMapUsed";
|
public const string SunMapUsedKey = "sunMapUsed";
|
||||||
public const string MoonMapUsedKey = "moonMapUsed";
|
public const string MoonMapUsedKey = "moonMapUsed";
|
||||||
public const string RiverAveMapUsedKey = "riverAveMapUsed";
|
public const string RiverAveMapUsedKey = "riverAveMapUsed";
|
||||||
@ -62,6 +64,10 @@ public static class GameConstants
|
|||||||
return SunMapUsedKey + "-" + playerName;
|
return SunMapUsedKey + "-" + playerName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public static string GetAbilityTomeKey(string playerName, int abilityIndex)
|
||||||
|
{
|
||||||
|
return playerName + "-" + AbilityTomeKey + "-" + abilityIndex;
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
@ -145,6 +151,7 @@ public static class GameConstants
|
|||||||
|
|
||||||
public const int StatPointsPerLevel = 3;
|
public const int StatPointsPerLevel = 3;
|
||||||
|
|
||||||
|
public const int StatPointsPerReputationLevel = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class CharacterBalancing
|
public static class CharacterBalancing
|
||||||
@ -153,6 +160,10 @@ public static class GameConstants
|
|||||||
public const float ExperienceThresholdGrowth = 165f;
|
public const float ExperienceThresholdGrowth = 165f;
|
||||||
public const float ExperienceThresholdGrowthPerLevelExponent = 1.88f;
|
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 SoloCheatDeathHealthPercent = 0.5f;
|
||||||
public const float SoloCheatDeathInvulnerabilityDuration = 3f;
|
public const float SoloCheatDeathInvulnerabilityDuration = 3f;
|
||||||
|
|
||||||
@ -163,8 +174,6 @@ public static class GameConstants
|
|||||||
public const float ReviveTime = 5f;
|
public const float ReviveTime = 5f;
|
||||||
public const float ReviveHealthPercent = 0.5f;
|
public const float ReviveHealthPercent = 0.5f;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public const float MovementSpeedCap = 10f;
|
public const float MovementSpeedCap = 10f;
|
||||||
public const float PercentAngularSpeedCap = 1f;
|
public const float PercentAngularSpeedCap = 1f;
|
||||||
public const float PercentAccelerationCap = 1f;
|
public const float PercentAccelerationCap = 1f;
|
||||||
@ -175,6 +184,12 @@ public static class GameConstants
|
|||||||
}
|
}
|
||||||
public static class GameBalancing
|
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 IncreasedCoinDropBasedOnDifficultyMultiplier = 1.66f;
|
||||||
public const float IncreasedItemDropBasedOnDifficultyMultiplier = 0.33f;
|
public const float IncreasedItemDropBasedOnDifficultyMultiplier = 0.33f;
|
||||||
|
|
||||||
@ -272,6 +287,7 @@ public static class GameConstants
|
|||||||
#region Object Sources (example stat increase source)
|
#region Object Sources (example stat increase source)
|
||||||
|
|
||||||
public static object AllocatedSource = "Allocated";
|
public static object AllocatedSource = "Allocated";
|
||||||
|
public static object AllocatedReputationSource = "Rep Alloc";
|
||||||
public static object LevelSource = "Level";
|
public static object LevelSource = "Level";
|
||||||
public static object BaseValueSource = "Base";
|
public static object BaseValueSource = "Base";
|
||||||
public static object CraftingSource = "Crafting";
|
public static object CraftingSource = "Crafting";
|
||||||
|
@ -51,7 +51,8 @@ public class InventoryInstanceData
|
|||||||
for (int i = 0; i < inventoryItems.Length; i++)
|
for (int i = 0; i < inventoryItems.Length; i++)
|
||||||
{
|
{
|
||||||
this.inventoryItems[i] = inventoryItems[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 sunMapUsedKey;
|
||||||
string riverAveMapUsedKey;
|
string riverAveMapUsedKey;
|
||||||
string mapUsedKey;
|
string mapUsedKey;
|
||||||
|
string abilityTomeKey;
|
||||||
|
|
||||||
|
int currentPageCount;
|
||||||
|
|
||||||
private void Awake()
|
private void Awake()
|
||||||
{
|
{
|
||||||
@ -217,5 +220,30 @@ public class PlayerDataHandler : MonoBehaviour
|
|||||||
|
|
||||||
return GameStatePersistenceManager.Instance.HasDataForKey(mapUsedKey);
|
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
|
#endregion
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,17 @@ public class SpriteIndexer : MonoBehaviour
|
|||||||
|
|
||||||
public List<Sprite> Sprites = new List<Sprite>();
|
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()
|
protected void Awake()
|
||||||
{
|
{
|
||||||
// Ensure there's only one instance
|
// Ensure there's only one instance
|
||||||
@ -33,16 +44,16 @@ public class SpriteIndexer : MonoBehaviour
|
|||||||
_instance = this;
|
_instance = this;
|
||||||
DontDestroyOnLoad(gameObject);
|
DontDestroyOnLoad(gameObject);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
private void OnValidate()
|
private void OnValidate()
|
||||||
{
|
{
|
||||||
if (Sprites == null) return;
|
if (Sprites == null) return;
|
||||||
|
|
||||||
foreach (Sprite item in Resources.FindObjectsOfTypeAll<Sprite>())
|
foreach (Sprite item in Resources.LoadAll<Sprite>("Icons/"))
|
||||||
{
|
{
|
||||||
if (Sprites.Contains(item)) continue;
|
if (Sprites.Contains(item)) continue;
|
||||||
|
|
||||||
Sprites.Add(item);
|
Sprites.Add(item);
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
@ -110,7 +110,7 @@ public class JobManager : MonoBehaviour, IInRoomCallbacks
|
|||||||
{
|
{
|
||||||
if (!JobActive) return;
|
if (!JobActive) return;
|
||||||
|
|
||||||
if(currentlySelectedJob.isBonusRiftJob)
|
if (currentlySelectedJob.isBonusRiftJob)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -207,7 +207,8 @@ public class JobManager : MonoBehaviour, IInRoomCallbacks
|
|||||||
GenerateJobs();
|
GenerateJobs();
|
||||||
}
|
}
|
||||||
|
|
||||||
currentlyGeneratedRiftRaid = GenerateBonusRiftInstance();
|
if (currentlyGeneratedRiftRaid.completed)
|
||||||
|
currentlyGeneratedRiftRaid = GenerateBonusRiftInstance();
|
||||||
|
|
||||||
AvailableJobs jobs = new AvailableJobs();
|
AvailableJobs jobs = new AvailableJobs();
|
||||||
jobs.availableJobs = availableJobs;
|
jobs.availableJobs = availableJobs;
|
||||||
|
@ -32,6 +32,7 @@ public class AbilityKeyBinder : MonoBehaviour
|
|||||||
AbilityCooldownTracker cooldownTracker;
|
AbilityCooldownTracker cooldownTracker;
|
||||||
|
|
||||||
bool isDead = false;
|
bool isDead = false;
|
||||||
|
bool abilitySlotUnlocked = false;
|
||||||
|
|
||||||
float finalHealthCost;
|
float finalHealthCost;
|
||||||
float finalManaCost;
|
float finalManaCost;
|
||||||
@ -74,6 +75,8 @@ public class AbilityKeyBinder : MonoBehaviour
|
|||||||
{
|
{
|
||||||
if (isDead) return;
|
if (isDead) return;
|
||||||
|
|
||||||
|
if (!abilitySlotUnlocked) return;
|
||||||
|
|
||||||
// Check for input using both keyboard and gamepad
|
// Check for input using both keyboard and gamepad
|
||||||
isInputPressed =
|
isInputPressed =
|
||||||
(key != null && Input.GetKeyDown(key.keyCode)) ||
|
(key != null && Input.GetKeyDown(key.keyCode)) ||
|
||||||
@ -177,4 +180,10 @@ public class AbilityKeyBinder : MonoBehaviour
|
|||||||
onAbilityKeyBinderSpawned.Raise(this);
|
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;
|
||||||
using UnityEngine.Events;
|
using UnityEngine.Events;
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
public class Level
|
public class Level
|
||||||
{
|
{
|
||||||
public int currentLevel;
|
public int currentLevel;
|
||||||
@ -10,7 +11,7 @@ public class Level
|
|||||||
public UnityEvent OnLevelUpEvent = new UnityEvent();
|
public UnityEvent OnLevelUpEvent = new UnityEvent();
|
||||||
public UnityEvent OnExperienceChanged = new UnityEvent();
|
public UnityEvent OnExperienceChanged = new UnityEvent();
|
||||||
|
|
||||||
float currentExperience;
|
protected float currentExperience;
|
||||||
public float GetCurrentExperience()
|
public float GetCurrentExperience()
|
||||||
{
|
{
|
||||||
return currentExperience;
|
return currentExperience;
|
||||||
@ -54,9 +55,31 @@ public class Level
|
|||||||
OnExperienceChanged.Invoke();
|
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));
|
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
|
public class PlayerReputation : MonoBehaviour
|
||||||
{
|
{
|
||||||
// Start is called before the first frame update
|
public ReputationLevel reputationLevel;
|
||||||
void Start()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update is called once per frame
|
PlayerAccountData accountData = new PlayerAccountData();
|
||||||
void Update()
|
|
||||||
|
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);
|
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 string userName;
|
||||||
public List<string> characterNames = new List<string>();
|
public List<string> characterNames = new List<string>();
|
||||||
|
|
||||||
|
public int currentReputationLevel;
|
||||||
|
public float currentReputationExperience;
|
||||||
|
|
||||||
public PlayerAccountData()
|
public PlayerAccountData()
|
||||||
{
|
{
|
||||||
userName = "Player1";
|
userName = "Player1";
|
||||||
characterNames = new List<string>();
|
characterNames = new List<string>();
|
||||||
|
currentReputationLevel = 0;
|
||||||
|
currentReputationExperience = 0;
|
||||||
}
|
}
|
||||||
public PlayerAccountData(string userName)
|
public PlayerAccountData(string userName)
|
||||||
{
|
{
|
||||||
this.userName = userName;
|
this.userName = userName;
|
||||||
characterNames = new List<string>();
|
characterNames = new List<string>();
|
||||||
|
currentReputationLevel = 0;
|
||||||
|
currentReputationExperience = 0;
|
||||||
}
|
}
|
||||||
public PlayerAccountData(string userName, List<string> characters)
|
public PlayerAccountData(string userName, List<string> characters)
|
||||||
{
|
{
|
||||||
this.userName = userName;
|
this.userName = userName;
|
||||||
characterNames = characters;
|
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)
|
public bool AddCharacterToPlayerAccount(string characterName)
|
||||||
{
|
{
|
||||||
|
@ -21,6 +21,7 @@ public class AbilityBindInstance : MonoBehaviour
|
|||||||
public GameObject healthCostGO;
|
public GameObject healthCostGO;
|
||||||
public GameObject pressed;
|
public GameObject pressed;
|
||||||
public Image coolDown;
|
public Image coolDown;
|
||||||
|
public GameObject locked;
|
||||||
|
|
||||||
[Header("Set by Code:")]
|
[Header("Set by Code:")]
|
||||||
public AbilityKeyBinder abilityKeyBinder;
|
public AbilityKeyBinder abilityKeyBinder;
|
||||||
@ -80,4 +81,9 @@ public class AbilityBindInstance : MonoBehaviour
|
|||||||
coolDown.fillAmount = 0f;
|
coolDown.fillAmount = 0f;
|
||||||
coolDown.gameObject.SetActive(false);
|
coolDown.gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetUnlocked(bool unlocked)
|
||||||
|
{
|
||||||
|
locked.SetActive(!unlocked);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,7 @@ public class ExperienceBarUI : MonoBehaviour
|
|||||||
[SerializeField] private Image experienceBarFill;
|
[SerializeField] private Image experienceBarFill;
|
||||||
[Header("Listeners:")]
|
[Header("Listeners:")]
|
||||||
[SerializeField] private GameEventListener_PhotonView onPlayerSpawned;
|
[SerializeField] private GameEventListener_PhotonView onPlayerSpawned;
|
||||||
|
public bool isRepBar = false;
|
||||||
|
|
||||||
PlayerCharacterStats player;
|
PlayerCharacterStats player;
|
||||||
|
|
||||||
@ -41,8 +42,16 @@ public class ExperienceBarUI : MonoBehaviour
|
|||||||
if (!spawnedPlayer.IsMine) return;
|
if (!spawnedPlayer.IsMine) return;
|
||||||
|
|
||||||
player = ((RiftPlayer)spawnedPlayer.Owner.TagObject).GetComponent<PlayerCharacterStats>();
|
player = ((RiftPlayer)spawnedPlayer.Owner.TagObject).GetComponent<PlayerCharacterStats>();
|
||||||
player.level.OnLevelUpEvent.AddListener(UpdateLevelText);
|
if(isRepBar)
|
||||||
player.level.OnExperienceChanged.AddListener(UpdateLevelText);
|
{
|
||||||
|
player.reputationLevel.OnLevelUpEvent.AddListener(UpdateLevelText);
|
||||||
|
player.reputationLevel.OnExperienceChanged.AddListener(UpdateLevelText);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.level.OnLevelUpEvent.AddListener(UpdateLevelText);
|
||||||
|
player.level.OnExperienceChanged.AddListener(UpdateLevelText);
|
||||||
|
}
|
||||||
|
|
||||||
UpdateLevelText();
|
UpdateLevelText();
|
||||||
|
|
||||||
@ -52,15 +61,15 @@ public class ExperienceBarUI : MonoBehaviour
|
|||||||
|
|
||||||
public void UpdateLevelText()
|
public void UpdateLevelText()
|
||||||
{
|
{
|
||||||
level.text = player.level.currentLevel.ToString();
|
level.text = isRepBar ? player.reputationLevel.currentLevel.ToString() : player.level.currentLevel.ToString();
|
||||||
nextLevel.text = (player.level.currentLevel + 1).ToString();
|
nextLevel.text = isRepBar ? (player.reputationLevel.currentLevel + 1).ToString() : (player.level.currentLevel + 1).ToString();
|
||||||
experienceBar.text = $"{player.level.GetCurrentExperience().ToString("F1")}/{player.level.FinalExperienceThreshold.ToString("F1")}";
|
experienceBar.text = isRepBar ? $"{player.reputationLevel.GetCurrentExperience().ToString("F1")}/{player.reputationLevel.FinalExperienceThreshold.ToString("F1")}" : $"{player.level.GetCurrentExperience().ToString("F1")}/{player.level.FinalExperienceThreshold.ToString("F1")}";
|
||||||
SetCurrentFill();
|
SetCurrentFill();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void 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.x = 0;
|
||||||
sizeFill.y = 0;
|
sizeFill.y = 0;
|
||||||
|
@ -94,7 +94,7 @@ Material:
|
|||||||
- _Mode: 0
|
- _Mode: 0
|
||||||
- _OcclusionStrength: 1
|
- _OcclusionStrength: 1
|
||||||
- _Parallax: 0.02
|
- _Parallax: 0.02
|
||||||
- _Rotation: 13.448983
|
- _Rotation: 1184.3033
|
||||||
- _SmoothnessTextureChannel: 0
|
- _SmoothnessTextureChannel: 0
|
||||||
- _SpecularHighlights: 1
|
- _SpecularHighlights: 1
|
||||||
- _SrcBlend: 1
|
- _SrcBlend: 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user