private void HandleTimePropsEvent(TimePropertyListItem tp) { VMAvatar avatar = this; var evt = tp.Properties["xevt"]; if (evt != null) { var eventValue = short.Parse(evt); avatar.CurrentAnimationState.EventQueue.Add(eventValue); avatar.CurrentAnimationState.EventsRun++; } var rhevt = tp.Properties["righthand"]; if (rhevt != null) { var eventValue = short.Parse(rhevt); avatar.Avatar.RightHandGesture = (SimHandGesture)eventValue; } var lhevt = tp.Properties["lefthand"]; if (lhevt != null) { var eventValue = short.Parse(lhevt); avatar.Avatar.LeftHandGesture = (SimHandGesture)eventValue; } var soundevt = tp.Properties["sound"]; var owner = this; if (UseWorld && soundevt != null && owner.SoundThreads.FirstOrDefault(x => x.Name == soundevt) == null) { var thread = TSO.HIT.HITVM.Get().PlaySoundEvent(soundevt); if (thread != null) { if (thread is HITThread) { SubmitHITVars((HITThread)thread); } if (!thread.AlreadyOwns(owner.ObjectID)) { thread.AddOwner(owner.ObjectID); } var entry = new VMSoundEntry() { Sound = thread, Pan = true, Zoom = true, }; owner.SoundThreads.Add(entry); owner.TickSounds(); } } }
private void HandleTimePropsEvent(TimePropertyListItem tp) { VMAvatar avatar = this; var evt = tp.Properties["xevt"]; if (evt != null) { var eventValue = short.Parse(evt); avatar.CurrentAnimationState.EventCode = eventValue; avatar.CurrentAnimationState.EventFired = true; } var rhevt = tp.Properties["righthand"]; if (rhevt != null) { var eventValue = short.Parse(rhevt); avatar.Avatar.RightHandGesture = (SimHandGesture)eventValue; } var lhevt = tp.Properties["lefthand"]; if (lhevt != null) { var eventValue = short.Parse(lhevt); avatar.Avatar.LeftHandGesture = (SimHandGesture)eventValue; } var soundevt = tp.Properties["sound"]; if (soundevt != null) { var thread = TSO.HIT.HITVM.Get().PlaySoundEvent(soundevt); if (thread != null) { var owner = this; if (!thread.AlreadyOwns(owner.ObjectID)) { thread.AddOwner(owner.ObjectID); } var entry = new VMSoundEntry() { Thread = thread, Pan = true, Zoom = true, }; owner.SoundThreads.Add(entry); owner.TickSounds(); } } }