public bool AddAction(IGraphicAction action) { if (_actions.ContainsKey(action.Name)) return false; _actions.Add(action.Name, action); return true; }
public bool? ExecuteAction(IGraphicAction action) { switch (action.GraphicActionType) { case GraphicActionType.Animation: if (!GameGraphics.DoesDrawableExist(action.Drawable)) return false; IAnimationAction animationAction = (IAnimationAction) action; return ExecuteAnimationAction(animationAction); case GraphicActionType.Shape: if (!GameGraphics.DoesDrawableExist(action.Drawable)) return false; IShapeAction shapeAction = (IShapeAction) action; return ExecuteShapeAction(shapeAction); case GraphicActionType.String: if (!GameGraphics.DoesDrawableExist(action.Drawable)) return false; StringAction stringAction = (StringAction) action; return ExecuteStringAction(stringAction); case GraphicActionType.Position: if (!GameGraphics.DoesDrawableExist(action.Drawable)) return false; IPositionAction positionAction = (IPositionAction) action; return ExecutePositionAction(positionAction); case GraphicActionType.Color: if (!GameGraphics.DoesDrawableExist(action.Drawable)) return false; ColorAction colorAction = (ColorAction) action; return ExecuteColorAction(colorAction); case GraphicActionType.Add: if (GameGraphics.DoesDrawableExist(action.Drawable)) return false; AddAction addAction = (AddAction) action; return ExecuteAddAction(addAction); case GraphicActionType.Remove: if (!GameGraphics.DoesDrawableExist(action.Drawable)) return false; RemoveAction removeAction = (RemoveAction) action; return ExecuteRemoveAction(removeAction); default: return null; } }