private void LoopAnim() { try { ClientSelf.AnimationStop(AssetID, true); ClientSelf.AnimationStart(AssetID, true); while (NeedsLooping) { // some anims will only last a short time so we have to // remind the server we still want to be using it // like Laugh .. lasts for about .9 seconds //12000 is a estimate average Thread.Sleep((int)(asset.Length * 1000)); ClientSelf.AnimationStop(AssetID, true); ClientSelf.AnimationStart(AssetID, true); } } catch (Exception) { } // for the Abort }
public void TalkTo(SimObject avatar, String talkAbout) { //SimAvatar avatarWasInDialogWith = ((SimAvatarImpl) avatar).InDialogWith; //SimAvatar wasInDialogWith = InDialogWith; //try { SimObject InDialogWith = avatar; var Client = GetGridClient(); AgentManager ClientSelf = Client.Self; AgentManager.AgentMovement ClientMovement = ClientSelf.Movement; TurnToward(InDialogWith); ClientSelf.AnimationStop(Animations.TALK, true); ClientSelf.AnimationStart(Animations.TALK, true); GetBotClient().Talk(InDialogWith + ": " + talkAbout); Thread.Sleep(3000); ClientSelf.AnimationStop(Animations.TALK, true); } //finally //{ // InDialogWith = wasInDialogWith; // //avatar.InDialogWith = avatarWasInDialogWith; //} }