public ButtonDialog() : base() { _buttonCaptions = new List <string>(); _buttons = new Dictionary <string, Button>(); _worldPosition = Vector2.Zero; _frame = new Rectangle(0, 0, (int)Definitions.Back_Buffer_Width, 0); _defaultButtonCaption = ""; _cancelButtonCaption = ""; _entryMotionEngine = new BounceEntryMotionEngine(); _entryMotionEngine.ObjectToTrack = this; _entryMotionEngine.RecoilMultiplier = Recoil_Multiplier; _entryMotionEngine.CompletionCallback = HandleDialogEntryCompletion; _exitMotionEngine = new BounceExitMotionEngine(); _exitMotionEngine.ObjectToTrack = this; _exitMotionEngine.RecoilMultiplier = Recoil_Multiplier; _exitMotionEngine.CompletionCallback = HandleDialogExitCompletion; MotionEngine = null; Active = false; Visible = false; TopYWhenActive = 0.0f; SelectionCallback = null; ExitCallback = null; InputSources = new List <InputProcessorBase>(); _boxCaption = ""; ChangeSelectionSoundEffectName = Default_Selection_Change_Sound_Effect; ActivateSelectionSoundEffectName = Default_Selection_Activate_Sound_Effect; }
protected virtual void Dismiss() { Active = false; _exitMotionEngine.Activate(); MotionEngine = _exitMotionEngine; }
protected virtual void HandleDialogExitCompletion() { Visible = false; MotionEngine = null; if (ExitCallback != null) { ExitCallback(_activeButtonCaption); } }
public virtual void Activate(bool skipEntrySequence) { Reset(); _exitMotionEngine.TargetWorldPosition = new Vector2(0.0f, WorldPosition.Y); if (skipEntrySequence) { WorldPosition = new Vector2(WorldPosition.X, _topYWhenActive); MotionEngine = null; Active = true; } else { _entryMotionEngine.TargetWorldPosition = new Vector2(0.0f, _topYWhenActive); _entryMotionEngine.Activate(); MotionEngine = _entryMotionEngine; } Visible = true; }
public void Activate(bool skipEntrySequence) { Reset(); _exitMotionEngine.TargetWorldPosition = new Vector2(0.0f, Definitions.Back_Buffer_Height); if (skipEntrySequence) { WorldPosition = new Vector2(WorldPosition.X, TopYWhenActive); MotionEngine = null; Active = true; } else { _entryMotionEngine.TargetWorldPosition = new Vector2(0.0f, TopYWhenActive); _entryMotionEngine.Activate(); MotionEngine = _entryMotionEngine; } Visible = true; }
/// <summary> /// Constructor. /// </summary> /// <param name="agent"></param> public MotionActionInterface(Agent agent) { _agent = agent; _motionComponent = agent.Motion; _motion = _motionComponent.Engine; }