-
Notifications
You must be signed in to change notification settings - Fork 4
/
ActorNodeSolo.cs
69 lines (58 loc) · 1.38 KB
/
ActorNodeSolo.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
59
60
61
62
63
64
65
66
67
68
69
using System;
using System.IO;
using System.Collections.Generic;
using Nima.Math2D;
namespace Nima
{
public class ActorNodeSolo : ActorNode
{
private uint m_ActiveChildIndex = 0;
public ActorNodeSolo()
{
}
public ActorNodeSolo(Actor actor) : base(actor)
{
}
public uint ActiveChildIndex
{
get
{
return m_ActiveChildIndex;
}
set
{
if(m_ActiveChildIndex != value)
{
m_ActiveChildIndex = value;
for(int i = 0; i < m_Children.Count; i++)
{
ActorNode an = m_Children[i];
bool cv = (i != (m_ActiveChildIndex-1));
an.CollapsedVisibility = cv;
}
}
}
}
public void Copy(ActorNodeSolo node, Actor resetActor)
{
base.Copy(node, resetActor);
m_ActiveChildIndex = node.ActiveChildIndex;
}
public static ActorNodeSolo Read(Actor actor, BinaryReader reader, ActorNodeSolo node = null)
{
if (node == null)
{
node = new ActorNodeSolo();
}
ActorNode.Read(actor, reader, node);
node.ActiveChildIndex = (uint)reader.ReadSingle();
return node;
}
public override ActorComponent MakeInstance(Actor resetActor)
{
ActorNodeSolo instanceNode = new ActorNodeSolo();
instanceNode.Copy(this, resetActor);
return instanceNode;
}
}
}