1 Commits

Author SHA1 Message Date
HelarJ
b1954dd40e Basic saving, currently hardcoded to the one "chest" inventory in HomeBase.
Loads when scene name contains "Homebase" and saves when button pressed.
2022-04-18 08:59:26 +03:00
38 changed files with 40013 additions and 598 deletions

View File

@@ -20,7 +20,7 @@ AnimatorStateTransition:
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.85
m_HasExitTime: 0
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
@@ -49,7 +49,6 @@ AnimatorState:
m_CycleOffset: 0
m_Transitions:
- {fileID: -5558417074028381841}
- {fileID: -1268510201227337377}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -59,7 +58,7 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: f5d4d1a7dadc5a84d910c492d947ca4f, type: 3}
m_Motion: {fileID: 7400000, guid: dbf4e442d523220489ca9531ab20161f, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
@@ -85,32 +84,7 @@ AnimatorStateTransition:
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.6875
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-5660328294272393165
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: EnemyInAttackRange
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6878085496064969341}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.70000005
m_HasExitTime: 0
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
@@ -135,7 +109,7 @@ AnimatorStateTransition:
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.625
m_HasExitTime: 0
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
@@ -150,8 +124,7 @@ AnimatorState:
m_Name: EnemyAttack
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -5660328294272393165}
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -167,56 +140,6 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-1918993004881361147
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: EnemyInVisionRange
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 1102546605246812244}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.6875
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-1268510201227337377
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: EnemyInAggroRange
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 8194647877007136643}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 0.625
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@@ -477,6 +400,28 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &1101549165158824158
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 1102835054974116572}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.25
m_TransitionOffset: 0
m_ExitTime: 4
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &1101571659118250030
AnimatorStateTransition:
m_ObjectHideFlags: 1
@@ -575,7 +520,8 @@ AnimatorState:
m_Name: Dizzy
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_Transitions:
- {fileID: 1101549165158824158}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -1033,74 +979,74 @@ AnimatorStateMachine:
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 1102546605246812244}
m_Position: {x: 300, y: 140, z: 0}
m_Position: {x: 340, y: 30, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102428608990248820}
m_Position: {x: 650, y: 120, z: 0}
m_Position: {x: 1400, y: 60, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102941443349979230}
m_Position: {x: 650, y: 200, z: 0}
m_Position: {x: 1400, y: 140, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102311292720249994}
m_Position: {x: 650, y: 280, z: 0}
m_Position: {x: 1400, y: 220, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102508070621265122}
m_Position: {x: 900, y: 30, z: 0}
m_Position: {x: 1650, y: -30, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102615628393760256}
m_Position: {x: 900, y: 120, z: 0}
m_Position: {x: 1650, y: 60, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102840220384220776}
m_Position: {x: 900, y: 200, z: 0}
m_Position: {x: 1650, y: 140, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102224988525881432}
m_Position: {x: 900, y: 280, z: 0}
m_Position: {x: 1650, y: 220, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102906356952716468}
m_Position: {x: 900, y: 370, z: 0}
m_Position: {x: 1650, y: 310, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102275823511186668}
m_Position: {x: 1160, y: 30, z: 0}
m_Position: {x: 1910, y: -30, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102272222388203014}
m_Position: {x: 1160, y: 120, z: 0}
m_Position: {x: 1910, y: 60, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102080339498404604}
m_Position: {x: 1160, y: 200, z: 0}
m_Position: {x: 1910, y: 140, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102049015754028010}
m_Position: {x: 1160, y: 280, z: 0}
m_Position: {x: 1910, y: 220, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102486251471425260}
m_Position: {x: 1160, y: 370, z: 0}
m_Position: {x: 1910, y: 310, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102960180878307256}
m_Position: {x: 670, y: 480, z: 0}
m_Position: {x: 1840, y: 390, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102022585587399682}
m_Position: {x: 670, y: 550, z: 0}
m_Position: {x: 1650, y: 480, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102835054974116572}
m_Position: {x: 280, y: 510, z: 0}
m_Position: {x: 1270, y: 370, z: 0}
- serializedVersion: 1
m_State: {fileID: 8194647877007136643}
m_Position: {x: 300, y: 220, z: 0}
m_Position: {x: 730, y: 20, z: 0}
- serializedVersion: 1
m_State: {fileID: -1989803667490188130}
m_Position: {x: 300, y: 380, z: 0}
m_Position: {x: 760, y: 340, z: 0}
- serializedVersion: 1
m_State: {fileID: -6878085496064969341}
m_Position: {x: 300, y: 300, z: 0}
m_Position: {x: 910, y: 170, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 100, y: 150, z: 0}
m_ExitPosition: {x: 90, y: 510, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 48, y: 228, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 1102546605246812244}
m_DefaultState: {fileID: -1989803667490188130}
--- !u!1102 &8194647877007136643
AnimatorState:
serializedVersion: 6
@@ -1113,7 +1059,6 @@ AnimatorState:
m_CycleOffset: 0
m_Transitions:
- {fileID: -5882858675207143937}
- {fileID: -1918993004881361147}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0

