hch
2025-06-19 35f08360f1e07c7a8301f7b2031c0779e2998fb5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
 
public static class VesselExtension
{
 
    public static bool IsNullOrEmpty<T>(this List<T> vessel)
    {
        return vessel == null || vessel.Count == 0;
    }
 
    public static bool IsNullOrEmpty<T>(this T[] vessel)
    {
        return vessel == null || vessel.Length == 0;
    }
 
    public static bool IsNullOrEmpty<T0, T1>(this Dictionary<T0, T1> dictionary)
    {
        return dictionary == null || dictionary.Count == 0;
    }
 
    public static T GetFirst<T>(this List<T> list)
    {
        if (list == null)
        {
            throw new ArgumentNullException("List is null.");
        }
 
        if (list.Count == 0)
        {
            Debug.Log("List count can't be zero.");
            return default(T);
        }
 
        return list[0];
    }
 
    public static T GetLast<T>(this List<T> list)
    {
        if (list == null)
        {
            throw new ArgumentNullException("List is null.");
        }
 
        if (list.Count == 0)
        {
            Debug.Log("List count can't be zero.");
            return default(T);
        }
 
        return list[list.Count - 1];
    }
 
    public static T GetFirst<T>(this T[] list)
    {
        if (list == null)
        {
            throw new ArgumentNullException("Array is null.");
        }
 
        if (list.Length == 0)
        {
            Debug.Log("Array count can't be zero.");
            return default(T);
        }
 
        return list[0];
    }
 
    public static T GetLast<T>(this T[] list)
    {
        if (list == null)
        {
            throw new ArgumentNullException("Array is null.");
        }
 
        if (list.Length == 0)
        {
            Debug.Log("Array count can't be zero.");
            return default(T);
        }
 
        return list[list.Length - 1];
    }
 
    public static T GetRandom<T>(this List<T> list)
    {
        if (list == null)
        {
            throw new ArgumentNullException("List is null.");
        }
 
        if (list.Count == 0)
        {
            Debug.Log("List count can't be zero.");
            return default(T);
        }
 
        var randomIndex = UnityEngine.Random.Range(0, list.Count);
        return list[randomIndex];
    }
 
}