FloatToInt.CastType

enum

名前空間:SilCilSystem.Math


float型からint型への変換を行うための列挙型です。 インスペクタ上から指定できるようにするために作成しました。 拡張メソッドによりfloatをintに変換できます。

メンバ一覧

変換方法

value description
Simple (int) value
FloorToInt Mathf.Floor
CeilToInt Mathf.CeilToInt
RoundToInt Mathf.RoundToInt

拡張メソッド

return Signature 変換前 -> 変換後の型
int Cast(this CastType castType, float value) float -> int
Vector2Int Cast(this CastType castType, Vector2 value) Vector2 -> Vector2Int
Vector3Int Cast(this CastType castType, Vector3 value) Vector3 -> Vector3Int

使用例

Castメソッドを呼べば変換できます。

using UnityEngine;
using SilCilSystem.Math;

public class Test : MonoBehaviour
{
    [SerializeField] private FloatToInt.CastType m_castType = default;
    [SerializeField] private float m_value = -1.5f;

    private void Update()
    {
        int value = m_castType.Cast(m_value);
        Debug.Log(value);
    }
}

実装

switch構文でそれぞれ処理しているだけです。

public static int Cast(this CastType castType, float value)
{
    switch (castType)
    {
        default:
        case CastType.Simple: return (int)value;
        case CastType.FloorToInt: return Mathf.FloorToInt(value);
        case CastType.CeilToInt: return Mathf.CeilToInt(value);
        case CastType.RoundToInt: return Mathf.RoundToInt(value);
    }
}

トップへ