View File

@@ -1,84 +1,21 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public class SlimeAI : MonoBehaviour
{
Animator animator;
float playerDistance;
GameObject player;
int HP;
//[SerializeField]
//private UnityEvent onAttack;
// Start is called before the first frame update
void Start()
{
animator = GetComponent<Animator>();
player = GameObject.FindWithTag("Player");
HP = 10;
}
// Update is called once per frame
void Update()
{
playerDistance = Vector3.Distance(player.transform.position, transform.position);
if (playerDistance < 1.5) //Attack
{
animator.SetBool("EnemyInAttackRange", true);
animator.SetBool("EnemyInAggroRange", true);
animator.SetBool("EnemyInVisionRange", true);
Rotate();
}
else if (playerDistance < 5) //Chase
{
animator.SetBool("EnemyInAttackRange", false);
animator.SetBool("EnemyInAggroRange", true);
animator.SetBool("EnemyInVisionRange", true);
Rotate();
Move();
}
else if (playerDistance < 8) //Stare
{
animator.SetBool("EnemyInAttackRange", false);
animator.SetBool("EnemyInAggroRange", false);
animator.SetBool("EnemyInVisionRange", true);
Rotate();
}
else //Idle
{
animator.SetBool("EnemyInAttackRange", false);
animator.SetBool("EnemyInAggroRange", false);
animator.SetBool("EnemyInVisionRange", false);
}
if (HP <= 0)
{
animator.SetBool("Dead", true);
}
if (animator.GetBool("DeathComplete"))
{
print("asd");
Destroy(this.gameObject);
}
}
void Rotate()
{
// Rotate the forward vector towards the target direction by one step
Vector3 newDirection = Vector3.RotateTowards(transform.forward, player.transform.position - transform.position, 1.0f * Time.deltaTime, 0.0f);
// Calculate a rotation a step closer to the target and applies rotation to this object
transform.rotation = Quaternion.LookRotation(newDirection);
}
void Move()
{
transform.position += transform.forward * Time.deltaTime * 1.0f;
}
public void GetHit(int dmg)
{
HP -= dmg;
}
}

View File

@@ -1,36 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class death : StateMachineBehaviour
{
// OnStateEnter is called when a transition starts and the state machine starts to evaluate this state
//override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
//
//}
// OnStateUpdate is called on each Update frame between OnStateEnter and OnStateExit callbacks
//override public void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
//
//}
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
//override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
//
//}
// OnStateMove is called right after Animator.OnAnimatorMove()
//override public void OnStateMove(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
// // Implement code that processes and affects root motion
//}
// OnStateIK is called right after Animator.OnAnimatorIK()
//override public void OnStateIK(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
//{
// // Implement code that sets up animation IK (inverse kinematics)
//}
}

View File

@@ -87,7 +87,7 @@ public class HandAnim : MonoBehaviour
private void GripActionPerformed(InputAction.CallbackContext obj)
{
Debug.Log("grip");
//Debug.Log("grip");
CalculateState(obj.ReadValue<float>(), ref grip_state);
m_animator.SetFloat(m_animParamIndexFlex, grip_state);
}

View File

