| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | 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))        {            ET.Log.Debug("toopen,this");            GTween.To(180, 360, 0.5f).SetTarget(this).SetEase(EaseType.QuadOut).OnUpdate(TurnInTween).SetUserData(false);            return;        }                   bool toOpen = !_front.visible;        ET.Log.Debug("toopen:" + toOpen);        GTween.To(0, 180, 0.5f).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;            }        }    }}
 |