protected override void TranslateCallback(ModelTranslate_E _direction) { Vector3 dir = Vector3.zero; switch (_direction) { case ModelTranslate_E.Up: dir = selfcamera.transform.up; break; case ModelTranslate_E.Down: dir = -selfcamera.transform.up; break; case ModelTranslate_E.Left: dir = -selfcamera.transform.right; break; case ModelTranslate_E.Right: dir = selfcamera.transform.right; break; default: break; } transform.localPosition += dir * 0.02f; Vector3 v = transform.localPosition; //PlayerDataCenter.UpdataUserData(PlayerDataCenter.LoclaUserData.DataKey.Postion, v); }
protected override void ScalerCallback(ModelTranslate_E escaler, float value) { Vector3 scaler = transform.localScale; switch (escaler) { case ModelTranslate_E.Scaler: scaler = new Vector3(value, value, value) * selforiginscaler; break; case ModelTranslate_E.ScalerX: scaler.x = value * selforiginscaler; break; case ModelTranslate_E.ScalerY: scaler.y = value * selforiginscaler; break; case ModelTranslate_E.ScalerZ: scaler.z = value * selforiginscaler; break; default: break; } transform.localScale = scaler; }
QMsg CreatMsg(Model_E eventid, Model_E modleevent = Model_E.Begin, ModelTranslate_E modeltranslate = ModelTranslate_E.Begin, float valuedir = 0) { QMsg modelmsg = new ModelMsg() { EventID = (int)eventid, modelevent = modleevent, translateevent = modeltranslate, Changdir = valuedir }; return(modelmsg); }
/// 平移 void OnTranslateChange(ModelTranslate_E mte) { QMsg modelmsg = new ModelMsg() { EventID = (int)Model_E.UserImport, translateevent = mte }; ModelManager.Instance.SendMsg(modelmsg); }
///XYZ及等比缩放 void OnScalerSliderChange(ModelTranslate_E mte, float endvalue) { QMsg modelmsg = new ModelMsg() { EventID = (int)Model_E.Normal, translateevent = mte, Changdir = endvalue }; ModelManager.Instance.SendMsg(modelmsg); }
/// <summary> /// 根据发送来的消息回调刷新 /// </summary> /// <param name="obj"></param> public override void HandlerEvent(QMsg obj) { ModelMsg mm = obj as ModelMsg; //主模型过程控制 Model_E modelx = mm.modelevent; //modletranslate方式控制 ModelTranslate_E mte = mm.translateevent; //传来的数据 float value = mm.Changdir; //模型状态使用 switch (modelx) { case Model_E.LoadModel: LoadModel(mm); break; case Model_E.Hidden: Hidden(); break; case Model_E.Display: Display(); break; case Model_E.SetCamera: selfcamera = mm.selfcamera; break; case Model_E.translate: case Model_E.Rotate: case Model_E.Scaler: modelcontrollmode = modelx; break; default: break; } //调整(位移旋转缩放)使用 tranlatmode = mte; switch (mte) { case ModelTranslate_E.Up: case ModelTranslate_E.Down: case ModelTranslate_E.Left: case ModelTranslate_E.Right: TranslateCallback(mte); break; case ModelTranslate_E.Scaler: case ModelTranslate_E.ScalerX: case ModelTranslate_E.ScalerY: case ModelTranslate_E.ScalerZ: ScalerCallback(mte, value); break; case ModelTranslate_E.Rotate: RotateCallback(value); break; default: break; } //pointer使用 }
/// <summary> /// 缩放控制回调 /// </summary> /// <param name="escaler"></param> /// <param name="value"></param> protected virtual void ScalerCallback(ModelTranslate_E escaler, float value) { }
/// <summary> /// 移动控制回调 /// </summary> /// <param name="_direction"></param> protected virtual void TranslateCallback(ModelTranslate_E _direction) { }