CapersProject/Assets/02.Scripts/Character/Enemy/Boss/TitanSlime/TitanSlimeState.cs
2024-06-04 03:26:03 +09:00

63 lines
2.2 KiB
C#

using System;
using UnityEngine;
namespace BlueWater.Enemies.Bosses.TitanSlime
{
[Serializable]
public class TitanSlimeState
{
[field: SerializeField]
public int Level { get; private set; }
[field: SerializeField]
public float Size { get; private set; }
[field: SerializeField]
public int MaxHp { get; private set; }
[field: SerializeField]
public float AnimationLength { get; private set; }
[field: SerializeField]
public float ViewRange { get; private set; }
[field: SerializeField]
public Vector2 RandomCooldown { get; private set; }
[field: SerializeField]
public bool HasRabbit { get; private set; }
[field: SerializeField]
public float JumpCameraShakingPower { get; private set; }
[field: SerializeField]
public float JumpCameraShakingDuration { get; private set; }
public TitanSlimeState(int level, float size, int maxHp, float animationLength, float viewRange, Vector2 randomCooldown,
bool hasRabbit, float jumpCameraShakingPower, float jumpCameraShakingDuration)
{
Level = level;
Size = size;
MaxHp = maxHp;
AnimationLength = animationLength;
RandomCooldown = randomCooldown;
ViewRange = viewRange;
HasRabbit = hasRabbit;
JumpCameraShakingPower = JumpCameraShakingPower;
JumpCameraShakingDuration = JumpCameraShakingDuration;
}
public TitanSlimeState(TitanSlimeState titanSlimeState, bool hasRabbit = default)
{
Level = titanSlimeState.Level;
Size = titanSlimeState.Size;
MaxHp = titanSlimeState.MaxHp;
AnimationLength = titanSlimeState.AnimationLength;
ViewRange = titanSlimeState.ViewRange;
RandomCooldown = titanSlimeState.RandomCooldown;
HasRabbit = hasRabbit == default ? titanSlimeState.HasRabbit : hasRabbit;
JumpCameraShakingPower = titanSlimeState.JumpCameraShakingPower;
JumpCameraShakingDuration = titanSlimeState.JumpCameraShakingDuration;
}
}
}