Exemple #1
0
    void PopState()
    {
        int lastIndex = states.Count - 1;

        if (lastIndex > -1)
        {
            KeyTimeState kts = states[lastIndex];
            states.RemoveAt(lastIndex);

            if (isBroken && !kts.isBroken)
            {
                GetFixed();
            }
            else if (!isBroken && kts.isBroken)
            {
                GetBroken();
            }

            if (hasOwner && !kts.hasOwner)
            {
                RemoveOwner();
            }
            else if (!hasOwner && kts.hasOwner)
            {
                SetOwner();
            }
        }
    }
Exemple #2
0
    void PushState()
    {
        KeyTimeState kts = new KeyTimeState();

        kts.isBroken = isBroken;
        kts.hasOwner = hasOwner;

        states.Add(kts);
    }