Commit 493531d2 authored by wanqing's avatar wanqing

修改代码

parent 411c978d
......@@ -4,40 +4,29 @@ using UnityEngine;
public class SecondLevelTrigger : MonoBehaviour
{
//public Transform m_targetTrans;
//private Vector3 m_pos = new Vector3(0.09f, 1.3f, -0.54f);
//private Quaternion m_rotation = Quaternion.Euler(-15,256, -2.594f);
//private void OnTriggerEnter(Collider other)
//{
// if (other.gameObject.CompareTag("Target"))
// {
// BattleCtrl.instance.levelManager.curLevel.chainRopeView.CatchObjEnterTarget();
// BattleCtrl.instance.OnBattleWin();
// m_targetTrans.localPosition = m_pos;
// m_targetTrans.localRotation = m_rotation;
// }
//}
public Transform m_playerTrans;
private bool m_bControl = true;
private float m_speed = 1.0f;
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Player") && m_bControl)
if (other.gameObject.CompareTag("Target") && m_bControl)
{
m_bControl = false;
BattleCtrl.instance.OnBattleWin();
StorageView varView = BattleCtrl.instance.levelManager.curLevel.storageView;
if(varView)
{
varView.EnterTopBox(other.name);
}
}
}
private void Update()
private void OnTriggerExit(Collider other)
{
if(BattleCtrl.instance.isEndBattle)
{
return;
}
if(BattleCtrl.instance.battleUI.IsLeftEmtryBomb && !BattleCtrl.instance.battleUI.IsBombButtonCanInteractable)
if (other.gameObject.CompareTag("Target") && !m_bControl)
{
m_playerTrans.Translate(Vector3.forward * Time.deltaTime * m_speed, Space.Self);
m_bControl = true;
StorageView varView = BattleCtrl.instance.levelManager.curLevel.storageView;
if (varView)
{
varView.ExitTopBox(other.name);
}
}
}
}
......@@ -324,18 +324,24 @@ public class BattleUI : MonoBehaviour
//take按钮
public void OnClickTakeBtn()
{
if(m_bResult)
{
BattleCtrl.instance.OnBattleWin();
}
else
{
BattleCtrl.instance.OnBattleFail();
}
//if(m_bResult)
//{
//}
//else
//{
//}
StorageView varView = BattleCtrl.instance.levelManager.curLevel.storageView;
if(varView)
{
varView.SetResultAnimator(m_bResult);
if(varView.hitTopBoxNum > 0)
{
BattleCtrl.instance.OnBattleFail();
}
else
{
BattleCtrl.instance.OnBattleWin();
}
varView.SetResultAnimator(varView.hitTopBoxNum <= 0);
}
}
//设置take按钮状态
......
......@@ -7,6 +7,7 @@ public class StorageView : MonoBehaviour
public Transform m_targetParentTrans;//障碍物父节点
private MeshCollider[] m_targetTrans;//所有目标
public BoxCollider m_triggerBox;
public BoxCollider m_triggerTopBox;
public Material m_redMat;//红色材质球
public GameObject m_planeObj;//地板
private MeshCollider m_curTargetTrans;//当前抓的目标
......@@ -41,6 +42,8 @@ public class StorageView : MonoBehaviour
private int m_insideBoxNum = 0;
private Animator m_animator;
private bool m_bResult = true;
private int m_hitTopBoxNum = 0;
public int hitTopBoxNum => m_hitTopBoxNum;
// Start is called before the first frame update
void Start()
{
......@@ -145,6 +148,32 @@ public class StorageView : MonoBehaviour
m_insideBoxNum--;
BattleCtrl.instance.battleUI.SetTakeBtnState(m_insideBoxNum >= 3);
}
//碰到顶部盒子
public void EnterTopBox(string name)
{
for (int i = 0; i < m_targetTrans.Length; i++)
{
if (string.Equals(m_targetTrans[i].name, name))
{
m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_redMat;
m_hitTopBoxNum++;
break;
}
}
}
//退出顶部盒子
public void ExitTopBox(string name)
{
for (int i = 0; i < m_targetTrans.Length; i++)
{
if (string.Equals(m_targetTrans[i].name, name))
{
m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_dicMat[m_targetTrans[i]]; ;
m_hitTopBoxNum--;
break;
}
}
}
//退出箱子碰到处理
void UpdateExitBox()
{
......@@ -186,10 +215,10 @@ public class StorageView : MonoBehaviour
{
if(value)
{
for (int i = 0; i < m_targetTrans.Length; i++)
{
m_targetTrans[i].GetComponent<Rigidbody>().isKinematic = true;
}
//for (int i = 0; i < m_targetTrans.Length; i++)
//{
// m_targetTrans[i].GetComponent<Rigidbody>().isKinematic = true;
//}
m_animator.Play("成功动画");
}
else
......@@ -313,14 +342,16 @@ public class StorageView : MonoBehaviour
{
m_dicBox[varBox] = false;
}
m_curTargetTrans.GetComponent<Rigidbody>().isKinematic = false;
Rigidbody varBody = m_curTargetTrans.GetComponent<Rigidbody>();
varBody.constraints = RigidbodyConstraints.None;
varBody.isKinematic = false;
m_curTargetTrans = null;
}
m_collisonTargetTrans = null;
m_bIsCollisonTarget = false;
BattleCtrl.instance.battleUI.SetSymbolPos(0, 0);
CancelDelayMatChangeHandle();
Invoke("DelayMatChangeHandle", 0.5f);
//CancelDelayMatChangeHandle();
//Invoke("DelayMatChangeHandle", 0.5f);
CancelRotateInvoke();
}
void CancelDelayMatChangeHandle()
......@@ -333,47 +364,47 @@ public class StorageView : MonoBehaviour
//延时判断是否需要变化材质球
void DelayMatChangeHandle()
{
bool varBool_ = true;
for (int i = 0; i < m_targetTrans.Length; i++)
{
if (string.Equals(m_targetTrans[i].name, m_modelTorchStr))
{
if(m_targetTrans[i].transform.position.y >= m_modelTorchOverPosY)
{
m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_redMat;
varBool_ = false;
}
else
{
m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_dicMat[m_targetTrans[i]];
}
}
else if (string.Equals(m_targetTrans[i].name, m_modelBinocularStr))
{
if (m_targetTrans[i].transform.position.y >= m_modelBinocularOverPosY)
{
m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_redMat;
varBool_ = false;
}
else
{
m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_dicMat[m_targetTrans[i]];
}
}
else if (string.Equals(m_targetTrans[i].name, m_modelCompassStr))
{
if (m_targetTrans[i].transform.position.y >= m_modelCompassOverPosY)
{
m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_redMat;
varBool_ = false;
}
else
{
m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_dicMat[m_targetTrans[i]];
}
}
}
BattleCtrl.instance.battleUI.SetResultState(varBool_);
//bool varBool_ = true;
//for (int i = 0; i < m_targetTrans.Length; i++)
//{
// if (string.Equals(m_targetTrans[i].name, m_modelTorchStr))
// {
// if(m_targetTrans[i].transform.position.y >= m_modelTorchOverPosY)
// {
// m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_redMat;
// varBool_ = false;
// }
// else
// {
// m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_dicMat[m_targetTrans[i]];
// }
// }
// else if (string.Equals(m_targetTrans[i].name, m_modelBinocularStr))
// {
// if (m_targetTrans[i].transform.position.y >= m_modelBinocularOverPosY)
// {
// m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_redMat;
// varBool_ = false;
// }
// else
// {
// m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_dicMat[m_targetTrans[i]];
// }
// }
// else if (string.Equals(m_targetTrans[i].name, m_modelCompassStr))
// {
// if (m_targetTrans[i].transform.position.y >= m_modelCompassOverPosY)
// {
// m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_redMat;
// varBool_ = false;
// }
// else
// {
// m_targetTrans[i].GetComponent<MeshRenderer>().sharedMaterial = m_dicMat[m_targetTrans[i]];
// }
// }
//}
//BattleCtrl.instance.battleUI.SetResultState(varBool_);
}
//碰到其他目标
public void SetTargetCollison(Transform trans, bool bool_)
......@@ -384,6 +415,7 @@ public class StorageView : MonoBehaviour
void Clicked()
{
m_triggerBox.gameObject.SetActive(false);
m_triggerTopBox.gameObject.SetActive(false);
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit = new RaycastHit();
......@@ -402,16 +434,26 @@ public class StorageView : MonoBehaviour
if (string.Equals(hit.collider.name, m_targetTrans[i].name))
{
m_curTargetTrans = m_targetTrans[i];
m_curTargetTrans.GetComponent<Rigidbody>().isKinematic = true;
Rigidbody varBody = m_curTargetTrans.GetComponent<Rigidbody>();
varBody.isKinematic = true;
varBody.constraints = RigidbodyConstraints.FreezeRotationX | RigidbodyConstraints.FreezeRotationY
| RigidbodyConstraints.FreezeRotationZ;
Quaternion varQua = m_curTargetTrans.transform.rotation;
varQua.x = 0;
varQua.z = 0;
m_curTargetTrans.transform.rotation = varQua;
m_triggerBox.gameObject.SetActive(true);
m_triggerTopBox.gameObject.SetActive(true);
//m_curTargetPosY = m_curTargetTrans.transform.position.y;
//Invoke("DelayInvokeRigidBody", 0.1f);
CancelDelayMatChangeHandle();
if(m_dicMat.ContainsKey(m_curTargetTrans))
//CancelDelayMatChangeHandle();
if (m_dicMat.ContainsKey(m_curTargetTrans))
{
m_curTargetTrans.GetComponent<MeshRenderer>().sharedMaterial = m_dicMat[m_curTargetTrans];
}
RotateInvoke();
break;
}
}
......@@ -442,7 +484,7 @@ public class StorageView : MonoBehaviour
{
GameServices.inputService.pad.onTouchUp -= OnTouchUp;
}
CancelDelayMatChangeHandle();
//CancelDelayMatChangeHandle();
CancelRotateInvoke();
}
}
......@@ -208,6 +208,63 @@ MeshRenderer:
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &1864293459122168787
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6256029887268875712}
- component: {fileID: 4447212718869942585}
- component: {fileID: 1227561657893019951}
m_Layer: 0
m_Name: TriggerResult
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6256029887268875712
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1864293459122168787}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1.3, z: -0.46}
m_LocalScale: {x: 4, y: 0.1, z: 4}
m_Children: []
m_Father: {fileID: 49667949129306736}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!65 &4447212718869942585
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1864293459122168787}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!114 &1227561657893019951
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1864293459122168787}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 368684d5a7e29b64ea5ab38453c7a14a, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &2086491811996493495
GameObject:
m_ObjectHideFlags: 0
......@@ -419,6 +476,7 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_targetParentTrans: {fileID: 357993861636149788}
m_triggerBox: {fileID: 4071438363008510359}
m_triggerTopBox: {fileID: 4447212718869942585}
m_redMat: {fileID: 2100000, guid: 3a9c306a971cce143bc26043250f12a1, type: 2}
m_planeObj: {fileID: 1125055352834747768}
--- !u!65 &4728596101341234241
......@@ -10165,8 +10223,8 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3473543474185922720}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0.88, z: -0.46}
m_LocalScale: {x: 3, y: 2, z: 3}
m_LocalPosition: {x: 0, y: 0.43, z: -0.46}
m_LocalScale: {x: 3, y: 1.5, z: 3}
m_Children: []
m_Father: {fileID: 49667949129306736}
m_RootOrder: 0
......@@ -10224,6 +10282,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1515887742780749322}
- {fileID: 6256029887268875712}
- {fileID: 6758311262854017730}
- {fileID: 5236331008534205326}
- {fileID: 5318628635117229416}
......@@ -10305,7 +10364,7 @@ Transform:
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_Children: []
m_Father: {fileID: 49667949129306736}
m_RootOrder: 3
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &8326111272579648430
MeshFilter:
......@@ -15396,7 +15455,7 @@ Transform:
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_Children: []
m_Father: {fileID: 49667949129306736}
m_RootOrder: 2
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &3852030128466126028
MeshFilter:
......@@ -15912,7 +15971,7 @@ Transform:
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_Children: []
m_Father: {fileID: 49667949129306736}
m_RootOrder: 1
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4983931150213367788
MeshFilter:
......@@ -16421,18 +16480,18 @@ PrefabInstance:
objectReference: {fileID: 2100000, guid: 823ac0e34852f1946b70b81aa0a7763c, type: 2}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 49bd86e2cfdb81d458813d8609a06235, type: 3}
--- !u!1 &3234443793015016273 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 100000, guid: 49bd86e2cfdb81d458813d8609a06235,
type: 3}
m_PrefabInstance: {fileID: 3234443793015049713}
m_PrefabAsset: {fileID: 0}
--- !u!4 &3234443793015445361 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 400000, guid: 49bd86e2cfdb81d458813d8609a06235,
type: 3}
m_PrefabInstance: {fileID: 3234443793015049713}
m_PrefabAsset: {fileID: 0}
--- !u!1 &3234443793015016273 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 100000, guid: 49bd86e2cfdb81d458813d8609a06235,
type: 3}
m_PrefabInstance: {fileID: 3234443793015049713}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &3345215856609346774
PrefabInstance:
m_ObjectHideFlags: 0
......@@ -17070,17 +17129,17 @@ PrefabInstance:
- target: {fileID: -9137923402404751476, guid: a0da0ed1414c2804988bea365cf06a82,
type: 3}
propertyPath: m_LocalRotation.x
value: 0.9953963
value: 0.99539626
objectReference: {fileID: 0}
- target: {fileID: -9137923402404751476, guid: a0da0ed1414c2804988bea365cf06a82,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.000000168444
value: 0.00000016844396
objectReference: {fileID: 0}
- target: {fileID: -9137923402404751476, guid: a0da0ed1414c2804988bea365cf06a82,
type: 3}
propertyPath: m_LocalRotation.z
value: 0.000000168444
value: 0.00000016844396
objectReference: {fileID: 0}
- target: {fileID: -9137923402404751476, guid: a0da0ed1414c2804988bea365cf06a82,
type: 3}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment