You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.5 KiB
C#

using FairyGUI;
public class Card : GButton
{
GObject _back;
GObject _front;
public override void ConstructFromXML(FairyGUI.Utils.XML xml)
{
base.ConstructFromXML(xml);
_back = GetChild("n0");
_front = GetChild("icon");
_front.visible = false;
}
public bool opened
{
get
{
return _front.visible;
}
set
{
GTween.Kill(this);
_front.visible = value;
_back.visible = !value;
}
}
public void SetPerspective()
{
_front.displayObject.perspective = true;
_back.displayObject.perspective = true;
}
public void Turn()
{
if (GTween.IsTweening(this))
return;
bool toOpen = !_front.visible;
GTween.To(0, 180, 0.8f).SetTarget(this).SetEase(EaseType.QuadOut).OnUpdate(TurnInTween).SetUserData(toOpen);
}
void TurnInTween(GTweener tweener)
{
bool toOpen = (bool)tweener.userData;
float v = tweener.value.x;
if (toOpen)
{
_back.rotationY = v;
_front.rotationY = -180 + v;
if (v > 90)
{
_front.visible = true;
_back.visible = false;
}
}
else
{
_back.rotationY = -180 + v;
_front.rotationY = v;
if (v > 90)
{
_front.visible = false;
_back.visible = true;
}
}
}
}