Compare commits

...

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
34 changed files with 39886 additions and 306 deletions

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.
@ -59,24 +58,29 @@ 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);
_itemId = _itemData.itemId;
if (Count == 0) Count = 1;
if (itemData == null) Debug.LogError("Item prefab has no attached ItemData", _childPrefab);
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

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

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

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