Commit 1ee6b302 authored by wanqing's avatar wanqing

修改流体逻辑

parent 7fcb4426
......@@ -44,6 +44,9 @@ public class FruitView : MonoBehaviour
private int m_fruitTotalNum;
private int m_sportTotalNum;
private List<GameObject> m_waterEffect = new List<GameObject>();//水特效
private List<Transform> m_waterStarwberryLst = new List<Transform>();//草莓总数
private List<Transform> m_waterLemonLst = new List<Transform>();//柠檬总数
private List<Transform> m_waterOrangeLst = new List<Transform>();//橙子总数
//小球处理
private List<GameObject> m_smallBallLst = new List<GameObject>();
......@@ -202,6 +205,10 @@ public class FruitView : MonoBehaviour
// m_selectLst.Clear();//重置下状态
// return;
//}
int varStrawberryNum = 0;
int varLemonNum = 0;
int varOrangeNum = 0;
for (int i = 0; i < m_selectLst.Count; i++)
{
m_selectLst[i].SetFrag();
......@@ -212,7 +219,6 @@ public class FruitView : MonoBehaviour
//m_selectLst[i].SetLiquidEffect();
//播放爆汁特效
GameObject varEffectObj = null;
GameObject varWaterEffect = null;
int varRand = Random.Range(0, 2);
if (m_selectLst[i].type == FruitType.Strawberry)
{
......@@ -224,7 +230,8 @@ public class FruitView : MonoBehaviour
{
varEffectObj = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.StarwberryEffect2);
}
varWaterEffect = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.waterStarwberryObj);
varStrawberryNum++;
m_waterStarwberryLst.Add(m_selectLst[i].transform);
}
else if (m_selectLst[i].type == FruitType.Lemon)
{
......@@ -236,7 +243,8 @@ public class FruitView : MonoBehaviour
{
varEffectObj = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.LemonEffect2);
}
varWaterEffect = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.waterLemonObj);
varLemonNum++;
m_waterLemonLst.Add(m_selectLst[i].transform);
}
else if(m_selectLst[i].type == FruitType.Orange)
{
......@@ -248,38 +256,118 @@ public class FruitView : MonoBehaviour
{
varEffectObj = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.OrangeEffect2);
}
varWaterEffect = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.waterOrangeObj);
varOrangeNum++;
m_waterOrangeLst.Add(m_selectLst[i].transform);
}
if(varEffectObj)
{
varEffectObj.transform.position = m_selectLst[i].transform.position;
m_fruitBombEffect.Add(varEffectObj);
}
if(varWaterEffect)
}
//草莓水特效
if(varStrawberryNum > 0)
{
Vector3 varVec = Vector3.zero;
for(int i = 0;i<m_waterStarwberryLst.Count;i++)
{
Vector3 varVec = m_selectLst[i].transform.position;
if (varVec.x < 0)
varVec.x += m_waterStarwberryLst[i].position.x;
varVec.y += m_waterStarwberryLst[i].position.y;
}
if (varVec.x < 0)
{
varVec.x -= 1.0f;
}
else
{
varVec.x += 1.0f;
}
varVec.y += 1.0f;
GameObject varWaterEffect = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.waterStarwberryObj);
varWaterEffect.transform.position = varVec;
Water2D_Spawner varWater = varWaterEffect.GetComponent<Water2D_Spawner>();
if (varWater)
{
float varSize = 0.08f + 0.04f * (varStrawberryNum - 1);
if(varSize >= 0.16f)
{
varVec.x -= 1.0f;
varSize = 0.16f;
}
else
varWater.size = varSize;
varWater.Spawn();
}
m_waterEffect.Add(varWaterEffect);
}
//柠檬水特效
if (varLemonNum > 0)
{
Vector3 varVec = Vector3.zero;
for (int i = 0; i < m_waterLemonLst.Count; i++)
{
varVec.x += m_waterLemonLst[i].position.x;
varVec.y += m_waterLemonLst[i].position.y;
}
if (varVec.x < 0)
{
varVec.x -= 1.0f;
}
else
{
varVec.x += 1.0f;
}
varVec.y += 1.0f;
GameObject varWaterEffect = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.waterLemonObj);
varWaterEffect.transform.position = varVec;
Water2D_Spawner varWater = varWaterEffect.GetComponent<Water2D_Spawner>();
if (varWater)
{
float varSize = 0.08f + 0.04f * (varLemonNum - 1);
if (varSize >= 0.16f)
{
varVec.x += 1.0f;
varSize = 0.16f;
}
varVec.y += 1.0f;
varWaterEffect.transform.position = varVec;
Water2D_Spawner varWater = varWaterEffect.GetComponent<Water2D_Spawner>();
if(varWater)
varWater.size = varSize;
varWater.Spawn();
}
m_waterEffect.Add(varWaterEffect);
}
//橙子水特效
if (varOrangeNum > 0)
{
Vector3 varVec = Vector3.zero;
for (int i = 0; i < m_waterOrangeLst.Count; i++)
{
varVec.x += m_waterOrangeLst[i].position.x;
varVec.y += m_waterOrangeLst[i].position.y;
}
if (varVec.x < 0)
{
varVec.x -= 1.0f;
}
else
{
varVec.x += 1.0f;
}
varVec.y += 1.0f;
GameObject varWaterEffect = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.waterOrangeObj);
varWaterEffect.transform.position = varVec;
Water2D_Spawner varWater = varWaterEffect.GetComponent<Water2D_Spawner>();
if (varWater)
{
float varSize = 0.08f + 0.04f * (varOrangeNum - 1);
if (varSize >= 0.16f)
{
varWater.Spawn();
varSize = 0.16f;
}
m_waterEffect.Add(varWaterEffect);
varWater.size = varSize;
varWater.Spawn();
}
m_waterEffect.Add(varWaterEffect);
}
m_SelectNum = m_selectLst.Count;
Invoke("DelayClear", 0.5f);
Invoke("DelayClearEffect", 1.0f);
Invoke("DelayClearWaterEffect", 1.2f);
Invoke("DelayClearWaterEffect", 3.0f);
}
//延迟判断失败
void DelayFail()
......
......@@ -4581,8 +4581,8 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3298925094615349742}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.9, y: -11.66, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_LocalPosition: {x: 0.9, y: 0, z: 0}
m_LocalScale: {x: 10, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 2228437097257834197}
m_RootOrder: 6
......
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