示例#1
0
        public override Animation GetAnimation(int animation, int phase)
        {
            switch (GraphicDataUsage)
            {
            case DataUsage.ForceAmiga:
                if (!amigaGraphicsOk)
                {
                    throw new ExceptionFreeserf(ErrorSystemType.Data, "Amiga graphic data not available.");
                }
                return(amiga.GetAnimation(animation, phase));

            case DataUsage.ForceDos:
                if (!dosOk)
                {
                    throw new ExceptionFreeserf(ErrorSystemType.Data, "DOS graphic data not available.");
                }
                return(dos.GetAnimation(animation, phase));

            case DataUsage.PreferAmiga:
                if (amigaGraphicsOk)
                {
                    return(amiga.GetAnimation(animation, phase));
                }
                else
                {
                    return(dos.GetAnimation(animation, phase));
                }

            case DataUsage.PreferDos:
            default:
                if (dosOk)
                {
                    return(dos.GetAnimation(animation, phase));
                }
                else
                {
                    return(amiga.GetAnimation(animation, phase));
                }
            }
        }