Commit 8f677b61 authored by wanqing's avatar wanqing

需求修改

parent 14b76d7c
......@@ -83,6 +83,7 @@
<Compile Include="Assets\#E1_Plugins\RayFire\Scripts\Editor\RayfireUnyieldingEditor.cs" />
<Compile Include="Assets\#E1_Plugins\RayFire\Scripts\Editor\RayfireVortexEditor.cs" />
<Compile Include="Assets\#E1_Plugins\RayFire\Scripts\Editor\RayfireWindEditor.cs" />
<Compile Include="Assets\Editor\LargeMagnetEditor.cs" />
<Reference Include="UnityEngine">
<HintPath>D:/wan/unity2019.3.14path/Unity/Editor/Data/Managed/UnityEngine/UnityEngine.dll</HintPath>
</Reference>
......
......@@ -85,6 +85,8 @@
<Compile Include="Assets\#A2_Scripts\Battle\Magnet\bullet\BulletDamageView.cs" />
<Compile Include="Assets\#A2_Scripts\Battle\Magnet\bullet\BulletNorthView.cs" />
<Compile Include="Assets\#A2_Scripts\Battle\Magnet\bullet\BulletSouthView.cs" />
<Compile Include="Assets\#A2_Scripts\Battle\Magnet\bullet\BulletTypeEightView.cs" />
<Compile Include="Assets\#A2_Scripts\Battle\Magnet\bullet\BulletTypeFourView.cs" />
<Compile Include="Assets\#A2_Scripts\Battle\Trigger\FifthLevelTrigger.cs" />
<Compile Include="Assets\#A2_Scripts\Battle\Trigger\FirstLevelTrigger.cs" />
<Compile Include="Assets\#A2_Scripts\Battle\Trigger\FourthLevelTrigger.cs" />
......
......@@ -279,6 +279,49 @@ MonoBehaviour:
m_EditorClassIdentifier:
battleUI: {fileID: 8105271971488639994}
m_levelManager: {fileID: 186647396}
--- !u!1 &954580481
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 954580483}
- component: {fileID: 954580482}
m_Layer: 0
m_Name: ResourceManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &954580482
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 954580481}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3fa94291cbdb37f44bf84f0ce51b9af5, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &954580483
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 954580481}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1872965180
GameObject:
m_ObjectHideFlags: 0
......@@ -359,12 +402,18 @@ MonoBehaviour:
type: 3}
m_doorObj: {fileID: 4533096668072911434, guid: e6aa184cf878a1a46913a368a4947914,
type: 3}
m_keyObj: {fileID: 4852870513417518246, guid: 765a21b5ca9d86f479b490b5c450519e,
m_key1Obj: {fileID: 4852870513417518246, guid: 765a21b5ca9d86f479b490b5c450519e,
type: 3}
m_key2Obj: {fileID: 4852870513417518246, guid: 65afe46c278c1e34d97fbefaf09ffc86,
type: 3}
m_npcObj: {fileID: 7619189798056536660, guid: ea61a5b2c0c302940997325fce33771a,
type: 3}
m_bossObj: {fileID: 4219960461894142409, guid: 78ebb90e56d81fe49a6f3797856b2b9f,
type: 3}
m_bulletFourObj: {fileID: 4415415494409766489, guid: ca3c444700623e2469a411ddd8bc4a47,
type: 3}
m_bulletEightObj: {fileID: 1737873234563557956, guid: 20ce7b4857448314a991c3a86b2a6209,
type: 3}
--- !u!1001 &173206295174090797
PrefabInstance:
m_ObjectHideFlags: 0
......
......@@ -4,10 +4,10 @@ using UnityEngine;
public class BossView : MonoBehaviour
{
[Header("子弹父节点")]
public Transform m_parent;
[Header("旋转速度")]
public float m_rotateSpeed = 0.0f;
//[Header("子弹父节点")]
//public Transform m_parent;
//[Header("旋转速度")]
//public float m_rotateSpeed = 0.0f;
[Header("过多久发射子弹")]
public float m_waitTime = 0.0f;
[Header("发射子弹间隔时间")]
......@@ -18,27 +18,33 @@ public class BossView : MonoBehaviour
public float m_moveSpeed = 0.0f;
private Animator m_animator;
private Transform[] m_bulletTrans;
//private Transform[] m_bulletTrans;
private float m_time = 0.0f;
private bool m_bControl = false;
private int m_index = 1;
private List<Vector3> m_startPosList = new List<Vector3>();//初始位置
//private List<Vector3> m_startPosList = new List<Vector3>();//初始位置
private Vector3 m_movePointA;
private Vector3 m_movePointB;
private bool m_bIsForWard = true;//是否正向运动,开始默认正向
private bool m_bIsDie = false;//是否死亡
private GameObject m_curBulletObj;//当前子弹
// Start is called before the first frame update
void Start()
{
m_animator = GetComponent<Animator>();
m_animator.Play("Run");
m_bulletTrans = m_parent.GetComponentsInChildren<Transform>();
for (int i = 1; i < m_bulletTrans.Length; i++)
{
m_startPosList.Add(m_bulletTrans[i].localPosition);
}
m_animator.Play("Idle");
m_movePointA = new Vector3(transform.position.x, transform.position.y, 3);
m_movePointB = new Vector3(transform.position.x, transform.position.y, -3);
//做法1
//m_animator = GetComponent<Animator>();
//m_animator.Play("Run");
//m_bulletTrans = m_parent.GetComponentsInChildren<Transform>();
//for (int i = 1; i < m_bulletTrans.Length; i++)
//{
// m_startPosList.Add(m_bulletTrans[i].localPosition);
//}
//m_movePointA = new Vector3(transform.position.x, transform.position.y, 3);
//m_movePointB = new Vector3(transform.position.x, transform.position.y, -3);
}
//死亡
public void Die()
......@@ -50,30 +56,37 @@ public class BossView : MonoBehaviour
public void ResetState()
{
m_bIsDie = false;
m_animator.Play("Run");
m_animator.Play("Idle");
m_time = 0.0f;
m_index = 1;
m_bControl = false;
CancelInvokeBullet();
for (int i = 1; i < m_bulletTrans.Length; i++)
{
BulletDamageView varDamage = m_bulletTrans[i].GetComponent<BulletDamageView>();
if (varDamage)
{
varDamage.ResetState();
}
BulletSouthView varSouth = m_bulletTrans[i].GetComponent<BulletSouthView>();
if (varSouth)
{
varSouth.ResetState();
}
BulletNorthView varNorth = m_bulletTrans[i].GetComponent<BulletNorthView>();
if (varNorth)
{
varNorth.ResetState();
}
m_bulletTrans[i].localPosition = m_startPosList[i - 1];
}
//做法1
//m_bIsDie = false;
//m_animator.Play("Run");
//m_time = 0.0f;
//m_index = 1;
//m_bControl = false;
//CancelInvokeBullet();
//for (int i = 1; i < m_bulletTrans.Length; i++)
//{
// BulletDamageView varDamage = m_bulletTrans[i].GetComponent<BulletDamageView>();
// if (varDamage)
// {
// varDamage.ResetState();
// }
// BulletSouthView varSouth = m_bulletTrans[i].GetComponent<BulletSouthView>();
// if (varSouth)
// {
// varSouth.ResetState();
// }
// BulletNorthView varNorth = m_bulletTrans[i].GetComponent<BulletNorthView>();
// if (varNorth)
// {
// varNorth.ResetState();
// }
// m_bulletTrans[i].localPosition = m_startPosList[i - 1];
//}
}
//碰到子弹
private void OnCollisionEnter(Collision other)
......@@ -93,49 +106,121 @@ public class BossView : MonoBehaviour
varSouthBullet.SetActiveState(false);
}
}
if (other.collider.CompareTag("Player"))
{
TrapView varTrapView = GetComponent<TrapView>();
if (varTrapView && varTrapView.enabled)
{
BattleCtrl.instance.battleUI.ReduceBlood(varTrapView.damage);
}
}
//做法1
//if (other.collider.CompareTag("Bullet"))
//{
// BulletNorthView varNorthBullet = other.collider.GetComponent<BulletNorthView>();
// if (varNorthBullet)
// {
// BattleCtrl.instance.battleUI.ReduceBossBlood();
// varNorthBullet.SetActiveState(false);
// }
// BulletSouthView varSouthBullet = other.collider.GetComponent<BulletSouthView>();
// if (varSouthBullet)
// {
// BattleCtrl.instance.battleUI.ReduceBossBlood();
// varSouthBullet.SetActiveState(false);
// }
//}
//if (other.collider.CompareTag("Player"))
//{
// TrapView varTrapView = GetComponent<TrapView>();
// if (varTrapView && varTrapView.enabled)
// {
// BattleCtrl.instance.battleUI.ReduceBlood(1);
// }
//}
}
// Update is called once per frame
void Update()
{
m_time += Time.deltaTime;
if(m_time >= m_waitTime && !m_bControl)
if (m_time >= m_waitTime && !m_bControl)
{
m_bControl = true;
InvokeRepeating("SendBullet", 0.0f, m_intervalTime);
}
for (int i = 1; i < m_bulletTrans.Length; i++)
{
if(i >= m_index)
{
m_bulletTrans[i].transform.RotateAround(transform.position, -transform.up, Time.deltaTime * m_rotateSpeed);
}
}
//做法1
//m_time += Time.deltaTime;
//if(m_time >= m_waitTime && !m_bControl)
//{
// m_bControl = true;
// InvokeRepeating("SendBullet", 0.0f, m_intervalTime);
//}
//for (int i = 1; i < m_bulletTrans.Length; i++)
//{
// if(i >= m_index)
// {
// m_bulletTrans[i].transform.RotateAround(transform.position, -transform.up, Time.deltaTime * m_rotateSpeed);
// }
//}
UpdateUIBossBloodPos();
UpdateMove();
}
//发射子弹
void SendBullet()
{
if(m_index >= m_bulletTrans.Length)
if(BattleCtrl.instance.isEndBattle)
{
CancelInvokeBullet();
return;
}
m_index++;
BulletDamageView varDamage = m_bulletTrans[m_index - 1].GetComponent<BulletDamageView>();
if(varDamage)
int varRand = Random.Range(0, 3);
if(varRand == 0)
{
varDamage.StartMove(m_parent);
}
BulletSouthView varSouth = m_bulletTrans[m_index - 1].GetComponent<BulletSouthView>();
if (varSouth)
m_curBulletObj = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.bulletFourObj);
m_curBulletObj.transform.SetParent(transform);
m_curBulletObj.transform.localPosition = Vector3.zero;
m_curBulletObj.transform.localRotation = Quaternion.identity;
m_curBulletObj.transform.localScale = Vector3.one;
BulletTypeFourView varView = m_curBulletObj.GetComponent<BulletTypeFourView>();
if(varView)
{
varSouth.StartMove(m_parent);
varView.Init();
}
BulletNorthView varNorth = m_bulletTrans[m_index - 1].GetComponent<BulletNorthView>();
if (varNorth)
{
varNorth.StartMove(m_parent);
}
else
{
m_curBulletObj = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.bulletEightObj);
m_curBulletObj.transform.SetParent(transform);
m_curBulletObj.transform.localPosition = Vector3.zero;
m_curBulletObj.transform.localRotation = Quaternion.identity;
m_curBulletObj.transform.localScale = Vector3.one;
BulletTypeEightView varView = m_curBulletObj.GetComponent<BulletTypeEightView>();
if (varView)
{
varView.Init();
}
}
//做法1
//if(m_index >= m_bulletTrans.Length)
//{
// return;
//}
//m_index++;
//BulletDamageView varDamage = m_bulletTrans[m_index - 1].GetComponent<BulletDamageView>();
//if(varDamage)
//{
// varDamage.StartMove(m_parent);
//}
//BulletSouthView varSouth = m_bulletTrans[m_index - 1].GetComponent<BulletSouthView>();
//if (varSouth)
//{
// varSouth.StartMove(m_parent);
//}
//BulletNorthView varNorth = m_bulletTrans[m_index - 1].GetComponent<BulletNorthView>();
//if (varNorth)
//{
// varNorth.StartMove(m_parent);
//}
}
//更新UI血量位置
void UpdateUIBossBloodPos()
......
......@@ -4,6 +4,8 @@ using UnityEngine;
public class DoorView : MonoBehaviour
{
[Header("通关的钥匙id")]
public int m_keyId = 0;
//public Transform m_triggerTrans;
private bool m_bControlCollison = false;
private void OnTriggerEnter(Collider other)
......@@ -11,7 +13,7 @@ public class DoorView : MonoBehaviour
if (other.CompareTag("Player") && !m_bControlCollison)
{
m_bControlCollison = true;
if (BattleCtrl.instance.battleUI.keyNum > 0)
if (BattleCtrl.instance.battleUI.keyId == m_keyId)
{
BattleCtrl.instance.OnBattleWin();
}
......
......@@ -4,6 +4,8 @@ using UnityEngine;
public class KeyView : MonoBehaviour
{
[Header("钥匙id")]
public int m_keyId = 0;
private bool m_bControlCollison = false;
private void OnEnable()
{
......@@ -18,7 +20,7 @@ public class KeyView : MonoBehaviour
if (other.collider.CompareTag("Player") && !m_bControlCollison)
{
m_bControlCollison = true;
BattleCtrl.instance.battleUI.AddKey();
BattleCtrl.instance.battleUI.SetKeyId(m_keyId);
gameObject.SetActive(false);
}
}
......
......@@ -4,13 +4,21 @@ using UnityEngine;
public class LargeMagnetView : MonoBehaviour
{
[Header("是否开启")]
public bool m_isOpen = false;
[Header("磁场范围")]
[Range(0, 20)]
public float m_range = 0.0f;
[Header("磁场强度")]
public float m_power = 0.0f;
//[Header("是否开启")]
//public bool m_isOpen = false;
//[Header("磁场范围")]
//[Range(0, 20)]
//public float m_range = 0.0f;
//[Header("磁场强度")]
//public float m_power = 0.0f;
[Header("磁极")]
public PoleType m_poleType = PoleType.PT_South;
[Header("是否变换磁极")]
public bool m_bIsChangePole = false;
[Header("循环间隔")]
public float m_changePoleLoopTime = 0.0f;
[Header("磁极自动转换列表")]
public List<int> m_poleList;
[Header("是否生成机关")]
public bool m_bIsTrigger = false;
[Header("生成机关位置")]
......@@ -23,18 +31,26 @@ public class LargeMagnetView : MonoBehaviour
public Material m_southMat;
[Header("北极材质")]
public Material m_northMat;
[Header("无磁极材质")]
public Material m_noPoleMat;
public MeshRenderer[] m_poleMR;//mesh
private bool m_bControlCollison = true;
private GameObject m_triggerObj;//机关
private bool m_bSouthPole = true;//默认南极
//private bool m_bSouthPole = true;//默认南极
//private int m_curPole = GlobalConfig.SouthPole;//默认南极
private bool m_bAddPower = false;//增加磁力
private bool m_bTrap = false;//设置陷阱
private TrapView m_trapView;//陷阱脚本
private MoveView m_moveView;//移动触发器
private Rigidbody m_rigidBody;
private bool m_bControlPole = true;
private string m_strSetMagnetChangeLoop = "SetMagnetChangeLoop";
private int m_curChangeIndex = 0;
// Update is called once per frame
private void Start()
{
m_rigidBody = GetComponent<Rigidbody>();
}
private void OnCollisionEnter(Collision other)
{
......@@ -44,7 +60,7 @@ public class LargeMagnetView : MonoBehaviour
m_trapView = GetComponent<TrapView>();
if (m_trapView && m_trapView.enabled)
{
BattleCtrl.instance.battleUI.ReduceBlood();
BattleCtrl.instance.battleUI.ReduceBlood(m_trapView.damage);
}
}
}
......@@ -66,26 +82,69 @@ public class LargeMagnetView : MonoBehaviour
//设置磁极变换
public void SetMagnetChange()
{
m_bSouthPole = !m_bSouthPole;
for (int i = 0; i < m_poleMR.Length; i++)
m_bIsChangePole = true;
//m_bSouthPole = !m_bSouthPole;
//for (int i = 0; i < m_poleMR.Length; i++)
//{
// m_poleMR[i].sharedMaterial = m_bSouthPole ? m_southMat : m_northMat;
//}
//m_southObj.SetActive(m_bSouthPole);
//m_northObj.SetActive(!m_bSouthPole);
}
//磁极转换循环
void SetMagnetChangeLoop()
{
if(m_poleList[m_curChangeIndex] == GlobalConfig.PT_South)
{
m_poleMR[i].sharedMaterial = m_bSouthPole ? m_southMat : m_northMat;
m_poleType = PoleType.PT_South;
}
m_southObj.SetActive(m_bSouthPole);
m_northObj.SetActive(!m_bSouthPole);
else if(m_poleList[m_curChangeIndex] == GlobalConfig.PT_North)
{
m_poleType = PoleType.PT_North;
}
//设置磁力变化
public void SetMagnetPower(float addPower)
else
{
m_poleType = PoleType.PT_No;
}
m_curChangeIndex++;
if(m_curChangeIndex >= m_poleList.Count)
{
m_curChangeIndex = 0;
}
}
//材质变换
void UpdateMatState()
{
for (int i = 0; i < m_poleMR.Length; i++)
{
m_bAddPower = !m_bAddPower;
if(m_bAddPower)
if (m_poleType == PoleType.PT_South)
{
m_power += addPower;
m_poleMR[i].sharedMaterial = m_southMat;
}
else if (m_poleType == PoleType.PT_North)
{
m_poleMR[i].sharedMaterial = m_northMat;
}
else
{
m_power -= addPower;
m_poleMR[i].sharedMaterial = m_noPoleMat;
}
}
m_southObj.SetActive(m_poleType == PoleType.PT_South);
m_northObj.SetActive(m_poleType == PoleType.PT_North);
}
//设置磁力变化
public void SetMagnetPower(float addPower)
{
//m_bAddPower = !m_bAddPower;
//if(m_bAddPower)
//{
// m_power += addPower;
//}
//else
//{
// m_power -= addPower;
//}
}
//设置陷阱状态
public void SetTrap()
......@@ -112,22 +171,34 @@ public class LargeMagnetView : MonoBehaviour
}
}
void Update()
{
if(m_isOpen)
{
MagnetView varPlayer = BattleCtrl.instance.levelManager.curLevel.magnetView;
Vector3 varDir = varPlayer.transform.position - transform.position;
if (varPlayer && Vector3.SqrMagnitude(varDir) <= m_range*m_range)
if (varPlayer.isOpen)
{
Vector3 varDir = transform.position - varPlayer.transform.position;
if (varPlayer && Vector3.SqrMagnitude(varDir) <= varPlayer .magnetRange* varPlayer.magnetRange)
{
if(varPlayer.isSouthPole)
{
float varPole = m_bSouthPole ? 1 : -1;
varPlayer.AddForce(varPole * varDir.normalized * m_power);
if (m_poleType == PoleType.PT_South)
{
m_rigidBody.AddForce(varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
else if (m_poleType == PoleType.PT_North)
{
m_rigidBody.AddForce(-varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
}
else
{
float varPole = !m_bSouthPole ? 1 : -1;
varPlayer.AddForce(varPole * varDir.normalized * m_power);
if (m_poleType == PoleType.PT_South)
{
m_rigidBody.AddForce(-varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
else if (m_poleType == PoleType.PT_North)
{
m_rigidBody.AddForce(varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
}
}
}
......@@ -140,5 +211,32 @@ public class LargeMagnetView : MonoBehaviour
m_triggerObj.GetComponent<TriggerView>().SetLargeAttach(this);
}
}
//磁极变换
if (m_bIsChangePole)
{
if(m_bControlPole)
{
m_bControlPole = false;
InvokeRepeating(m_strSetMagnetChangeLoop, 0.2f, m_changePoleLoopTime);
}
}
else
{
m_bControlPole = true;
CancelInvokeMagnetChange();
}
UpdateMatState();
}
//取消循环
void CancelInvokeMagnetChange()
{
if (IsInvoking(m_strSetMagnetChangeLoop))
{
CancelInvoke(m_strSetMagnetChangeLoop);
}
}
private void OnDestroy()
{
CancelInvokeMagnetChange();
}
}
......@@ -10,6 +10,8 @@ public class MagnetView : MonoBehaviour
[Header("移动速度")]
public float m_moveSpeed = 0.0f;
[Header("是否开启磁场效果")]
public bool m_isOpen = false;
[Header("磁场范围")]
[Range(0, 20)]
public float m_range = 0.0f;
......@@ -31,6 +33,7 @@ public class MagnetView : MonoBehaviour
public float magnetRange => m_range;
public float magnetPower => m_power;
public float disBulletAttach => m_disBulletAttach;
public bool isOpen => m_isOpen;
private bool m_bSouthPole = true;//默认南极
public bool isSouthPole => m_bSouthPole;
private Rigidbody m_rigidBody;//刚体
......@@ -54,12 +57,25 @@ public class MagnetView : MonoBehaviour
{
if (other.collider.CompareTag("Bullet"))
{
BulletDamageView varBullet = other.collider.GetComponent<BulletDamageView>();
if (varBullet)
BulletSouthView varSouth = other.collider.GetComponent<BulletSouthView>();
if (varSouth)
{
BattleCtrl.instance.battleUI.ReduceBlood();
varBullet.SetActiveState(false);
BattleCtrl.instance.battleUI.ReduceBlood(1);
varSouth.SetActiveState(false);
}
BulletNorthView varNorth = other.collider.GetComponent<BulletNorthView>();
if (varNorth)
{
BattleCtrl.instance.battleUI.ReduceBlood(1);
varNorth.SetActiveState(false);
}
//做法1
//BulletDamageView varBullet = other.collider.GetComponent<BulletDamageView>();
//if (varBullet)
//{
// BattleCtrl.instance.battleUI.ReduceBlood(1);
// varBullet.SetActiveState(false);
//}
}
}
//受磁铁作用力
......
......@@ -8,7 +8,7 @@ public class MoveView : MonoBehaviour
[Header("是否移动")]
public bool m_isMove = false;
[Header("移动点")]
public Vector3 m_movePoint = Vector3.zero;
public Vector3[] m_movePoint;
[Header("正向速度")]
public float m_forwardSpeed = 0.0f;
[Header("反向速度")]
......@@ -16,11 +16,17 @@ public class MoveView : MonoBehaviour
private bool m_bIsForWard = true;//是否正向运动,开始默认正向
private Vector3 m_startPos = Vector3.zero;//开始的位置
private int m_curIndex = 0;//当前路径节点
private bool m_bControlFinishNode = false;//控制完成一个节点
private void Start()
{
m_startPos = transform.position;
}
//延时处理
void DelayHandle()
{
m_bControlFinishNode = false;
}
// Update is called once per frame
void Update()
{
......@@ -28,13 +34,19 @@ public class MoveView : MonoBehaviour
{
if(m_bIsForWard)
{
Vector3 varDir = m_movePoint - transform.position;
Vector3 varDir = m_movePoint[m_curIndex] - transform.position;
transform.position += varDir.normalized * Time.deltaTime * m_forwardSpeed;
if(Vector3.SqrMagnitude(varDir) <= 0.2f)
if(Vector3.SqrMagnitude(varDir) <= 0.2f && !m_bControlFinishNode)
{
m_bControlFinishNode = true;
m_curIndex++;
Invoke("DelayHandle", 0.1f);
if(m_curIndex == m_movePoint.Length)
{
m_bIsForWard = false;
}
}
}
else
{
Vector3 varDir = m_startPos - transform.position;
......@@ -42,6 +54,7 @@ public class MoveView : MonoBehaviour
if (Vector3.SqrMagnitude(varDir) <= 0.2f)
{
m_bIsForWard = true;
m_curIndex = 0;
}
}
}
......
......@@ -4,13 +4,21 @@ using UnityEngine;
public class SmallMagnetView : MonoBehaviour
{
[Header("是否开启")]
public bool m_isOpen = false;
[Header("磁场范围")]
[Range(0, 20)]
public float m_range = 0.0f;
[Header("磁场强度")]
public float m_power = 0.0f;
//[Header("是否开启")]
//public bool m_isOpen = false;
//[Header("磁场范围")]
//[Range(0, 20)]
//public float m_range = 0.0f;
//[Header("磁场强度")]
//public float m_power = 0.0f;
[Header("磁极")]
public PoleType m_poleType = PoleType.PT_South;
[Header("是否变换磁极")]
public bool m_bIsChangePole = false;
[Header("循环间隔")]
public float m_changePoleLoopTime = 0.0f;
[Header("磁极自动转换列表")]
public List<int> m_poleList;
[Header("是否生成机关")]
public bool m_bIsTrigger = false;
[Header("生成机关位置")]
......@@ -23,18 +31,26 @@ public class SmallMagnetView : MonoBehaviour
public Material m_southMat;
[Header("北极材质")]
public Material m_northMat;
[Header("无磁极材质")]
public Material m_noPoleMat;
public MeshRenderer[] m_poleMR;//mesh
private bool m_bControlCollison = true;
private GameObject m_triggerObj;//机关
private bool m_bSouthPole = true;//默认南极
//private bool m_bSouthPole = true;//默认南极
//private int m_curPole = GlobalConfig.SouthPole;//默认南极
private bool m_bAddPower = false;//增加磁力
private bool m_bTrap = false;//设置陷阱
private TrapView m_trapView;//陷阱脚本
private MoveView m_moveView;//移动触发器
private Rigidbody m_rigidBody;
private bool m_bControlPole = true;
private string m_strSetMagnetChangeLoop = "SetMagnetChangeLoop";
private int m_curChangeIndex = 0;
// Update is called once per frame
private void Start()
{
m_rigidBody = GetComponent<Rigidbody>();
}
private void OnCollisionEnter(Collision other)
{
......@@ -44,7 +60,7 @@ public class SmallMagnetView : MonoBehaviour
m_trapView = GetComponent<TrapView>();
if (m_trapView && m_trapView.enabled)
{
BattleCtrl.instance.battleUI.ReduceBlood();
BattleCtrl.instance.battleUI.ReduceBlood(m_trapView.damage);
}
}
}
......@@ -66,26 +82,69 @@ public class SmallMagnetView : MonoBehaviour
//设置磁极变换
public void SetMagnetChange()
{
m_bSouthPole = !m_bSouthPole;
for (int i = 0; i < m_poleMR.Length; i++)
m_bIsChangePole = true;
//m_bSouthPole = !m_bSouthPole;
//for (int i = 0; i < m_poleMR.Length; i++)
//{
// m_poleMR[i].sharedMaterial = m_bSouthPole ? m_southMat : m_northMat;
//}
//m_southObj.SetActive(m_bSouthPole);
//m_northObj.SetActive(!m_bSouthPole);
}
//磁极转换循环
void SetMagnetChangeLoop()
{
if (m_poleList[m_curChangeIndex] == GlobalConfig.PT_South)
{
m_poleMR[i].sharedMaterial = m_bSouthPole ? m_southMat : m_northMat;
m_poleType = PoleType.PT_South;
}
m_southObj.SetActive(m_bSouthPole);
m_northObj.SetActive(!m_bSouthPole);
else if (m_poleList[m_curChangeIndex] == GlobalConfig.PT_North)
{
m_poleType = PoleType.PT_North;
}
//设置磁力变化
public void SetMagnetPower(float addPower)
else
{
m_poleType = PoleType.PT_No;
}
m_curChangeIndex++;
if (m_curChangeIndex >= m_poleList.Count)
{
m_curChangeIndex = 0;
}
}
//材质变换
void UpdateMatState()
{
for (int i = 0; i < m_poleMR.Length; i++)
{
m_bAddPower = !m_bAddPower;
if (m_bAddPower)
if (m_poleType == PoleType.PT_South)
{
m_power += addPower;
m_poleMR[i].sharedMaterial = m_southMat;
}
else if (m_poleType == PoleType.PT_North)
{
m_poleMR[i].sharedMaterial = m_northMat;
}
else
{
m_power -= addPower;
m_poleMR[i].sharedMaterial = m_noPoleMat;
}
}
m_southObj.SetActive(m_poleType == PoleType.PT_South);
m_northObj.SetActive(m_poleType == PoleType.PT_North);
}
//设置磁力变化
public void SetMagnetPower(float addPower)
{
//m_bAddPower = !m_bAddPower;
//if(m_bAddPower)
//{
// m_power += addPower;
//}
//else
//{
// m_power -= addPower;
//}
}
//设置陷阱状态
public void SetTrap()
......@@ -112,22 +171,34 @@ public class SmallMagnetView : MonoBehaviour
}
}
void Update()
{
if (m_isOpen)
{
MagnetView varPlayer = BattleCtrl.instance.levelManager.curLevel.magnetView;
Vector3 varDir = varPlayer.transform.position - transform.position;
if (varPlayer && Vector3.SqrMagnitude(varDir) <= m_range * m_range)
if (varPlayer.isOpen)
{
Vector3 varDir = transform.position - varPlayer.transform.position;
if (varPlayer && Vector3.SqrMagnitude(varDir) <= varPlayer.magnetRange * varPlayer.magnetRange)
{
if (varPlayer.isSouthPole)
{
float varPole = m_bSouthPole ? 1 : -1;
varPlayer.AddForce(varPole * varDir.normalized * m_power);
if (m_poleType == PoleType.PT_South)
{
m_rigidBody.AddForce(varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
else if (m_poleType == PoleType.PT_North)
{
m_rigidBody.AddForce(-varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
}
else
{
float varPole = !m_bSouthPole ? 1 : -1;
varPlayer.AddForce(varPole * varDir.normalized * m_power);
if (m_poleType == PoleType.PT_South)
{
m_rigidBody.AddForce(-varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
else if (m_poleType == PoleType.PT_North)
{
m_rigidBody.AddForce(varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
}
}
}
......@@ -140,5 +211,32 @@ public class SmallMagnetView : MonoBehaviour
m_triggerObj.GetComponent<TriggerView>().SetSmallAttach(this);
}
}
//磁极变换
if (m_bIsChangePole)
{
if (m_bControlPole)
{
m_bControlPole = false;
InvokeRepeating(m_strSetMagnetChangeLoop, 0.2f, m_changePoleLoopTime);
}
}
else
{
m_bControlPole = true;
CancelInvokeMagnetChange();
}
UpdateMatState();
}
//取消循环
void CancelInvokeMagnetChange()
{
if (IsInvoking(m_strSetMagnetChangeLoop))
{
CancelInvoke(m_strSetMagnetChangeLoop);
}
}
private void OnDestroy()
{
CancelInvokeMagnetChange();
}
}
......@@ -4,6 +4,9 @@ using UnityEngine;
public class TrapView : MonoBehaviour
{
[Header("对角色造成伤害")]
public int m_damage = 0;
public int damage => m_damage;
// Start is called before the first frame update
void Start()
{
......
......@@ -6,20 +6,20 @@ public class TriggerView : MonoBehaviour
{
[Header("是否变换磁极")]
public bool m_bIsChangePole = false;
[Header("是否开启循环")]
public bool m_bIsChangePoleLoop = false;
[Header("循环间隔")]
public float m_changePoleLoopTime = 0.0f;
//[Header("是否开启循环")]
//public bool m_bIsChangePoleLoop = false;
//[Header("循环间隔")]
//public float m_changePoleLoopTime = 0.0f;
[Header("是否变换磁力")]
[Space(30)]
public bool m_bIsChangePower = false;
[Header("磁力变化大小")]
public float m_powerChangeSize = 0.0f;
[Header("是否开启循环")]
public bool m_bIsChangePowerLoop = false;
[Header("循环间隔")]
public float m_changePowerLoopTime = 0.0f;
//[Header("是否变换磁力")]
//[Space(30)]
//public bool m_bIsChangePower = false;
//[Header("磁力变化大小")]
//public float m_powerChangeSize = 0.0f;
//[Header("是否开启循环")]
//public bool m_bIsChangePowerLoop = false;
//[Header("循环间隔")]
//public float m_changePowerLoopTime = 0.0f;
[Header("是否变成陷阱")]
[Space(30)]
......@@ -82,14 +82,14 @@ public class TriggerView : MonoBehaviour
//设置磁力变化
void SetMagnetPower()
{
if (m_largeView)
{
m_largeView.SetMagnetPower(m_powerChangeSize);
}
if (m_smallView)
{
m_smallView.SetMagnetPower(m_powerChangeSize);
}
//if (m_largeView)
//{
// m_largeView.SetMagnetPower(m_powerChangeSize);
//}
//if (m_smallView)
//{
// m_smallView.SetMagnetPower(m_powerChangeSize);
//}
}
//设置陷阱状态
void SetTrap()
......@@ -126,22 +126,22 @@ public class TriggerView : MonoBehaviour
m_bControlPole = false;
SetMagnetChange();
}
if(m_bIsChangePoleLoop && m_bControlPoleLoop)
{
m_bControlPoleLoop = false;
InvokeRepeating(m_strSetMagnetChange, 0.2f, m_changePoleLoopTime);
}
//if(m_bIsChangePoleLoop && m_bControlPoleLoop)
//{
// m_bControlPoleLoop = false;
// InvokeRepeating(m_strSetMagnetChange, 0.2f, m_changePoleLoopTime);
//}
//磁力变化
if(m_bIsChangePower && m_bControlPower)
{
m_bControlPower = false;
SetMagnetPower();
}
if(m_bIsChangePowerLoop && m_bControlPowerLoop)
{
m_bControlPowerLoop = false;
InvokeRepeating(m_strSetMagnetPower, 0.2f, m_changePowerLoopTime);
}
//if(m_bIsChangePower && m_bControlPower)
//{
// m_bControlPower = false;
// SetMagnetPower();
//}
//if(m_bIsChangePowerLoop && m_bControlPowerLoop)
//{
// m_bControlPowerLoop = false;
// InvokeRepeating(m_strSetMagnetPower, 0.2f, m_changePowerLoopTime);
//}
//陷阱
if(m_bIsChangeToTrap && m_bControlTrap)
{
......
......@@ -19,11 +19,13 @@ public class BulletNorthView : MonoBehaviour
}
//开始移动
public void StartMove(Transform bossTrans)
public void StartMove(Transform bossTrans = null)
{
m_bossTrans = bossTrans;
m_bMove = true;
transform.SetParent(null);
//做法1
//m_bossTrans = bossTrans;
//m_bMove = true;
//transform.SetParent(null);
}
//设置激活状态
public void SetActiveState(bool value)
......@@ -41,7 +43,12 @@ public class BulletNorthView : MonoBehaviour
gameObject.SetActive(true);
m_bControl = true;
m_rigidBody.isKinematic = true;
transform.SetParent(m_bossTrans);
//做法1
//m_bMove = false;
//gameObject.SetActive(true);
//m_bControl = true;
//m_rigidBody.isKinematic = true;
//transform.SetParent(m_bossTrans);
}
// Update is called once per frame
void Update()
......@@ -52,15 +59,17 @@ public class BulletNorthView : MonoBehaviour
}
if (m_bMove && m_bControl)
{
MagnetView varPlayer = BattleCtrl.instance.levelManager.curLevel.magnetView;
Vector3 varDir = varPlayer.transform.position - transform.position;
transform.position += (varDir.normalized) * Time.deltaTime * m_speed;
Vector3 varPos = transform.localPosition;
if (varPos.y < 0.48)
{
varPos.y = 0.48f;
}
transform.localPosition = varPos;
transform.position += (transform.forward) * Time.deltaTime * m_speed;
//做法1
//MagnetView varPlayer = BattleCtrl.instance.levelManager.curLevel.magnetView;
//Vector3 varDir = varPlayer.transform.position - transform.position;
//transform.position += (varDir.normalized) * Time.deltaTime * m_speed;
//Vector3 varPos = transform.localPosition;
//if (varPos.y < 0.48)
//{
// varPos.y = 0.48f;
//}
//transform.localPosition = varPos;
}
UpdateMagnetPower();
}
......@@ -75,21 +84,26 @@ public class BulletNorthView : MonoBehaviour
{
m_bControl = false;
m_rigidBody.isKinematic = false;
transform.SetParent(null);
m_rigidBody.AddForce((varDir.normalized /*- Vector3.up * 0.1f*/) * varPlayer.magnetPower, ForceMode.Impulse);
m_rigidBody.AddForce((varDir.normalized) * varPlayer.magnetPower, ForceMode.VelocityChange);
//做法1
//m_bControl = false;
//m_rigidBody.isKinematic = false;
//transform.SetParent(null);
//m_rigidBody.AddForce((varDir.normalized /*- Vector3.up * 0.1f*/) * varPlayer.magnetPower, ForceMode.Impulse);
}
else
{
if (Vector3.SqrMagnitude(varDir) > varPlayer.disBulletAttach * varPlayer.disBulletAttach)
{
//m_rigidBody.AddForce(-varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
else
{
m_bControl = false;
transform.SetParent(varPlayer.transform);
transform.RotateAround(varPlayer.transform.position, -varPlayer.transform.up, Time.deltaTime * m_rotateSpeed);
}
//做法1
//if (Vector3.SqrMagnitude(varDir) > varPlayer.disBulletAttach * varPlayer.disBulletAttach)
//{
// //m_rigidBody.AddForce(-varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
//}
//else
//{
// m_bControl = false;
// transform.SetParent(varPlayer.transform);
// transform.RotateAround(varPlayer.transform.position, -varPlayer.transform.up, Time.deltaTime * m_rotateSpeed);
//}
}
}
}
......
......@@ -19,11 +19,13 @@ public class BulletSouthView : MonoBehaviour
}
//开始移动
public void StartMove(Transform bossTrans)
public void StartMove(Transform bossTrans = null)
{
m_bossTrans = bossTrans;
m_bMove = true;
transform.SetParent(null);
//做饭1
//m_bossTrans = bossTrans;
//m_bMove = true;
//transform.SetParent(null);
}
//设置激活状态
public void SetActiveState(bool value)
......@@ -41,7 +43,12 @@ public class BulletSouthView : MonoBehaviour
gameObject.SetActive(true);
m_bControl = true;
m_rigidBody.isKinematic = true;
transform.SetParent(m_bossTrans);
//做法1
//m_bMove = false;
//gameObject.SetActive(true);
//m_bControl = true;
//m_rigidBody.isKinematic = true;
//transform.SetParent(m_bossTrans);
}
// Update is called once per frame
void Update()
......@@ -52,15 +59,17 @@ public class BulletSouthView : MonoBehaviour
}
if (m_bMove && m_bControl)
{
MagnetView varPlayer = BattleCtrl.instance.levelManager.curLevel.magnetView;
Vector3 varDir = varPlayer.transform.position - transform.position;
transform.position += (varDir.normalized) * Time.deltaTime * m_speed;
Vector3 varPos = transform.localPosition;
if (varPos.y < 0.48)
{
varPos.y = 0.48f;
}
transform.localPosition = varPos;
transform.position += (transform.forward) * Time.deltaTime * m_speed;
//做法1
//MagnetView varPlayer = BattleCtrl.instance.levelManager.curLevel.magnetView;
//Vector3 varDir = varPlayer.transform.position - transform.position;
//transform.position += (varDir.normalized) * Time.deltaTime * m_speed;
//Vector3 varPos = transform.localPosition;
//if (varPos.y < 0.48)
//{
// varPos.y = 0.48f;
//}
//transform.localPosition = varPos;
}
UpdateMagnetPower();
}
......@@ -76,21 +85,26 @@ public class BulletSouthView : MonoBehaviour
{
m_bControl = false;
m_rigidBody.isKinematic = false;
transform.SetParent(null);
m_rigidBody.AddForce((varDir.normalized /*- Vector3.up*0.1f*/) * varPlayer.magnetPower, ForceMode.Impulse);
m_rigidBody.AddForce((varDir.normalized) * varPlayer.magnetPower, ForceMode.VelocityChange);
//做法1
//m_bControl = false;
//m_rigidBody.isKinematic = false;
//transform.SetParent(null);
//m_rigidBody.AddForce((varDir.normalized /*- Vector3.up*0.1f*/) * varPlayer.magnetPower, ForceMode.Impulse);
}
else
{
if(Vector3.SqrMagnitude(varDir) > varPlayer.disBulletAttach * varPlayer.disBulletAttach)
{
//m_rigidBody.AddForce(-varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
}
else
{
m_bControl = false;
transform.SetParent(varPlayer.transform);
transform.RotateAround(varPlayer.transform.position, -varPlayer.transform.up, Time.deltaTime * m_rotateSpeed);
}
//做法1
//if(Vector3.SqrMagnitude(varDir) > varPlayer.disBulletAttach * varPlayer.disBulletAttach)
//{
// //m_rigidBody.AddForce(-varDir.normalized * varPlayer.magnetPower, ForceMode.Impulse);
//}
//else
//{
// m_bControl = false;
// transform.SetParent(varPlayer.transform);
// transform.RotateAround(varPlayer.transform.position, -varPlayer.transform.up, Time.deltaTime * m_rotateSpeed);
//}
}
}
}
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletTypeEightView : MonoBehaviour
{
private Transform[] m_bullletTrans;
private List<Vector3> m_startPosList = new List<Vector3>();//初始位置
private List<Quaternion> m_startRotationList = new List<Quaternion>();//初始位置
// Start is called before the first frame update
void Awake()
{
m_bullletTrans = transform.GetComponentsInChildren<Transform>();
for (int i = 1; i < m_bullletTrans.Length; i++)
{
m_startPosList.Add(m_bullletTrans[i].localPosition);
m_startRotationList.Add(m_bullletTrans[i].localRotation);
}
}
//加载初始化
public void Init()
{
for (int i = 1; i < m_bullletTrans.Length; i++)
{
BulletSouthView varSouth = m_bullletTrans[i].GetComponent<BulletSouthView>();
if (varSouth)
{
varSouth.StartMove();
}
BulletNorthView varNorth = m_bullletTrans[i].GetComponent<BulletNorthView>();
if (varNorth)
{
varNorth.StartMove();
}
}
Invoke("Reset", 10.0f);
}
//重置状态
private void Reset()
{
PoolManager.Instance.ReturnObjectToPool(gameObject);
for (int i = 1; i < m_bullletTrans.Length; i++)
{
BulletSouthView varSouth = m_bullletTrans[i].GetComponent<BulletSouthView>();
if (varSouth)
{
varSouth.ResetState();
}
BulletNorthView varNorth = m_bullletTrans[i].GetComponent<BulletNorthView>();
if (varNorth)
{
varNorth.ResetState();
}
m_bullletTrans[i].localPosition = m_startPosList[i - 1];
m_bullletTrans[i].localRotation = m_startRotationList[i - 1];
}
}
}
fileFormatVersion: 2
guid: f9d76b6220bc228428d94745fd4874e6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BulletTypeFourView : MonoBehaviour
{
private Transform[] m_bullletTrans;
private List<Vector3> m_startPosList = new List<Vector3>();//初始位置
private List<Quaternion> m_startRotationList = new List<Quaternion>();//初始位置
// Start is called before the first frame update
void Awake()
{
m_bullletTrans = transform.GetComponentsInChildren<Transform>();
for (int i = 1; i < m_bullletTrans.Length; i++)
{
m_startPosList.Add(m_bullletTrans[i].localPosition);
m_startRotationList.Add(m_bullletTrans[i].localRotation);
}
}
//加载初始化
public void Init()
{
for (int i = 1; i < m_bullletTrans.Length; i++)
{
BulletSouthView varSouth = m_bullletTrans[i].GetComponent<BulletSouthView>();
if (varSouth)
{
varSouth.StartMove();
}
BulletNorthView varNorth = m_bullletTrans[i].GetComponent<BulletNorthView>();
if (varNorth)
{
varNorth.StartMove();
}
}
Invoke("Reset", 10.0f);
}
//重置状态
private void Reset()
{
PoolManager.Instance.ReturnObjectToPool(gameObject);
for (int i = 1; i < m_bullletTrans.Length; i++)
{
BulletSouthView varSouth = m_bullletTrans[i].GetComponent<BulletSouthView>();
if (varSouth)
{
varSouth.ResetState();
}
BulletNorthView varNorth = m_bullletTrans[i].GetComponent<BulletNorthView>();
if (varNorth)
{
varNorth.ResetState();
}
m_bullletTrans[i].localPosition = m_startPosList[i - 1];
m_bullletTrans[i].localRotation = m_startRotationList[i - 1];
}
}
}
fileFormatVersion: 2
guid: afd74f7556e091e44bd698b01b4efb05
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -110,10 +110,10 @@ public class BattleUI : MonoBehaviour
private GameObject m_bossBloodParentObj;//boss血量
private int m_totalBlood = 6;//总血量
private int m_curBlood = 0;//当前血量
private int m_keyNum = 0;//钥匙数量
private int m_keyId = 0;//钥匙id
private int m_totalBossBlood = 3;//boss血量
private int m_curBossBlood = 0;
public int keyNum => m_keyNum;
public int keyId => m_keyId;
void Awake()
{
//m_dragBtn.onClick.AddListener(SetDragMode);
......@@ -403,8 +403,8 @@ public class BattleUI : MonoBehaviour
// m_propSelectUi.Show();
//}
m_curBlood = m_totalBlood;
//m_curBossBlood = m_totalBossBlood;
//m_bossBloodImage.fillAmount = 1;
m_curBossBlood = m_totalBossBlood;
m_bossBloodImage.fillAmount = 1;
if (m_bossObj)
{
BossView varBoss = m_bossObj.GetComponent<BossView>();
......@@ -662,7 +662,15 @@ public class BattleUI : MonoBehaviour
{
if (!m_keyObj)
{
m_keyObj = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.keyObj);
int varRand = UnityEngine.Random.Range(0, 5);
if(varRand < 2)
{
m_keyObj = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.key1Obj);
}
else
{
m_keyObj = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.key2Obj);
}
m_keyObj.transform.position = m_keyPos;
}
else
......@@ -697,9 +705,9 @@ public class BattleUI : MonoBehaviour
}
}
//掉血
public void ReduceBlood()
public void ReduceBlood(int damage)
{
m_curBlood--;
m_curBlood -= damage;
if(m_curBlood <= 0)
{
BattleCtrl.instance.OnBattleFail();
......@@ -710,10 +718,11 @@ public class BattleUI : MonoBehaviour
m_bloodObj.transform.GetChild(i).gameObject.SetActive(m_curBlood > i);
}
}
//增加钥匙
public void AddKey()
//设置钥匙id
public void SetKeyId(int id)
{
m_keyNum++;
m_keyId = id;
m_keyObj = null;
}
//设置npc对话
public void SetNpcDialogue(float x, float y)
......
......@@ -15,19 +15,28 @@ public class CacheManager : MonoBehaviour
[SerializeField]
private GameObject m_doorObj;//门
[SerializeField]
private GameObject m_keyObj;//钥匙
private GameObject m_key1Obj;//钥匙1
[SerializeField]
private GameObject m_key2Obj;//钥匙2
[SerializeField]
private GameObject m_npcObj;//npc
[SerializeField]
private GameObject m_bossObj;//boss
[SerializeField]
private GameObject m_bulletFourObj;//4类型子弹
[SerializeField]
private GameObject m_bulletEightObj;//8类型子弹
public GameObject largeMagnetObj => m_largeMagnetObj;
public GameObject smallMagnetObj => m_smallMagnetObj;
public GameObject coinPropObj => m_coinPropObj;
public GameObject triggerObj => m_triggerObj;
public GameObject doorObj => m_doorObj;
public GameObject keyObj => m_keyObj;
public GameObject key1Obj => m_key1Obj;
public GameObject key2Obj => m_key2Obj;
public GameObject npcObj => m_npcObj;
public GameObject bossObj => m_bossObj;
public GameObject bulletFourObj => m_bulletFourObj;
public GameObject bulletEightObj => m_bulletEightObj;
public static CacheManager Instance = null;
void Awake()
{
......
......@@ -33,9 +33,12 @@ public class GlobalConfig
public static float Ratio = CurRatio / NormalRatio;
public static float CanvaUIScaleX = BattleCtrl.instance.battleUI.gameObject.transform.localScale.x;//uicanva适配大小
//public static float CanvaUIScaleX = BattleCtrl.instance.battleUI.gameObject.transform.localScale.x;//uicanva适配大小
public static string CoinReCordKey = "Coin";//金币key
public static int PT_South => (int)PoleType.PT_South;
public static int PT_North => (int)PoleType.PT_North;
public static int PT_No => (int)PoleType.PT_No;
}
public enum LangeType
......@@ -43,3 +46,9 @@ public enum LangeType
Chinese,
English
}
public enum PoleType
{
PT_South = 1,
PT_North = -1,
PT_No = 0,
}
......@@ -57,7 +57,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 8d4e6f170c751f54f87d493c9e28ed65, type: 3}
m_Name:
m_EditorClassIdentifier:
m_triggerTrans: {fileID: 0}
m_keyId: 2
--- !u!1 &4533096668072911434
GameObject:
m_ObjectHideFlags: 0
......
......@@ -15,7 +15,7 @@ GameObject:
- component: {fileID: 4086591251519140467}
- component: {fileID: 1765159425644024677}
m_Layer: 0
m_Name: Key
m_Name: Key1
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
......@@ -124,3 +124,4 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 56875c54f02a84143841ef43c93c9433, type: 3}
m_Name:
m_EditorClassIdentifier:
m_keyId: 1
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4852870513417518246
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4850718337960479622}
- component: {fileID: 4840139429521790968}
- component: {fileID: 4830818788762092084}
- component: {fileID: 2387985999700167061}
- component: {fileID: 4086591251519140467}
- component: {fileID: 1765159425644024677}
m_Layer: 0
m_Name: Key2
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4850718337960479622
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4852870513417518246}
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -0, y: 0, z: 0}
m_LocalScale: {x: 2, y: 2, z: 2}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4840139429521790968
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4852870513417518246}
m_Mesh: {fileID: 4300000, guid: e1561fc62d8f8bb45b35426ab913d57a, type: 3}
--- !u!23 &4830818788762092084
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4852870513417518246}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 41680dad0f0243748b4e228f49a2e3c4, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!54 &2387985999700167061
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4852870513417518246}
serializedVersion: 2
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 1
m_Interpolate: 0
m_Constraints: 112
m_CollisionDetection: 0
--- !u!64 &4086591251519140467
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4852870513417518246}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 4
m_Convex: 1
m_CookingOptions: 30
m_Mesh: {fileID: 4300000, guid: e1561fc62d8f8bb45b35426ab913d57a, type: 3}
--- !u!114 &1765159425644024677
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4852870513417518246}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 56875c54f02a84143841ef43c93c9433, type: 3}
m_Name:
m_EditorClassIdentifier:
m_keyId: 2
fileFormatVersion: 2
guid: 65afe46c278c1e34d97fbefaf09ffc86
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -49,16 +49,17 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: d4049f21ecd219d4cb636848b4dd1fc0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_isOpen: 1
m_range: 10
m_power: 2
m_pos: {x: 12, y: 0, z: 0}
m_poleType: 1
m_bIsChangePole: 0
m_changePoleLoopTime: 1
m_poleList: 01000000ffffffff00000000
m_bIsTrigger: 0
m_triggerPos: {x: 0, y: 0, z: 0}
m_southObj: {fileID: 5591288225491791998}
m_northObj: {fileID: 5187634355213874676}
m_southMat: {fileID: 2100000, guid: ff4d0913b0ebdeb419930c761e9a43d3, type: 2}
m_northMat: {fileID: 2100000, guid: 5a9603aa200ca0c45bf4ce1b20e1a39a, type: 2}
m_noPoleMat: {fileID: 2100000, guid: ab27c4a4c283cac489ef589c67077626, type: 2}
m_poleMR:
- {fileID: 7065551152001961849}
- {fileID: 1501626165747735509}
......@@ -70,11 +71,11 @@ Rigidbody:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4462216568758851369}
serializedVersion: 2
m_Mass: 1
m_Mass: 2
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 112
m_CollisionDetection: 0
......@@ -137,7 +138,7 @@ MeshRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 550a07b346891b14a9a63693a5f31e08, type: 2}
- {fileID: 2100000, guid: ff4d0913b0ebdeb419930c761e9a43d3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
......
......@@ -67,8 +67,9 @@ MonoBehaviour:
m_EditorClassIdentifier:
m_spaceSpeed: 10
m_moveSpeed: 10
m_range: 5
m_power: 10
m_isOpen: 1
m_range: 10
m_power: 0.5
m_disBulletAttach: 3
offset: {x: 0, y: 11, z: -10}
m_southObj: {fileID: 5591288225491791998}
......
......@@ -49,16 +49,17 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 01c09f6adbeb79d41bae6e8c973febd7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_isOpen: 1
m_range: 10
m_power: 1
m_pos: {x: 12, y: 0, z: 0}
m_poleType: 1
m_bIsChangePole: 0
m_changePoleLoopTime: 0
m_poleList:
m_bIsTrigger: 0
m_triggerPos: {x: 0, y: 0, z: 0}
m_southObj: {fileID: 5591288225491791998}
m_northObj: {fileID: 5187634355213874676}
m_southMat: {fileID: 2100000, guid: ff4d0913b0ebdeb419930c761e9a43d3, type: 2}
m_northMat: {fileID: 2100000, guid: 5a9603aa200ca0c45bf4ce1b20e1a39a, type: 2}
m_noPoleMat: {fileID: 2100000, guid: ab27c4a4c283cac489ef589c67077626, type: 2}
m_poleMR:
- {fileID: 7065551152001961849}
- {fileID: 1501626165747735509}
......@@ -74,7 +75,7 @@ Rigidbody:
m_Drag: 0
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 112
m_CollisionDetection: 0
......
......@@ -15,7 +15,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &3661666677363110218
Transform:
m_ObjectHideFlags: 0
......@@ -1478,11 +1478,9 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 1c4613c4851e6c04d878802aa788b530, type: 3}
m_Name:
m_EditorClassIdentifier:
m_parent: {fileID: 3661666677363110218}
m_rotateSpeed: 200
m_waitTime: 5
m_intervalTime: 1
m_isMove: 1
m_intervalTime: 2
m_isMove: 0
m_moveSpeed: 2
--- !u!54 &-4782649917857251709
Rigidbody:
......
This diff is collapsed.
fileFormatVersion: 2
guid: 20ce7b4857448314a991c3a86b2a6209
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
This diff is collapsed.
fileFormatVersion: 2
guid: ca3c444700623e2469a411ddd8bc4a47
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: e5304c9201e05cb49be34f0e34f8f0a9
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LargeMagnetEditor : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
fileFormatVersion: 2
guid: e6abf1de74993ef46aee5d36d13668b3
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
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