Commit be8b4eea authored by wanqing's avatar wanqing

修改代码

parent cb736f37
......@@ -6,16 +6,17 @@ using UnityEngine;
public class FirstLevelTrigger : MonoBehaviour
{
private bool m_bControl = true;
private List<Collider> m_lst = new List<Collider>();
private List<MeshRenderer> m_lst = new List<MeshRenderer>();
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Target"))
{
StorageView varView = BattleCtrl.instance.levelManager.curLevel.storageView;
if(!m_lst.Contains(other))
MeshRenderer varMesh = other.GetComponent<MeshRenderer>();
if (varMesh &&!m_lst.Contains(varMesh))
{
varView.InsideBox(other);
m_lst.Add(other);
m_lst.Add(varMesh);
}
}
}
......@@ -24,10 +25,11 @@ public class FirstLevelTrigger : MonoBehaviour
if (other.gameObject.CompareTag("Target"))
{
StorageView varView = BattleCtrl.instance.levelManager.curLevel.storageView;
if (m_lst.Contains(other))
MeshRenderer varMesh = other.GetComponent<MeshRenderer>();
if (varMesh && m_lst.Contains(varMesh))
{
varView.ExitBox();
m_lst.Remove(other);
m_lst.Remove(varMesh);
}
}
}
......
......@@ -5,7 +5,7 @@ using UnityEngine;
public class SecondLevelTrigger : MonoBehaviour
{
private bool m_bControl = true;
private List<Collider> m_lst = new List<Collider>();
private List<MeshRenderer> m_lst = new List<MeshRenderer>();
private void OnTriggerEnter(Collider other)
{
if (other.gameObject.CompareTag("Target"))
......@@ -13,10 +13,11 @@ public class SecondLevelTrigger : MonoBehaviour
StorageView varView = BattleCtrl.instance.levelManager.curLevel.storageView;
if(varView)
{
if (!m_lst.Contains(other))
MeshRenderer varMesh = other.GetComponent<MeshRenderer>();
if (varMesh && !m_lst.Contains(varMesh))
{
varView.EnterTopBox(other.name);
m_lst.Add(other);
m_lst.Add(varMesh);
}
}
}
......@@ -25,11 +26,20 @@ public class SecondLevelTrigger : MonoBehaviour
{
if (other.gameObject.CompareTag("Target"))
{
SetExit(other);
StorageView varView = BattleCtrl.instance.levelManager.curLevel.storageView;
if (varView)
{
MeshRenderer varMesh = other.GetComponent<MeshRenderer>();
if (varMesh && m_lst.Contains(varMesh))
{
varView.ExitTopBox(other.name);
m_lst.Remove(varMesh);
}
}
}
}
//设置退出
public void SetExit(Collider other)
public void SetExit(MeshRenderer other)
{
StorageView varView = BattleCtrl.instance.levelManager.curLevel.storageView;
if (varView)
......
......@@ -5,7 +5,7 @@ using UnityEngine;
public class StorageView : MonoBehaviour
{
public Transform m_targetParentTrans;//障碍物父节点
private MeshCollider[] m_targetTrans;//所有目标
private MeshRenderer[] m_targetTrans;//所有目标
public BoxCollider m_triggerBox;
public BoxCollider m_triggerTopBox;
public Material m_redMat;//红色材质球
......@@ -14,18 +14,18 @@ public class StorageView : MonoBehaviour
public float m_rotateSpeed = 1.0f;
public Transform m_parent;//父节点
public Animator m_animator;
private MeshCollider m_curTargetTrans;//当前抓的目标
public MeshCollider curTargetTrans => m_curTargetTrans;
private MeshRenderer m_curTargetTrans;//当前抓的目标
public MeshRenderer curTargetTrans => m_curTargetTrans;
private Vector3 m_offset;//偏移值
private Vector3 m_targetScreenVec;//当前物体对应的屏幕坐标
private Transform m_collisonTargetTrans;//碰到的其他目标
private bool m_bIsCollisonTarget = false;//是否碰到了其他目标
private Dictionary<MeshCollider, bool> m_dicBox = new Dictionary<MeshCollider, bool>();
private Dictionary<MeshCollider, bool> m_dicInsideBox = new Dictionary<MeshCollider, bool>();//放入箱子里面的box
private Dictionary<MeshCollider, bool> m_dicInsideCollisonBox = new Dictionary<MeshCollider, bool>();//放入箱子里面的box
private Dictionary<MeshCollider, float> m_dicPos = new Dictionary<MeshCollider, float>();//位置信息
private Dictionary<MeshCollider, Material[]> m_dicMat = new Dictionary<MeshCollider, Material[]>();//材质信息
private Dictionary<MeshCollider, Quaternion> m_dicRotate = new Dictionary<MeshCollider, Quaternion>();//旋转信息
private Dictionary<MeshRenderer, bool> m_dicBox = new Dictionary<MeshRenderer, bool>();
private Dictionary<MeshRenderer, bool> m_dicInsideBox = new Dictionary<MeshRenderer, bool>();//放入箱子里面的box
private Dictionary<MeshRenderer, bool> m_dicInsideCollisonBox = new Dictionary<MeshRenderer, bool>();//放入箱子里面的box
private Dictionary<MeshRenderer, float> m_dicPos = new Dictionary<MeshRenderer, float>();//位置信息
private Dictionary<MeshRenderer, Material[]> m_dicMat = new Dictionary<MeshRenderer, Material[]>();//材质信息
private Dictionary<MeshRenderer, Quaternion> m_dicRotate = new Dictionary<MeshRenderer, Quaternion>();//旋转信息
private Vector3 m_cameraTargetPos = new Vector3(0, 8.7f, -7.68f);//镜头目标位置
private Quaternion m_cameraTargetRotate = Quaternion.Euler(50, 0, 0);//镜头目标旋转
private float m_topHeight = 1.368f;//顶部高度
......@@ -53,10 +53,17 @@ public class StorageView : MonoBehaviour
private int m_TotalNum = 4;//总的道具数量
private MeshCollider m_meshCollider;//自身碰撞网格
private float m_boxHeight = 0.0f;//盒子高度
private float m_specialZLimit = 0.0f;//z轴限制位置
// Start is called before the first frame update
void Start()
{
m_targetTrans = m_targetParentTrans.GetComponentsInChildren<MeshCollider>();
Rigidbody[] varBody = m_targetParentTrans.GetComponentsInChildren<Rigidbody>();
m_targetTrans = new MeshRenderer[varBody.Length];
for(int i = 0;i<varBody.Length;i++)
{
MeshRenderer varMesh = varBody[i].GetComponent<MeshRenderer>();
m_targetTrans[i] = varMesh;
}
for (int i = 0; i < m_targetTrans.Length; i++)
{
......@@ -64,7 +71,7 @@ public class StorageView : MonoBehaviour
m_dicInsideBox.Add(m_targetTrans[i], false);
m_dicInsideCollisonBox.Add(m_targetTrans[i], false);
m_dicPos.Add(m_targetTrans[i], m_targetTrans[i].transform.position.y);
m_dicMat.Add(m_targetTrans[i], m_targetTrans[i].GetComponent<MeshRenderer>().materials);
m_dicMat.Add(m_targetTrans[i], m_targetTrans[i].materials);
m_dicRotate.Add(m_targetTrans[i],m_targetTrans[i].transform.rotation);
}
m_camera = Camera.main;
......@@ -111,7 +118,7 @@ public class StorageView : MonoBehaviour
//}
//else
{
MeshCollider varBox = other.gameObject.GetComponent<MeshCollider>();
MeshRenderer varBox = other.gameObject.GetComponent<MeshRenderer>();
if (m_dicBox.ContainsKey(varBox))
{
m_dicBox[varBox] = true;
......@@ -174,13 +181,13 @@ public class StorageView : MonoBehaviour
{
if(BattleCtrl.instance.battleUI.isDebug)
{
Material[] varMat = m_targetTrans[i].GetComponent<MeshRenderer>().materials;
Material[] varMat = m_targetTrans[i].materials;
Material[] varM = new Material[varMat.Length];
for (int m = 0;m< varMat.Length;m++)
{
varM[m] = m_redMat;
}
m_targetTrans[i].GetComponent<MeshRenderer>().materials = varM;
m_targetTrans[i].materials = varM;
}
else
{
......@@ -207,13 +214,13 @@ public class StorageView : MonoBehaviour
{
if (BattleCtrl.instance.battleUI.isDebug)
{
Material[] varMat = m_targetTrans[i].GetComponent<MeshRenderer>().materials;
Material[] varMat = m_targetTrans[i].materials;
Material[] varM = new Material[varMat.Length];
for (int m = 0; m < varMat.Length; m++)
{
varM[m] = m_dicMat[m_targetTrans[i]][m];
}
m_targetTrans[i].GetComponent<MeshRenderer>().materials = varM;
m_targetTrans[i].materials = varM;
}
m_hitTopBoxNum--;
break;
......@@ -411,6 +418,19 @@ public class StorageView : MonoBehaviour
}
m_targetTrans[i].transform.position = varPos;
}
if(BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelEightIndex ||
BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelNineIndex)
{
for (int i = 0; i < m_targetTrans.Length; i++)
{
Vector3 varPos = m_targetTrans[i].transform.position;
if (varPos.z > m_specialZLimit)
{
varPos.z = m_specialZLimit;
}
m_targetTrans[i].transform.position = varPos;
}
}
}
//UpdateExitBox();
}
......@@ -424,7 +444,7 @@ public class StorageView : MonoBehaviour
{
if (m_curTargetTrans)
{
MeshCollider varBox = m_curTargetTrans.GetComponent<MeshCollider>();
MeshRenderer varBox = m_curTargetTrans.GetComponent<MeshRenderer>();
if (m_dicBox.ContainsKey(varBox))
{
m_dicBox[varBox] = false;
......@@ -559,7 +579,7 @@ public class StorageView : MonoBehaviour
{
if (BattleCtrl.instance.battleUI.isDebug)
{
Material[] varMat = m_curTargetTrans.GetComponent<MeshRenderer>().materials;
Material[] varMat = m_curTargetTrans.materials;
Material[] varM = new Material[varMat.Length];
for (int m = 0; m < varMat.Length; m++)
{
......
......@@ -50684,8 +50684,8 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 112
m_CollisionDetection: 3
--- !u!64 &4048414559974033003
MeshCollider:
--- !u!65 &1408181307263645143
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
......@@ -50694,10 +50694,22 @@ MeshCollider:
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 1
m_CookingOptions: 30
m_Mesh: {fileID: -3762033253158803613, guid: ca98f1c956b47fa4baeaa0f18403194c, type: 3}
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 2}
m_Center: {x: 0, y: 0.52, z: 0.48}
--- !u!65 &7688090605054933489
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3150740576833673954}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 2}
m_Center: {x: 0, y: -0.52, z: -0.48}
--- !u!114 &5773235011476033957
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -51154,8 +51166,8 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 112
m_CollisionDetection: 3
--- !u!64 &7055638506804243532
MeshCollider:
--- !u!65 &2386594704193140858
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
......@@ -51164,10 +51176,22 @@ MeshCollider:
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 1
m_CookingOptions: 30
m_Mesh: {fileID: -3762033253158803613, guid: ca98f1c956b47fa4baeaa0f18403194c, type: 3}
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 2}
m_Center: {x: 0, y: 0.52, z: 0.48}
--- !u!65 &6756177755848535264
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3357986293201791622}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 2}
m_Center: {x: 0, y: -0.52, z: -0.48}
--- !u!114 &5599684638181743838
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -190150,20 +190174,21 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 112
m_CollisionDetection: 3
--- !u!114 &3784848629857036618
MonoBehaviour:
--- !u!65 &533060115264989962
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8667816101904303460}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 520f5f544cbbabf49ab2841d0b218734, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!64 &6776786757161148145
MeshCollider:
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: -0.5, z: 1}
--- !u!65 &4694588252060038779
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
......@@ -190172,10 +190197,21 @@ MeshCollider:
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 1
m_CookingOptions: 30
m_Mesh: {fileID: -8115195092956357391, guid: e5b826e8cccdcb44ba8f973963955bd0, type: 3}
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 3}
m_Center: {x: 0, y: 0.52, z: 0}
--- !u!114 &3784848629857036618
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8667816101904303460}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 520f5f544cbbabf49ab2841d0b218734, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &8704944201271449672
GameObject:
m_ObjectHideFlags: 0
......@@ -213917,18 +213953,18 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 74345e650be006046bdb1823b5713571, type: 3}
--- !u!4 &5030213245719665971 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -4216859302048453862, guid: 74345e650be006046bdb1823b5713571,
type: 3}
m_PrefabInstance: {fileID: 50767223015110185}
m_PrefabAsset: {fileID: 0}
--- !u!1 &8328758332286512928 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: -927199367670048503, guid: 74345e650be006046bdb1823b5713571,
type: 3}
m_PrefabInstance: {fileID: 50767223015110185}
m_PrefabAsset: {fileID: 0}
--- !u!4 &5030213245719665971 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -4216859302048453862, guid: 74345e650be006046bdb1823b5713571,
type: 3}
m_PrefabInstance: {fileID: 50767223015110185}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &822938018257411181
PrefabInstance:
m_ObjectHideFlags: 0
......@@ -214204,18 +214240,18 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 74345e650be006046bdb1823b5713571, type: 3}
--- !u!1 &3480281719858884452 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: -927199367670048503, guid: 74345e650be006046bdb1823b5713571,
type: 3}
m_PrefabInstance: {fileID: 4858712052454536813}
m_PrefabAsset: {fileID: 0}
--- !u!4 &438863537908981111 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -4216859302048453862, guid: 74345e650be006046bdb1823b5713571,
type: 3}
m_PrefabInstance: {fileID: 4858712052454536813}
m_PrefabAsset: {fileID: 0}
--- !u!1 &3480281719858884452 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: -927199367670048503, guid: 74345e650be006046bdb1823b5713571,
type: 3}
m_PrefabInstance: {fileID: 4858712052454536813}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &6383923708454224875
PrefabInstance:
m_ObjectHideFlags: 0
......@@ -214226,7 +214262,7 @@ PrefabInstance:
- target: {fileID: -4216859302048453862, guid: ca98f1c956b47fa4baeaa0f18403194c,
type: 3}
propertyPath: m_LocalPosition.x
value: 1.15
value: 1.129
objectReference: {fileID: 0}
- target: {fileID: -4216859302048453862, guid: ca98f1c956b47fa4baeaa0f18403194c,
type: 3}
......@@ -214236,7 +214272,7 @@ PrefabInstance:
- target: {fileID: -4216859302048453862, guid: ca98f1c956b47fa4baeaa0f18403194c,
type: 3}
propertyPath: m_LocalPosition.z
value: -4.88
value: -4.932
objectReference: {fileID: 0}
- target: {fileID: -4216859302048453862, guid: ca98f1c956b47fa4baeaa0f18403194c,
type: 3}
......@@ -214416,18 +214452,18 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 8a628f088386abc49b86747b337f3393, type: 3}
--- !u!1 &3440802519935488829 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: -927199367670048503, guid: 8a628f088386abc49b86747b337f3393,
type: 3}
m_PrefabInstance: {fileID: 6692844646995413556}
m_PrefabAsset: {fileID: 0}
--- !u!4 &1845198702332928302 stripped
Transform:
m_CorrespondingSourceObject: {fileID: -4216859302048453862, guid: 8a628f088386abc49b86747b337f3393,
type: 3}
m_PrefabInstance: {fileID: 6692844646995413556}
m_PrefabAsset: {fileID: 0}
--- !u!1 &3440802519935488829 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: -927199367670048503, guid: 8a628f088386abc49b86747b337f3393,
type: 3}
m_PrefabInstance: {fileID: 6692844646995413556}
m_PrefabAsset: {fileID: 0}
--- !u!1001 &6753178051370234767
PrefabInstance:
m_ObjectHideFlags: 0
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