forked from fbsamples/oculus-networked-physics-sample
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Interactions.cs
58 lines (49 loc) · 1.39 KB
/
Interactions.cs
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
/**
* Copyright (c) 2017-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the Scripts directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
using UnityEngine;
using UnityEngine.Assertions;
public class Interactions
{
public class Entry
{
public byte[] interactions = new byte[Constants.NumCubes];
public void AddInteraction( ushort id )
{
interactions[id] = 1;
}
public void RemoveInteraction( ushort id )
{
interactions[id] = 0;
}
}
Entry[] entries = new Entry[Constants.NumCubes];
public Interactions()
{
for ( int i = 0; i < Constants.NumCubes; ++i )
{
entries[i] = new Entry();
}
}
public void AddInteraction( ushort id1, ushort id2 )
{
entries[id1].AddInteraction( id2 );
entries[id2].AddInteraction( id1 );
}
public void RemoveInteraction( ushort id1, ushort id2 )
{
entries[id1].RemoveInteraction( id2 );
entries[id2].RemoveInteraction( id1 );
}
public Entry GetInteractions( int cubeId )
{
Assert.IsTrue( cubeId >= 0 );
Assert.IsTrue( cubeId < Constants.NumCubes );
return entries[cubeId];
}
}