public FollowAction(GameObject actor, GameObject targetCharacter, float maximumDistance, float minimumDistance, Reason reason, bool canStartDialogueWithAgents) : base(actor) { InitInteractionInfo(true, canStartDialogueWithAgents); this.targetCharacter = targetCharacter; this.targetCharacterState = (CharacterState)targetCharacter.GetComponent("CharacterState"); this.maximumDistance = maximumDistance; this.minimumDistance = minimumDistance; this.reason = reason; switch(reason) { case Reason.SEX: targetCharacterState.SetTask(CharacterState.Task.SEX, actor); TaskHelp.ShowHelp(TaskHelp.SEX, actor); break; case Reason.DANCE: targetCharacterState.SetTask(CharacterState.Task.DANCE, actor); TaskHelp.ShowHelp(TaskHelp.DANCE, null); break; case Reason.POKER_WITHOUT_MONEY: targetCharacterState.SetTask(CharacterState.Task.POKER, actor); TaskHelp.ShowHelp(TaskHelp.POKER, null); break; case Reason.POKER_WITH_MONEY: targetCharacterState.SetTask(CharacterState.Task.POKER, actor); TaskHelp.ShowHelp(TaskHelp.POKER, null); break; case Reason.DRINK: targetCharacterState.SetTask(CharacterState.Task.DRINK, actor); TaskHelp.ShowHelp(TaskHelp.DRINK, actor); break; } ending = false; }