@@ -1,17 +1,22 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using UnityEngine;
using UnityEngine.SceneManagement;
[Serializable]
public class Inventory : MonoBehaviour
{
//perhaps use these additional slots for holsters attached to the player?
public List<InventorySlot> additionalSlots;
public GameObject itemContainerPrefab;
private List<InventorySlot> _inventorySlots;
public InventorySaveData inventorySaveData;
private void Awake()
{
_inventorySlots = new List<InventorySlot>();
@@ -20,10 +25,15 @@ public class Inventory : MonoBehaviour
inventorySlot.SetParentInventory(this);
_inventorySlots.Add(inventorySlot);
}
Debug.Log(_inventorySlots.Count);
}
private void OnEnable()
{
SceneManager.sceneLoaded += OnSceneLoaded;
var inventorySlotsInChildren = GetComponentsInChildren<InventorySlot>();
foreach (var inventorySlot in inventorySlotsInChildren)
{
@@ -32,6 +42,12 @@ public class Inventory : MonoBehaviour
}
}
private void OnDisable()
{
SceneManager.sceneLoaded -= OnSceneLoaded;
}
public bool AddItem(ItemData item)
{
if (item.canStack)
@@ -39,16 +55,17 @@ public class Inventory : MonoBehaviour
return AddItem(ConvertToInventoryItem(item));
}
return AddToFirstOpenSlot(item.gameObject);
return AddToFirstOpenSlot(item.prefab.gameObject);
}
public bool AddItem(InventoryItem item)
{
//Stacks the item if it already exists in the inventory.
foreach (var inventorySlot in _inventorySlots.Where(inventorySlot =>
inventorySlot.ContainsItem(item.GetItemid())))
{
inventorySlot.GetItem().ChangeCount(item.Count);
inventorySlot.GetItem().ChangeCount(item.saveData.count);
return true;
}
@@ -67,11 +84,91 @@ public class Inventory : MonoBehaviour
return false;
}
private void AddToSpecificSlot(GameObject item, int slot)
{
_inventorySlots[slot].AssignItem(item);
}
private InventoryItem ConvertToInventoryItem(ItemData item)
{
var inventoryItem = Instantiate(itemContainerPrefab, transform);
itemContainerPrefab.GetComponent<InventoryItem>().itemPrefab = item.gameObject;
itemContainerPrefab.GetComponent<InventoryItem>().itemPrefab = item.prefab.gameObject;
return inventoryItem.gameObject.GetComponent<InventoryItem>();
}
public void SaveInventory()
{
inventorySaveData.inventoryContents.Clear();
foreach (var inventoryItem in _inventorySlots.Select(inventorySlot => inventorySlot.GetItem()))
{
//adds an itemsavedata to the list if it exists or an empty one if it doesnt
inventorySaveData.inventoryContents.Add(inventoryItem != null
? inventoryItem.saveData
: new ItemSaveData());
}
var json = JsonUtility.ToJson(inventorySaveData);
Debug.Log(json);
using var sw = new StreamWriter(Path.Combine(Application.persistentDataPath, "invSave.dat"));
sw.Write(json);
Debug.Log("Inv data saved!");
}
public IEnumerator LoadInventory()
{
//Wait for 1 second after loading the scene to prevent missing prefabs. (1 second delay might also break something in the future)
yield return new WaitForSeconds(1);
//todo make this modular, currently only supports one inventory, although the slots can be anywhere.
if (File.Exists(Path.Combine(Application.persistentDataPath, "invSave.dat")))
{
var saveData = JsonUtility.FromJson<InventorySaveData>(File.ReadAllText(Path.Combine(Application.persistentDataPath, "invSave.dat")));
Debug.Log(saveData);
Debug.Log("Inv data loaded! total "+saveData.inventoryContents.Count);
for (var i = 0; i < saveData.inventoryContents.Count; i++)
{
//prevents overwriting inventory slots when there is something already in there.
//if (_inventorySlots[i]._itemInSlot != null) continue;
var data = saveData.inventoryContents[i];
//if there isnt an item in the slot the count is 0
Debug.Log(data.assetPath + " "+data.count);
if (data.count == 0) continue;
//Loads the prefab from resources folder
var load = Resources.Load(data.assetPath, typeof(GameObject)) as GameObject;
if (load == null)
{
Debug.LogError("Didn't find a prefab at " + data.assetPath);
yield break;
}
Debug.Log(load);
AddToSpecificSlot(load, i);
//sets the count after the item has been converted into inventoryitem
if (load.GetComponent<ItemData>().canStack) _inventorySlots[i]._itemInSlot.GetComponent<InventoryItem>().saveData.count = data.count;
}
}
else
Debug.LogError("There is no save data!");
}
void OnSceneLoaded(Scene scene, LoadSceneMode mode)
{
Debug.Log("OnSceneLoaded: " + scene.name);
//primitive check to only load the inventory when you are in the home scene.
if (scene.name.Contains("Homebase")) StartCoroutine(LoadInventory());
}
}

View File

