40 lines
1.1 KiB
C#
40 lines
1.1 KiB
C#
using System;
|
|
using System.Collections;
|
|
using UnityEngine;
|
|
|
|
[CreateAssetMenu(fileName = "PlayerData", menuName = "ScriptableObjects/Player")]
|
|
public sealed class PlayerData : ScriptableObject
|
|
{
|
|
// Serialize Fields
|
|
[field: SerializeField] public int InvincibilityTime { get; private set; }
|
|
[field: SerializeField] public float JumpHeight { get; private set; }
|
|
[field: SerializeField] public float LaneSwitchSpeed { get; private set; }
|
|
[field: SerializeField] public float InitialSpeed { get; private set; }
|
|
[field: SerializeField] public float CurrentSpeed { get; private set; }
|
|
[field: SerializeField] public float SpeedAcceleration { get; private set; }
|
|
|
|
// Other attributes
|
|
private bool onPause = false;
|
|
|
|
private void Awake()
|
|
{
|
|
CurrentSpeed = InitialSpeed;
|
|
}
|
|
|
|
public void Reset()
|
|
{
|
|
CurrentSpeed = InitialSpeed;
|
|
}
|
|
|
|
public void Update()
|
|
{
|
|
if (!onPause)
|
|
CurrentSpeed += SpeedAcceleration / 1000;
|
|
}
|
|
|
|
public void isPaused(bool isPaused)
|
|
{
|
|
onPause = isPaused;
|
|
}
|
|
}
|