コード例 #1
0
ファイル: PlayerShoot3Dual.cs プロジェクト: abarabone/a
        public override void setVisualPosition(WaponHolder wapons, int id)
        // 武器それぞれの「表示・表示の位置」をあらかじめ計算して配列に保存しておく。
        {
            if (id > 2)
            {
                return;
            }


            var wapon = wapons[id];


            var aspect = GM.cameras.iface.aspect;


            var scale = new Vector3(1.0f, 1.0f, 0.55f);

            scale = Vector3.Scale(scale, wapon.tf.localScale);


            var showx = (aspect - 0.05f) - wapon.mf.sharedMesh.bounds.max.z * scale.z * 0.7f;

            var showy = (-1.0f + 0.05f) - wapon.mf.sharedMesh.bounds.min.y * scale.y * 2.0f;

            var show = new Vector3(showx, showy, 1.5f);


            var hide = new Vector3(0.0f, 0.0f, 2.0f);


            switch (id)
            {
            case 0:
            {
                hide.x = (aspect + 0.05f) - wapon.mf.sharedMesh.bounds.min.z * scale.z * 0.7f;

                hide.y = showy;

                break;
            }

            case 1:
            {
                hide.x = showx;

                hide.y = (-1.0f - 0.05f) - wapon.mf.sharedMesh.bounds.max.y * scale.y * 2.0f;

                break;
            }
            }


            visualPositions[id].show = show;

            visualPositions[id].hide = hide;

            visualPositions[id].now = hide;

            visualPositions[id].scale = scale;
        }
コード例 #2
0
ファイル: _PlayerShoot3.cs プロジェクト: abarabone/a
        public void buildGuiLocations(WaponHolder wapons)
        {
            visualPositions = new WaponPositionUnit[wapons.length];

            for (var i = 0; i < wapons.length; i++)
            {
                setVisualPosition(wapons, i);
            }

            visualRotation = Quaternion.Euler(new Vector3(320.0f, 90.0f, 0.0f));
        }
コード例 #3
0
ファイル: _PlayerShoot3.cs プロジェクト: abarabone/a
 public abstract void setVisualPosition(WaponHolder wapons, int id);