@@ -4,16 +4,14 @@ using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
[Serializable]
[RequireComponent(typeof(XRSocketInteractor))]
public class InventorySlot : MonoBehaviour
{
private XRSocketInteractor xrSocketInteractor;
private GameObject _itemInSlot;
public GameObject _itemInSlot;
private Inventory _parentInventory;
private void Awake()
{
xrSocketInteractor = GetComponent<XRSocketInteractor>();
@@ -35,6 +33,7 @@ public class InventorySlot : MonoBehaviour
if (_itemInSlot.GetComponent<InventoryItem>() == null) return;
if (_itemInSlot == args.interactableObject.transform.gameObject) return;
//Debug.Log("hoverenter "+args.interactableObject + " " + xrSocketInteractor.hasHover + " " + xrSocketInteractor.hasSelection);
var newItem = args.interactableObject.transform.gameObject;
@@ -47,7 +46,7 @@ public class InventorySlot : MonoBehaviour
if (inventoryItem != null)
{
_itemInSlot.GetComponent<InventoryItem>().ChangeCount(inventoryItem.Count);
_itemInSlot.GetComponent<InventoryItem>().ChangeCount(inventoryItem.saveData.count);
}
else
{
@@ -70,11 +69,13 @@ public class InventorySlot : MonoBehaviour
private void SelectEnter(SelectEnterEventArgs args)
{
Debug.Log("Added to slot item " + _itemInSlot);
var newItem = args.interactableObject.transform.gameObject;
//todo: fix ones that cant stack
//Converts the item into a inventory item
if (newItem.GetComponent<InventoryItem>() == null && newItem.GetComponent<ItemData>().canStack)
if (newItem.GetComponent<InventoryItem>() == null)
{
var load = Resources.Load("Helar/Item", typeof(GameObject)) as GameObject;
@@ -101,12 +102,39 @@ public class InventorySlot : MonoBehaviour
_itemInSlot = instance;
//_parentInventory.AddItem(instance.GetComponent<InventoryItem>());
return;
}
_itemInSlot = newItem;
//_parentInventory.AddItem(newItem.GetComponentInChildren<ItemData>());
//xrSocketInteractor.attachTransform = _itemInSlot.transform;
Debug.Log("Holstered item" + _itemInSlot.GetComponentInChildren<ItemData>());
}
private GameObject ConvertItem(GameObject item)
{
//load container object
var load = Resources.Load("Helar/Item", typeof(GameObject)) as GameObject;
//instantiate the container object
var instance = Instantiate(load, transform);
//load the container with the item to convert
instance.GetComponent<InventoryItem>().itemPrefab = item.gameObject;
//set the position and scale so it fits in the container
instance.transform.localScale = Vector3.one;
instance.transform.localPosition = Vector3.zero;
instance.transform.rotation = Quaternion.identity;
//enable the itemcontainer (more logic in InventoryItem OnEnable() method)
instance.GetComponent<InventoryItem>().enabled = true;
return instance;
}
private void ManagerOninteractableUnregistered(InteractableUnregisteredEventArgs obj)
@@ -126,12 +154,14 @@ public class InventorySlot : MonoBehaviour
component.drag = 0.5f;
if (!_itemInSlot.GetComponentInChildren<ItemData>().canStack ||
_itemInSlot.GetComponent<InventoryItem>().Count == 1)
_itemInSlot.GetComponent<InventoryItem>().saveData.count == 1)
{
//todo change back to regular item
//_itemInSlot.GetComponent<InventoryItem>().PopItem();
//var transformGameObject = _itemInSlot.GetComponentInChildren<ItemData>().transform.gameObject;
//Debug.Log(transformGameObject);
//args.interactableObject = transformGameObject.GetComponent<XRGrabInteractable>();
//todo change back to regular item
}
Debug.Log("Removed from slot item " + _itemInSlot);
_itemInSlot = null;
@@ -160,11 +190,20 @@ public class InventorySlot : MonoBehaviour
public void AssignItem(GameObject newObject)
{
_itemInSlot = newObject;
if (newObject.GetComponent<InventoryItem>() == null)
{
_itemInSlot = ConvertItem(newObject);
}
else
{
_itemInSlot = newObject;
}
}
public InventoryItem GetItem()
{
if (_itemInSlot == null) return null;
var inventoryItem = _itemInSlot.GetComponent<InventoryItem>();
if (inventoryItem == null) Debug.LogError("Item in slot doesn't have InventoryItem component");
return inventoryItem;

View File

@@ -9,7 +9,7 @@ public class ItemSpawner : MonoBehaviour
public GameObject placeToSpawn;
public void SpawnItem()
{
Debug.Log("Spawned " + objectToSpawn);
Instantiate(objectToSpawn, placeToSpawn.transform);
Debug.Log("Spawned " + objectToSpawn);
}
}

View File

@@ -3,7 +3,6 @@ using System.Collections;
using System.Collections.Generic;
using TMPro;
using Unity.Mathematics;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.XR.Interaction.Toolkit;
@@ -13,15 +12,13 @@ public class InventoryItem : MonoBehaviour
public GameObject itemPrefab;
private int _itemId;
private GameObject _childPrefab;
public int Count { get; private set; }
private TMP_Text itemCounterText;
public TMP_Text itemCounterText;
private ItemData itemData;
private ItemData _itemData;
public ItemSaveData saveData;
private void OnEnable()
@@ -37,13 +34,15 @@ public class InventoryItem : MonoBehaviour
if (itemCounterText == null) itemCounterText = GetComponentInChildren<TMP_Text>();
_childPrefab = GetComponentInChildren<ItemData>()?.gameObject;
_childPrefab = GetComponentInChildren<ItemData>()?.prefab.gameObject;
//Only attaches the prefab if it doesn't already have one ([ExecuteAlways] causes one to be spawned in editor).
if (_childPrefab != null) return;
_childPrefab = Instantiate(itemPrefab, transform);
_childPrefab.transform.localPosition = new Vector3(0, -0.45f, 0);
_childPrefab.transform.localScale = new Vector3(2, 2, 2);
//todo switch to multiply instead so items with non 1,1,1 scale will retain their proportions
_childPrefab.transform.localPosition = GetComponentInChildren<ItemData>().positionInContainer;
_childPrefab.transform.localScale = GetComponentInChildren<ItemData>().scaleInContainer;
_childPrefab.transform.rotation = quaternion.identity;
//Disable prefab components that arent relevant.
@@ -60,23 +59,28 @@ public class InventoryItem : MonoBehaviour
var xrGrabInteractableComponent = _childPrefab.GetComponent<XRGrabInteractable>();
if (xrGrabInteractableComponent != null) xrGrabInteractableComponent.enabled = false;
}
private void Start()
{
_itemData = _childPrefab.GetComponent<ItemData>();
itemData = _childPrefab.GetComponent<ItemData>();
if (_itemData == null) Debug.LogError("Item prefab has no attached ItemData", _childPrefab);
if (itemData == null) Debug.LogError("Item prefab has no attached ItemData", _childPrefab);
_itemId = _itemData.itemId;
if (Count == 0) Count = 1;
Debug.Log(saveData);
if (string.IsNullOrEmpty(saveData.assetPath))
{
saveData.assetPath = itemData.assetLocation;
saveData.count = saveData.count == 0 ? 1 : saveData.count;
}
UpdateText();
}
private void UpdateText()
{
itemCounterText.text = _itemData.canStack ? Count.ToString() : "";
itemCounterText.text = itemData.canStack ? saveData.count.ToString() : "";
}
/**
@@ -85,11 +89,11 @@ public class InventoryItem : MonoBehaviour
*/
public bool ChangeCount(int amount)
{
if (Count + amount < 0) return false;
if (saveData.count + amount < 0) return false;
Count += amount;
saveData.count += amount;
if (Count == 0)
if (saveData.count == 0)
{
//Destroys this gameobject if the count is 0 or lower
Destroy(gameObject);
@@ -103,10 +107,11 @@ public class InventoryItem : MonoBehaviour
public void PopItem()
{
GameObject item = Instantiate(_itemData.prefab, transform.position + transform.forward, Quaternion.identity);
GameObject item = Instantiate(itemData.prefab, transform.position + transform.forward, Quaternion.identity);
item.transform.localScale = Vector3.one;
item.transform.name = _itemData.name;
item.transform.name = itemData.itemName;
var colliderComponent = item.GetComponent<Collider>();
if (colliderComponent != null) colliderComponent.enabled = true;
@@ -127,13 +132,13 @@ public class InventoryItem : MonoBehaviour
public int GetItemid()
{
return _itemId;
return itemData.itemId;;
}
public override string ToString()
{
return $"{base.ToString()}, Count: {Count}, ItemData: {_itemData}";
return $"{base.ToString()}, Count: {saveData.count}, ItemData: {itemData}";
}
}

View File

@@ -0,0 +1,10 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[Serializable]
public class InventorySaveData
{
public List<ItemSaveData> inventoryContents;
}

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 6c7f89faf36f41b418e5105a12c34cdb
guid: e60ec35305ed0b94099d18a09b488310
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -1,16 +1,44 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
[Serializable]
public class ItemData : MonoBehaviour
{
[Tooltip("Location is populated automatically")]
public string assetLocation;
public int itemId;
public bool canStack;
public string itemName;
public string itemDescription;
public GameObject prefab;
public Vector3 scaleInContainer;
public Vector3 positionInContainer;
private void OnValidate()
{
if (!string.IsNullOrEmpty(AssetDatabase.GetAssetPath(prefab))) assetLocation = AssetDatabase.GetAssetPath(prefab);
AdjustPath();
}
private void AdjustPath()
{
//trims the location for use with Resources.Load later
if (assetLocation.StartsWith("Assets/Resources/"))
assetLocation = assetLocation[17 .. ^7];
else if (!string.IsNullOrEmpty(assetLocation))
if (assetLocation.StartsWith("Assets"))
{
Debug.LogError(itemName +
": item with this script should be placed in the Assets/Resources/ folder. Currently: " +
assetLocation);
}
}
public override string ToString()
{

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[Serializable]
public class ItemSaveData
{
public string assetPath;
public int count;
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2e553150cec08514e9aacc82fe8da007
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 2b57b900363404c41af0b0d6300b8f9e
guid: 7e103e2a5fcad9145a7884a55aaf9792
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@@ -21,15 +21,15 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 451388, guid: 2ec0a21ef68f64a46864ad388da793c4, type: 3}
propertyPath: m_LocalPosition.x
value: 0.1048176
value: 0
objectReference: {fileID: 0}
- target: {fileID: 451388, guid: 2ec0a21ef68f64a46864ad388da793c4, type: 3}
propertyPath: m_LocalPosition.y
value: 0.032218672
value: 0
objectReference: {fileID: 0}
- target: {fileID: 451388, guid: 2ec0a21ef68f64a46864ad388da793c4, type: 3}
propertyPath: m_LocalPosition.z
value: 0.81958795
value: 0
objectReference: {fileID: 0}
- target: {fileID: 451388, guid: 2ec0a21ef68f64a46864ad388da793c4, type: 3}
propertyPath: m_LocalRotation.w
@@ -270,3 +270,23 @@ MonoBehaviour:
m_ForceGravityOnDetach: 0
m_RetainTransformParent: 1
m_AttachPointCompatibilityMode: 0
--- !u!114 &8950488617520359539
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 988253026175220877}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fc417ab3a5b06f04db2149be4cfdf6e4, type: 3}
m_Name:
m_EditorClassIdentifier:
assetLocation: Arlo/Axe
itemId: 69
canStack: 0
itemName: Axe
itemDescription:
prefab: {fileID: 988253026175220877}
scaleInContainer: {x: 2, y: 2, z: 2}
positionInContainer: {x: 0, y: -0.33, z: 0}

View File

@@ -300,7 +300,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fc417ab3a5b06f04db2149be4cfdf6e4, type: 3}
m_Name:
m_EditorClassIdentifier:
assetLocation: Arlo/Log
itemId: 5
canStack: 1
itemName: Wood Log
itemDescription: A simple wooden log. A key ingredient for many things.
prefab: {fileID: 3057085693074020240}
scaleInContainer: {x: 0.8, y: 0.8, z: 0.8}
positionInContainer: {x: 0, y: -0.215, z: 0}

View File

@@ -244,8 +244,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fc417ab3a5b06f04db2149be4cfdf6e4, type: 3}
m_Name:
m_EditorClassIdentifier:
assetLocation: Helar/Mushroom_01
itemId: 1
canStack: 1
itemName: Red Mushroom
itemDescription:
prefab: {fileID: 4385080170328260021}
scaleInContainer: {x: 2, y: 2, z: 2}
positionInContainer: {x: 0, y: -0.45, z: 0}

View File

@@ -244,8 +244,11 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fc417ab3a5b06f04db2149be4cfdf6e4, type: 3}
m_Name:
m_EditorClassIdentifier:
assetLocation: Helar/Mushroom_02
itemId: 2
canStack: 1
itemName: Brown Mushroom
itemDescription:
prefab: {fileID: 5440707293445505367}
scaleInContainer: {x: 2, y: 2, z: 2}
positionInContainer: {x: 0, y: -0.45, z: 0}

