IListMovementProcessor.cs
1.75 KB
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
namespace AirFishLab.ScrollingList.ListStateProcessing
{
/// <summary>
/// The interface of the processor for controlling the list movement
/// </summary>
public interface IListMovementProcessor
{
/// <summary>
/// Initialize the controller
/// </summary>
/// <param name="setupData">The data for setting up the list</param>
void Initialize(ListSetupData setupData);
/// <summary>
/// Set the movement
/// </summary>
/// <param name="inputInfo">The information of the input value</param>
void SetMovement(InputInfo inputInfo);
/// <summary>
/// Set the movement for moving several times of units
/// </summary>
/// <param name="unit">The number of units to move</param>
void SetUnitMovement(int unit);
/// <summary>
/// Set the movement for centering the selected box
/// </summary>
/// <param name="units">The number of units to move</param>
void SetSelectionMovement(int units);
/// <summary>
/// Get the current movement for the boxes
/// </summary>
/// <param name="detailTime">The time passed in seconds in this call</param>
/// <returns>The value for moving the boxes</returns>
float GetMovement(float detailTime);
/// <summary>
/// Is the movement ended?
/// </summary>
bool IsMovementEnded();
/// <summary>
/// Whether need to align a box or not
/// </summary>
bool NeedToAlign();
/// <summary>
/// Discard the current movement
/// </summary>
/// <param name="toAlign">Whether to align a box</param>
void EndMovement(bool toAlign);
}
}