//public virtual void DoSelect() //{ // DoSelect(Vector3.zero); //} public override void DoSelect(Vector3 position, bool checkActionRecording = false) { CheckKinetic(position); if (position != Vector3.zero && WalkFloor) { Debug.Log("Walk to: " + position.ToString()); Slam.Instance.WalkTo(position, floorLevel); } if (position != Vector3.zero && SitPlane) { Slam.Instance.SitOn(position, ActiveTransform.forward); } else if (InputType != InputType.None) { //SlamMenu.Instance.SetHelpText() Slam.Instance.OpenMenuForTextInput(gameObject); } else if (!string.IsNullOrEmpty(Href)) { // SlamMenu.Instance.SaveTextInput(); if (Href.ToLower().StartsWith("slam_avatarselect=")) { var no = Href.ToLower().Replace("slam_avatarselect=", ""); Slam.Instance.AvatarNo = no; Slam.Instance.GoHome(); return; } switch (Href) { case Constants.slam_menu: Slam.Instance.OpenMenu(transform.position); break; case Constants.slam_home: Slam.Instance.GoHome(); break; case Constants.slam_close_message: Slam.Instance.ShowMessage(false); break; case Constants.slam_ok_message: Slam.Instance.MessageOKAction(); break; default: switch (Target) { case Target._2D: if (conFirmLeaveApp) { Slam.Instance.Browse2d(Href); } else { Application.OpenURL(Href); } break; default: checkActionRecording = true; if (!Slam.Instance.Switch(Href, ActiveTransform.gameObject)) //, gameObject.name)) { Slam.Instance.Parse(Href, Target, null); } break; } break; } } if (presentation > 0) { checkActionRecording = true; if (presenting) { StopPresenting(); } else { SetPresenting(); } move = true; } if (checkActionRecording) { Slam.Instance.QueryAction(gameObject.name);//record action } }