View File

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

View File

@@ -206,6 +206,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
chime: {fileID: 965315076614651339}
isTouched: 0
playerInfo: {fileID: 0}
--- !u!82 &965315076614651339
AudioSource:
m_ObjectHideFlags: 0
@@ -314,11 +315,13 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: fc417ab3a5b06f04db2149be4cfdf6e4, type: 3}
m_Name:
m_EditorClassIdentifier:
assetLocation:
itemId: 10
canStack: 1
itemName: Magic essence
itemDescription:
prefab: {fileID: 3467985268477833302}
scaleInContainer: {x: 1, y: 1, z: 1}
--- !u!1 &5463776654730074005
GameObject:
m_ObjectHideFlags: 0

View File

@@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 705507994}
m_IndirectSpecularColor: {r: 0.097786635, g: 0.3520055, b: 0.71981287, a: 1}
m_IndirectSpecularColor: {r: 0.09674972, g: 0.35171852, b: 0.7160277, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
@@ -519,6 +519,75 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 196031885}
m_CullTransparentMesh: 1
--- !u!1001 &421701411
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 8437010424349675124, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_Name
value: SlimePBR
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalPosition.x
value: 3.546007
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.00000047683716
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalPosition.z
value: -0.44001675
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 288eb0a3190dc75419059ff7b4b70aa0,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 288eb0a3190dc75419059ff7b4b70aa0, type: 3}
--- !u!1 &492689958
GameObject:
m_ObjectHideFlags: 0
@@ -1091,7 +1160,7 @@ PrefabInstance:
- target: {fileID: 6028983200900377696, guid: c89fd30ca0b56fb41a415d285d87b219,
type: 3}
propertyPath: m_RootOrder
value: 12
value: 6
objectReference: {fileID: 0}
- target: {fileID: 6028983200900377696, guid: c89fd30ca0b56fb41a415d285d87b219,
type: 3}
@@ -1160,7 +1229,7 @@ PrefabInstance:
- target: {fileID: 553484814939433779, guid: dbc6a20437aec3141aaf8a552c1bc24f,
type: 3}
propertyPath: m_RootOrder
value: 6
value: 3
objectReference: {fileID: 0}
- target: {fileID: 553484814939433779, guid: dbc6a20437aec3141aaf8a552c1bc24f,
type: 3}
@@ -1410,7 +1479,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &599916906
MonoBehaviour:
@@ -1738,7 +1807,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 7
m_RootOrder: 12
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!114 &705507996
MonoBehaviour:
@@ -1981,7 +2050,7 @@ PrefabInstance:
- target: {fileID: 988253026175434765, guid: 1931b899d98ae8543a827f11728cabe4,
type: 3}
propertyPath: m_RootOrder
value: 4
value: 2
objectReference: {fileID: 0}
- target: {fileID: 988253026175434765, guid: 1931b899d98ae8543a827f11728cabe4,
type: 3}
@@ -2214,7 +2283,7 @@ Transform:
- {fileID: 1738326077}
- {fileID: 1713108173}
m_Father: {fileID: 0}
m_RootOrder: 5
m_RootOrder: 11
m_LocalEulerAnglesHint: {x: 0, y: 115.775, z: 0}
--- !u!1 &1520828248
GameObject:
@@ -2366,7 +2435,7 @@ GameObject:
- component: {fileID: 1578543177}
m_Layer: 0
m_Name: XR Origin
m_TagString: Player
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
@@ -2402,7 +2471,7 @@ Transform:
m_Children:
- {fileID: 508810528}
m_Father: {fileID: 0}
m_RootOrder: 0
m_RootOrder: 9
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1578543177
MonoBehaviour:
@@ -2416,75 +2485,6 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: f121a54614abe5f4990620bfd6a1c96c, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &1585303305
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 8437010424349675124, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_Name
value: SlimePBR
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_RootOrder
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalPosition.x
value: 5.33
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalPosition.y
value: 0.00000023841858
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalPosition.z
value: 11.57
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8439413668953451466, guid: 28785ec045ec00946ab767b14c8f4c6d,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 28785ec045ec00946ab767b14c8f4c6d, type: 3}
--- !u!4 &1636948867 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 6178336183725213671, guid: d424f1b7b8f6a784c95e4f2d5872728e,
@@ -2595,7 +2595,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_RootOrder: 10
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1651537456
MonoBehaviour:
@@ -3379,7 +3379,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 9
m_RootOrder: 13
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1841330314
PrefabInstance:
@@ -3391,7 +3391,7 @@ PrefabInstance:
- target: {fileID: 6028983200900377696, guid: c89fd30ca0b56fb41a415d285d87b219,
type: 3}
propertyPath: m_RootOrder
value: 8
value: 4
objectReference: {fileID: 0}
- target: {fileID: 6028983200900377696, guid: c89fd30ca0b56fb41a415d285d87b219,
type: 3}
@@ -3705,7 +3705,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 13
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &1993143051
PrefabInstance:
@@ -3717,7 +3717,7 @@ PrefabInstance:
- target: {fileID: 6028983200900377696, guid: c89fd30ca0b56fb41a415d285d87b219,
type: 3}
propertyPath: m_RootOrder
value: 10
value: 5
objectReference: {fileID: 0}
- target: {fileID: 6028983200900377696, guid: c89fd30ca0b56fb41a415d285d87b219,
type: 3}
@@ -3821,7 +3821,7 @@ PrefabInstance:
- target: {fileID: 6028983200900377696, guid: c89fd30ca0b56fb41a415d285d87b219,
type: 3}
propertyPath: m_RootOrder
value: 11
value: 7
objectReference: {fileID: 0}
- target: {fileID: 6028983200900377696, guid: c89fd30ca0b56fb41a415d285d87b219,
type: 3}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
<<<<<<<< HEAD:Assets/Scenes/JoonasP/Homebase_JP.unity.meta
guid: 97fc7747e77335e4483b4a65db2e4fc1
========
guid: 6d5f257272c8a9840891d8745d7bc200
>>>>>>>> joonasp_Milestone2:Assets/Scenes/JoonasP/Homebase_JoonasP.unity.meta
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -90,19 +90,19 @@ Material:
- _HorizonCloudSize: 4.91
- _HorizonCloudStartPosition: -0.1
- _HorizonCloudStep: 25
- _HorizonExponent: 3.3921747
- _HorizonExponent: 3.5590127
- _HorizonStep: 500
- _HorizonThickness: 1
- _MoonGlow: 0
- _MoonLightIntensity: 0.00034078956
- _MoonLightIntensity: 0.0000009446238
- _MoonSize: 0
- _MoonSoftEdge: 0
- _OverheadCloudAltitude: 1000
- _OverheadCloudAnimationSpeed: 50
- _OverheadCloudFlowDirectionX: 1
- _OverheadCloudFlowDirectionZ: 1
- _OverheadCloudRemapMax: 1.074074
- _OverheadCloudRemapMin: 0.111940965
- _OverheadCloudRemapMax: 1.14697
- _OverheadCloudRemapMin: 0.16336505
- _OverheadCloudSize: 10
- _OverheadCloudStep: 2
- _StarsDensity0: 0.4
@@ -112,7 +112,7 @@ Material:
- _StarsGlow0: 0.01
- _StarsGlow1: 0.01
- _StarsGlow2: 0.01
- _StarsOpacity: 0.0009148121
- _StarsOpacity: 0
- _StarsSize0: 0.42
- _StarsSize1: 0.53
- _StarsSize2: 0.46
@@ -121,25 +121,25 @@ Material:
- _StarsTwinkle1: 6
- _StarsTwinkle2: 2
- _SunGlow: 0.45
- _SunLightIntensity: 0.22252172
- _SunLightIntensity: 0.3061529
- _SunSize: 0.1
- _SunSoftEdge: 0.5
m_Colors:
- _DetailOverlayTintColor: {r: 0, g: 0, b: 0, a: 0}
- _FogColor: {r: 0, g: 0, b: 0, a: 0}
- _GroundColor: {r: 0.4100945, g: 0.38965663, b: 0.42924377, a: 1}
- _GroundColor: {r: 0.4181847, g: 0.3995859, b: 0.4356108, a: 1}
- _HorizonCloudColor: {r: 1, g: 1, b: 1, a: 1}
- _HorizonColor: {r: 0.9055729, g: 0.85231304, b: 0.741789, a: 1}
- _HorizonColor: {r: 0.9020369, g: 0.86305594, b: 0.76238817, a: 1}
- _MoonColor: {r: 1, g: 1, b: 1, a: 0}
- _MoonDirection: {r: 1, g: 1, b: 1, a: 0}
- _MoonLightColor: {r: 0, g: 0, b: 0, a: 0}
- _OverheadCloudColor: {r: 1, g: 1, b: 1, a: 0.9640542}
- _SkyColor: {r: 0.20533016, g: 0.35421106, b: 0.5882197, a: 1}
- _OverheadCloudColor: {r: 1, g: 1, b: 1, a: 0.9756075}
- _SkyColor: {r: 0.22028852, g: 0.39287567, b: 0.63273, a: 1}
- _StarsColor0: {r: 0.96470594, g: 0.9450981, b: 0.76470596, a: 1}
- _StarsColor1: {r: 1, g: 0.5294118, b: 0.93725497, a: 1}
- _StarsColor2: {r: 0, g: 0.92549026, b: 1, a: 1}
- _SunColor: {r: 0.9742516, g: 0.93176544, b: 0.86166334, a: 1}
- _SunDirection: {r: 0, g: -0.258819, b: 0.9659258, a: 0}
- _SunColor: {r: 0.9725966, g: 0.9273795, b: 0.85277134, a: 1}
- _SunDirection: {r: 0, g: -0.37054375, b: 0.928815, a: 0}
- _SunLightColor: {r: 1, g: 0.9929226, b: 0.9009434, a: 1}
m_BuildTextureStacks: []
--- !u!114 &11400000

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -27,17 +27,17 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorBlend:
m_Texture: {fileID: 567659264843545098, guid: b6bbea2e1167a7346822545139402874,
m_Texture: {fileID: 3296297345525164742, guid: b6bbea2e1167a7346822545139402874,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorByHeight:
m_Texture: {fileID: 5600802747215712828, guid: b6bbea2e1167a7346822545139402874,
m_Texture: {fileID: 7822123968218558248, guid: b6bbea2e1167a7346822545139402874,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorByNormal:
m_Texture: {fileID: 4387930893138807582, guid: b6bbea2e1167a7346822545139402874,
m_Texture: {fileID: -5897336944087639462, guid: b6bbea2e1167a7346822545139402874,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}

View File

@@ -40,17 +40,17 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorBlend:
m_Texture: {fileID: -8225046794103038699, guid: 726ce83d589353742be6b48ff467fc48,
m_Texture: {fileID: 2309935011595810566, guid: 726ce83d589353742be6b48ff467fc48,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorByHeight:
m_Texture: {fileID: 6831111675755459306, guid: 726ce83d589353742be6b48ff467fc48,
m_Texture: {fileID: -9169335222111477954, guid: 726ce83d589353742be6b48ff467fc48,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorByNormal:
m_Texture: {fileID: 165637708112304383, guid: 726ce83d589353742be6b48ff467fc48,
m_Texture: {fileID: 2978575347860503324, guid: 726ce83d589353742be6b48ff467fc48,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}

View File

@@ -40,17 +40,17 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorBlend:
m_Texture: {fileID: 3234995293974440031, guid: 7f589c682d367b442b8cf75918f5aa55,
m_Texture: {fileID: 896384531317697102, guid: 7f589c682d367b442b8cf75918f5aa55,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorByHeight:
m_Texture: {fileID: 7438741728987644076, guid: 7f589c682d367b442b8cf75918f5aa55,
m_Texture: {fileID: 4029862431913224828, guid: 7f589c682d367b442b8cf75918f5aa55,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ColorByNormal:
m_Texture: {fileID: -7540841678319409431, guid: 7f589c682d367b442b8cf75918f5aa55,
m_Texture: {fileID: 4575790855133332405, guid: 7f589c682d367b442b8cf75918f5aa55,
type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}

View File

@@ -731,7 +731,7 @@ PlayerSettings:
PS4: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER;UNITY_POST_PROCESSING_STACK_V2
PS5: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER;UNITY_POST_PROCESSING_STACK_V2
Stadia: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER;UNITY_POST_PROCESSING_STACK_V2
Standalone: RH_SerializedDictionary;PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER;UNITY_POST_PROCESSING_STACK_V2
Standalone: RH_SerializedDictionary;PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER;UNITY_POST_PROCESSING_STACK_V2;GRIFFIN_URP;POSEIDON;POSEIDON_URP;JUPITER;GRIFFIN;TEXTURE_GRAPH;GRIFFIN_2021;TG_SEARCHER
WebGL: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER;UNITY_POST_PROCESSING_STACK_V2
Windows Store Apps: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER;UNITY_POST_PROCESSING_STACK_V2
XboxOne: PHOTON_UNITY_NETWORKING;PUN_2_0_OR_NEWER;PUN_2_OR_NEWER;PUN_2_19_OR_NEWER;UNITY_POST_PROCESSING_STACK_V2