示例#1
0
        private void CreateWeaponModel(int equipId)
        {
            EquipModel.CreateModel(equipId, theModel =>
            {
                if (null == theModel)
                {
                    return;
                }
                theModel.transform.parent = EquipModel.transform;
                theModel.gameObject.SetLayerRecursive(LayerMask.NameToLayer(GAMELAYER.UI));
                theModel.gameObject.SetRenderQueue(ModelRenderQueue);

                Vector3 v = new Vector3(0.0f, 0.0f, 1.32f);
                foreach (var ep in ListEquipOffset)
                {
                    if (ep.EquipId == equipId)
                    {
                        v = ep.OriginPosition;
                        break;
                    }
                }
                theModel.transform.localPosition = v;
                theModel.transform.rotation      = Quaternion.Euler(EquipForward);

                if (theModel.GetComponent <RotateAround>() == null)
                {
                    var rotate     = theModel.AddComponent <RotateAround>();
                    rotate.Forward = true;
                    rotate.Speed   = RotateSpeed;
                }
            });
        }
示例#2
0
        private void ShowWeaponModel(int equipId)
        {
            DestroyModel();

            EquipModel.CreateModel(equipId, go =>
            {
                if (null == go)
                {
                    return;
                }
                go.transform.parent = EquipModel.transform;
                go.gameObject.SetLayerRecursive(LayerMask.NameToLayer(GAMELAYER.UI));
                go.gameObject.SetRenderQueue(ModelRenderQueue);
                if (rotateAround == null)
                {
                    rotateAround = go.GetComponentInChildren <RotateAround>();
                    if (rotateAround != null)
                    {
                        initRotate = rotateAround.gameObject.transform.localRotation;
                    }
                }
                else
                {
                    rotateAround.transform.localRotation = initRotate;
                }
            }, true);
        }
示例#3
0
        private void CreateModel()
        {
            if (itemListLogic == null)
            {
                return;
            }

            if (model != null)
            {
                return;
            }

            var t = itemListLogic.Item as EquipModelDataModel;

            if (t != null)
            {
                DestroyModel();
                EquipModel.CreateModel(t.EquipId, go =>
                {
                    if (null == go)
                    {
                        return;
                    }
                    model = go;
                    go.transform.parent = EquipModel.transform;
                    go.gameObject.SetLayerRecursive(LayerMask.NameToLayer(GAMELAYER.PerspectiveView));
                    go.gameObject.SetRenderQueue(ModelRenderQueue);

                    rotateAround = go.GetComponentInChildren <RotateAround>();
                    if (rotateAround != null)
                    {
                        initRotate = rotateAround.gameObject.transform.localRotation;
                    }
                    SetRotate();
                }, true);
            }
        }