diff options
Diffstat (limited to 'Client/Assets/Scripts/DragonExpedition')
4 files changed, 121 insertions, 0 deletions
diff --git a/Client/Assets/Scripts/DragonExpedition/DragonExpeditionGateMono.cs b/Client/Assets/Scripts/DragonExpedition/DragonExpeditionGateMono.cs new file mode 100644 index 00000000..916c2e1b --- /dev/null +++ b/Client/Assets/Scripts/DragonExpedition/DragonExpeditionGateMono.cs @@ -0,0 +1,15 @@ +using UnityEngine;
+using System.Collections;
+
+[RequireComponent(typeof(BoxCollider))]
+[RequireComponent(typeof(Rigidbody))]
+public class DragonExpeditionGateMono : MonoBehaviour
+{
+ Rigidbody rb;
+
+ void Start ()
+ {
+ rb = GetComponent<Rigidbody>();
+ rb.useGravity = false;
+ }
+}
diff --git a/Client/Assets/Scripts/DragonExpedition/DragonExpeditionGateMono.cs.meta b/Client/Assets/Scripts/DragonExpedition/DragonExpeditionGateMono.cs.meta new file mode 100644 index 00000000..7d383297 --- /dev/null +++ b/Client/Assets/Scripts/DragonExpedition/DragonExpeditionGateMono.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: 79e52564a32638b4c9b4b76f666631a9
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
diff --git a/Client/Assets/Scripts/DragonExpedition/XDragonExpedition.cs b/Client/Assets/Scripts/DragonExpedition/XDragonExpedition.cs new file mode 100644 index 00000000..6461871c --- /dev/null +++ b/Client/Assets/Scripts/DragonExpedition/XDragonExpedition.cs @@ -0,0 +1,90 @@ +using UnityEngine;
+using System.Collections;
+using XUtliPoolLib;
+using System;
+
+public class XDragonExpedition : MonoBehaviour, IXDragonExpedition
+{
+ #region 接口
+ public void Drag(float delta)
+ {
+ MoveCamera(delta);
+ }
+
+ public void Assign(float delta)
+ {
+ AssignCamera(delta);
+ }
+
+ public Transform GetGO(string name)
+ {
+ return transform.Find(name);
+ }
+
+ public void SetLimitPos(float MinPos)
+ {
+ MIN_POS = MinPos;
+ }
+
+ RaycastHit[] hits = null;
+
+ public GameObject Click()
+ {
+ //Vector3 pos = mCamera.ScreenToViewportPoint(Input.mousePosition);
+
+ Ray ray = mCamera.ScreenPointToRay(Input.mousePosition);
+
+ float dist = mCamera.farClipPlane - mCamera.nearClipPlane;
+
+ hits = Physics.RaycastAll(ray, dist);
+ for (int i = 0; i < hits.Length; ++i)
+ {
+ if (hits[i].collider.gameObject.name.StartsWith("building"))
+ return hits[i].collider.gameObject;
+ }
+
+ return null;
+ }
+
+ public Camera GetDragonCamera()
+ {
+ return mCamera;
+ }
+
+ #endregion
+
+ void Start()
+ {
+ curPos = mCamera.transform.localPosition;
+ }
+
+ public Camera mCamera = null;
+
+ public float MoveSpeed = 5;
+
+ public float MIN_POS = 0;
+
+ public float MAX_POS = 100;
+
+ Vector3 curPos = Vector3.zero;
+
+ void MoveCamera(float delta)
+ {
+ curPos.x += delta * MoveSpeed;
+
+ if (curPos.x < MIN_POS) curPos.x = MIN_POS;
+ if (curPos.x > MAX_POS) curPos.x = MAX_POS;
+
+ mCamera.transform.localPosition = curPos;
+ }
+
+ void AssignCamera(float delta)
+ {
+ Vector3 pos = mCamera.transform.localPosition;
+ pos.x = delta;
+ if (pos.x < MIN_POS) pos.x = MIN_POS;
+ if (pos.x > MAX_POS) pos.x = MAX_POS;
+ curPos.x = pos.x;
+ mCamera.transform.localPosition = pos;
+ }
+}
diff --git a/Client/Assets/Scripts/DragonExpedition/XDragonExpedition.cs.meta b/Client/Assets/Scripts/DragonExpedition/XDragonExpedition.cs.meta new file mode 100644 index 00000000..2768aab0 --- /dev/null +++ b/Client/Assets/Scripts/DragonExpedition/XDragonExpedition.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2
+guid: 7553e8b3c1c460547aa8d1f6e681dd02
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
|