Commit c639ce83 authored by wanqing's avatar wanqing

修改预制体

parent 4bffc45c
...@@ -299,6 +299,7 @@ public class BattleUI : MonoBehaviour ...@@ -299,6 +299,7 @@ public class BattleUI : MonoBehaviour
m_bResult = false;//153,212 m_bResult = false;//153,212
//水果位置 //水果位置
GlobalConfig.SetFruitRandomNum();
Vector2 varPos = m_fruitGroupRT.anchoredPosition; Vector2 varPos = m_fruitGroupRT.anchoredPosition;
if(BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelOneIndex) if(BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelOneIndex)
{ {
...@@ -528,17 +529,17 @@ public class BattleUI : MonoBehaviour ...@@ -528,17 +529,17 @@ public class BattleUI : MonoBehaviour
//设置草莓数量 //设置草莓数量
public void SetStrawberryNum(int num) public void SetStrawberryNum(int num)
{ {
m_strawGoalNum.text = string.Format("{0:d}", GlobalConfig.FruitMoveTotalNum - num); m_strawGoalNum.text = string.Format("{0:d}", GlobalConfig.StrawberryRandomNum - num);
} }
//设置柠檬数量 //设置柠檬数量
public void SetLemonNum(int num) public void SetLemonNum(int num)
{ {
m_lemonGoalNum.text = string.Format("{0:d}", GlobalConfig.FruitMoveTotalNum - num); m_lemonGoalNum.text = string.Format("{0:d}", GlobalConfig.LemonRandomNum - num);
} }
//设置橙子数量 //设置橙子数量
public void SetOrangeNum(int num) public void SetOrangeNum(int num)
{ {
m_orangeGoalNum.text = string.Format("{0:d}", GlobalConfig.FruitMoveTotalNum - num); m_orangeGoalNum.text = string.Format("{0:d}", GlobalConfig.OrangeRandomNum - num);
} }
private void OnDestroy() private void OnDestroy()
{ {
......
...@@ -6,7 +6,8 @@ using UnitySimpleLiquid; ...@@ -6,7 +6,8 @@ using UnitySimpleLiquid;
public class FruitItemView : MonoBehaviour public class FruitItemView : MonoBehaviour
{ {
public FruitType m_type; public FruitType m_type;
public EndlessContainer m_container; //public EndlessContainer m_container;
public GameObject m_effect;
public FruitType type => m_type; public FruitType type => m_type;
private Vector3 m_size; private Vector3 m_size;
...@@ -35,12 +36,18 @@ public class FruitItemView : MonoBehaviour ...@@ -35,12 +36,18 @@ public class FruitItemView : MonoBehaviour
m_fragPos.Add(varTrans.localPosition); m_fragPos.Add(varTrans.localPosition);
m_fragQua.Add(varTrans.localRotation); m_fragQua.Add(varTrans.localRotation);
} }
if (m_container) //if (m_container)
//{
// m_liquidContainer = m_container.gameObject.GetComponent<LiquidContainer>();
// m_liquidStartPos = m_container.transform.localPosition;
// m_liquidStartQua = m_container.transform.localRotation;
// m_liquidStartScale = m_container.transform.localScale;
//}
if (m_effect)
{ {
m_liquidContainer = m_container.gameObject.GetComponent<LiquidContainer>(); m_liquidStartPos = m_effect.transform.localPosition;
m_liquidStartPos = m_container.transform.localPosition; m_liquidStartQua = m_effect.transform.localRotation;
m_liquidStartQua = m_container.transform.localRotation; m_liquidStartScale = m_effect.transform.localScale;
m_liquidStartScale = m_container.transform.localScale;
} }
} }
//变大动画 //变大动画
...@@ -54,47 +61,46 @@ public class FruitItemView : MonoBehaviour ...@@ -54,47 +61,46 @@ public class FruitItemView : MonoBehaviour
transform.localScale = Vector3.Lerp(transform.localScale, m_size, 1.0f); transform.localScale = Vector3.Lerp(transform.localScale, m_size, 1.0f);
} }
//生成流体特效 //生成流体特效
public void SetLiquidEffect() //public void SetLiquidEffect()
{ //{
//m_container.transform.SetParent(transform); // m_container.gameObject.SetActive(false);
m_container.gameObject.SetActive(false); // Transform varObj = m_container.transform.Find("LiquidParticles(Clone)");
Transform varObj = m_container.transform.Find("LiquidParticles(Clone)"); // if(varObj)
if(varObj) // {
{ // Destroy(varObj.gameObject);
Destroy(varObj.gameObject); // }
} // m_container.enabled = true;
m_container.enabled = true; // m_liquidContainer.FillAmountPercent = 1.0f;
m_liquidContainer.FillAmountPercent = 1.0f; // if (m_liquidContainer)
if (m_liquidContainer) // {
{ // if(m_type == FruitType.Strawberry)
if(m_type == FruitType.Strawberry) // {
{ // m_liquidContainer.LiquidColor = m_strawberryColor;
m_liquidContainer.LiquidColor = m_strawberryColor; // }
} // else if(m_type == FruitType.Lemon)
else if(m_type == FruitType.Lemon) // {
{ // m_liquidContainer.LiquidColor = m_lemonColor;
m_liquidContainer.LiquidColor = m_lemonColor; // }
} // else if(m_type == FruitType.Orange)
else if(m_type == FruitType.Orange) // {
{ // m_liquidContainer.LiquidColor = m_orangeColor;
m_liquidContainer.LiquidColor = m_orangeColor; // }
} // }
} // m_container.transform.SetParent(null);
m_container.transform.SetParent(null); // Vector3 varVec = transform.position;
Vector3 varVec = transform.position; // varVec.z = 0;
varVec.z = 0; // varVec.y += 1.0f;
varVec.y += 1.0f; // m_container.transform.localPosition = varVec;
m_container.transform.localPosition = varVec; // m_container.transform.localRotation = m_liquidStartQua;
m_container.transform.localRotation = m_liquidStartQua; // m_container.transform.localScale = Vector3.one * 2;
m_container.transform.localScale = Vector3.one * 2; // m_container.gameObject.SetActive(true);
m_container.gameObject.SetActive(true); // Invoke("DelayStopLiquidEffect", 0.5f);
Invoke("DelayStopLiquidEffect", 0.5f); //}
} ////延迟停止流体特效
//延迟停止流体特效 //void DelayStopLiquidEffect()
void DelayStopLiquidEffect() //{
{ // m_container.enabled = false;
m_container.enabled = false; //}
}
//生成碎块 //生成碎块
public void SetFrag() public void SetFrag()
{ {
...@@ -106,6 +112,19 @@ public class FruitItemView : MonoBehaviour ...@@ -106,6 +112,19 @@ public class FruitItemView : MonoBehaviour
{ {
m_childObj.SetActive(true); m_childObj.SetActive(true);
} }
//显示特效
if (m_effect)
{
m_effect.transform.SetParent(null);
Vector3 varVec = transform.position;
varVec.z = 0;
varVec.y += 1.0f;
m_effect.transform.position = transform.position;
m_effect.transform.localRotation = m_liquidStartQua;
m_effect.transform.localScale = m_liquidStartScale;
m_effect.SetActive(false);
m_effect.SetActive(true);
}
} }
//重置碎块状态 //重置碎块状态
public void ResetFragState() public void ResetFragState()
...@@ -123,5 +142,9 @@ public class FruitItemView : MonoBehaviour ...@@ -123,5 +142,9 @@ public class FruitItemView : MonoBehaviour
m_fragTrans[i].transform.localPosition = m_fragPos[i]; m_fragTrans[i].transform.localPosition = m_fragPos[i];
m_fragTrans[i].transform.localRotation = m_fragQua[i]; m_fragTrans[i].transform.localRotation = m_fragQua[i];
} }
//if (m_effect)
//{
// m_effect.SetActive(false);
//}
} }
} }
...@@ -14,6 +14,9 @@ public class FruitView : MonoBehaviour ...@@ -14,6 +14,9 @@ public class FruitView : MonoBehaviour
public float m_cutSpeed = 3.0f;//旋转速度 public float m_cutSpeed = 3.0f;//旋转速度
//public EndlessContainer m_containerLeft;//左边流体控制 //public EndlessContainer m_containerLeft;//左边流体控制
//public EndlessContainer m_containerRight;//右边流体控制 //public EndlessContainer m_containerRight;//右边流体控制
public GameObject m_strawberryEffect;//草莓特效
public GameObject m_lemonEffect;//柠檬特效
public GameObject m_orangeEffect;//橙子特效
private List<FruitItemView> m_selectLst = new List<FruitItemView>();//选中的水果 private List<FruitItemView> m_selectLst = new List<FruitItemView>();//选中的水果
private int m_lineIndex = 0;//线段计数 private int m_lineIndex = 0;//线段计数
private FruitItemView m_curSelectItem;//当前选中的 private FruitItemView m_curSelectItem;//当前选中的
...@@ -136,7 +139,7 @@ public class FruitView : MonoBehaviour ...@@ -136,7 +139,7 @@ public class FruitView : MonoBehaviour
BattleCtrl.instance.battleUI.SetMoveNum(m_moveNum); BattleCtrl.instance.battleUI.SetMoveNum(m_moveNum);
if(m_moveNum <= 0) if(m_moveNum <= 0)
{ {
Invoke("DelayFail", 2.5f); Invoke("DelayFail", 2.8f);
} }
} }
//if(!IsConnectRight()) //if(!IsConnectRight())
...@@ -147,7 +150,7 @@ public class FruitView : MonoBehaviour ...@@ -147,7 +150,7 @@ public class FruitView : MonoBehaviour
for (int i = 0; i < m_selectLst.Count; i++) for (int i = 0; i < m_selectLst.Count; i++)
{ {
m_selectLst[i].SetFrag(); m_selectLst[i].SetFrag();
m_selectLst[i].SetLiquidEffect(); //m_selectLst[i].SetLiquidEffect();
//播放爆汁特效 //播放爆汁特效
GameObject varEffectObj = null; GameObject varEffectObj = null;
int varRand = Random.Range(0, 2); int varRand = Random.Range(0, 2);
...@@ -250,77 +253,84 @@ public class FruitView : MonoBehaviour ...@@ -250,77 +253,84 @@ public class FruitView : MonoBehaviour
} }
//计算总的切的水果数量 //计算总的切的水果数量
m_strawberryTotalNum += varStrawberryNum; m_strawberryTotalNum += varStrawberryNum;
if (m_strawberryTotalNum >= GlobalConfig.FruitMoveTotalNum) if (m_strawberryTotalNum >= GlobalConfig.StrawberryRandomNum)
{ {
m_strawberryTotalNum = GlobalConfig.FruitMoveTotalNum; m_strawberryTotalNum = GlobalConfig.StrawberryRandomNum;
BattleCtrl.instance.battleUI.SetStrawberryState(true); BattleCtrl.instance.battleUI.SetStrawberryState(true);
} }
m_lemonTotalNum += varLemonNum; m_lemonTotalNum += varLemonNum;
if (m_lemonTotalNum >= GlobalConfig.FruitMoveTotalNum) if (m_lemonTotalNum >= GlobalConfig.LemonRandomNum)
{ {
m_lemonTotalNum = GlobalConfig.FruitMoveTotalNum; m_lemonTotalNum = GlobalConfig.LemonRandomNum;
BattleCtrl.instance.battleUI.SetLemonState(true); BattleCtrl.instance.battleUI.SetLemonState(true);
} }
m_orangeTotalNum += varOrangeNum; m_orangeTotalNum += varOrangeNum;
if (m_orangeTotalNum >= GlobalConfig.FruitMoveTotalNum) if (m_orangeTotalNum >= GlobalConfig.OrangeRandomNum)
{ {
m_orangeTotalNum = GlobalConfig.FruitMoveTotalNum; m_orangeTotalNum = GlobalConfig.OrangeRandomNum;
BattleCtrl.instance.battleUI.SetOrangeState(true); BattleCtrl.instance.battleUI.SetOrangeState(true);
} }
BattleCtrl.instance.battleUI.SetStrawberryNum(m_strawberryTotalNum); BattleCtrl.instance.battleUI.SetStrawberryNum(m_strawberryTotalNum);
BattleCtrl.instance.battleUI.SetLemonNum(m_lemonTotalNum); BattleCtrl.instance.battleUI.SetLemonNum(m_lemonTotalNum);
BattleCtrl.instance.battleUI.SetOrangeNum(m_orangeTotalNum); BattleCtrl.instance.battleUI.SetOrangeNum(m_orangeTotalNum);
//播放特效
m_strawberryEffect.SetActive(false);
m_strawberryEffect.SetActive(varStrawberryNum > 0);
m_lemonEffect.SetActive(false);
m_lemonEffect.SetActive(varLemonNum > 0);
m_orangeEffect.SetActive(false);
m_orangeEffect.SetActive(varOrangeNum > 0);
GameServices.timerServices.Push(this, 0.4f, delegate
{
if (m_glassView)
{
m_glassView.SetFruitNum(varStrawberryNum, varLemonNum, varOrangeNum);
}
});
//if(m_glass1View) //if(m_glass1View)
//{ //{
// m_glass1View.SetFruitNum(varStrawberryNum, varLemonNum, varOrangeNum); // m_glass1View.SetFruitNum(varStrawberryNum, varLemonNum, varOrangeNum);
//} //}
//计算左边数量水果 //计算左边数量水果
int varStrawberryLeftNum = 0; //int varStrawberryLeftNum = 0;
int varLemonLeftNum = 0; //int varLemonLeftNum = 0;
int varOrangeLeftNum = 0; //int varOrangeLeftNum = 0;
for (int i = 0; i < m_leftLst.Count; i++) //for (int i = 0; i < m_leftLst.Count; i++)
{ //{
if (m_leftLst[i].type == FruitType.Strawberry) // if (m_leftLst[i].type == FruitType.Strawberry)
{ // {
varStrawberryLeftNum++; // varStrawberryLeftNum++;
} // }
else if (m_leftLst[i].type == FruitType.Lemon) // else if (m_leftLst[i].type == FruitType.Lemon)
{ // {
varLemonLeftNum++; // varLemonLeftNum++;
} // }
else if (m_leftLst[i].type == FruitType.Orange) // else if (m_leftLst[i].type == FruitType.Orange)
{ // {
varOrangeLeftNum++; // varOrangeLeftNum++;
} // }
} //}
int varStrawberryRightNum = 0; //int varStrawberryRightNum = 0;
int varLemonRightNum = 0; //int varLemonRightNum = 0;
int varOrangeRightNum = 0; //int varOrangeRightNum = 0;
for (int i = 0; i < m_rightLst.Count; i++) //for (int i = 0; i < m_rightLst.Count; i++)
{ //{
if (m_rightLst[i].type == FruitType.Strawberry) // if (m_rightLst[i].type == FruitType.Strawberry)
{ // {
varStrawberryRightNum++; // varStrawberryRightNum++;
} // }
else if (m_rightLst[i].type == FruitType.Lemon) // else if (m_rightLst[i].type == FruitType.Lemon)
{ // {
varLemonRightNum++; // varLemonRightNum++;
} // }
else if (m_rightLst[i].type == FruitType.Orange) // else if (m_rightLst[i].type == FruitType.Orange)
{ // {
varOrangeRightNum++; // varOrangeRightNum++;
} // }
} //}
//流体控制 //流体控制
//ShowLiquidEffect(varStrawberryLeftNum, varLemonLeftNum, varOrangeLeftNum, varStrawberryRightNum, varLemonRightNum //ShowLiquidEffect(varStrawberryLeftNum, varLemonLeftNum, varOrangeLeftNum, varStrawberryRightNum, varLemonRightNum
// , varOrangeRightNum, varStrawberryNum, varLemonNum, varOrangeNum); // , varOrangeRightNum, varStrawberryNum, varLemonNum, varOrangeNum);
GameServices.timerServices.Push(this, 1.0f, delegate
{
if (m_glassView)
{
m_glassView.SetFruitNum(varStrawberryNum, varLemonNum, varOrangeNum);
}
});
m_selectLst.Clear(); m_selectLst.Clear();
......
...@@ -18,9 +18,9 @@ public class GlassView : MonoBehaviour ...@@ -18,9 +18,9 @@ public class GlassView : MonoBehaviour
private float m_lemonNum; private float m_lemonNum;
private float m_orangeNum; private float m_orangeNum;
private float m_strawberryMaxNum = 10.0f; //private float m_strawberryMaxNum = 10.0f;
private float m_lemonMaxNum = 10.0f; //private float m_lemonMaxNum = 10.0f;
private float m_orangeMaxNum = 10.0f; //private float m_orangeMaxNum = 10.0f;
private bool m_bControl = true; private bool m_bControl = true;
private float m_speed = 2.0f; private float m_speed = 2.0f;
...@@ -50,21 +50,21 @@ public class GlassView : MonoBehaviour ...@@ -50,21 +50,21 @@ public class GlassView : MonoBehaviour
public void SetFruitNum(int num1,int num2,int num3) public void SetFruitNum(int num1,int num2,int num3)
{ {
m_strawberryNum += num1; m_strawberryNum += num1;
if (m_strawberryNum >= m_strawberryMaxNum) if (m_strawberryNum >= GlobalConfig.StrawberryRandomNum)
{ {
m_strawberryNum = m_strawberryMaxNum; m_strawberryNum = GlobalConfig.StrawberryRandomNum;
//BattleCtrl.instance.battleUI.SetStrawberryState(true); //BattleCtrl.instance.battleUI.SetStrawberryState(true);
} }
m_lemonNum += num2; m_lemonNum += num2;
if(m_lemonNum >= m_lemonMaxNum) if(m_lemonNum >= GlobalConfig.LemonRandomNum)
{ {
m_lemonNum = m_lemonMaxNum; m_lemonNum = GlobalConfig.LemonRandomNum;
//BattleCtrl.instance.battleUI.SetLemonState(true); //BattleCtrl.instance.battleUI.SetLemonState(true);
} }
m_orangeNum += num3; m_orangeNum += num3;
if(m_orangeNum >= m_orangeMaxNum) if(m_orangeNum >= GlobalConfig.OrangeRandomNum)
{ {
m_orangeNum = m_orangeMaxNum; m_orangeNum = GlobalConfig.OrangeRandomNum;
//BattleCtrl.instance.battleUI.SetOrangeState(true); //BattleCtrl.instance.battleUI.SetOrangeState(true);
} }
//BattleCtrl.instance.battleUI.SetStrawberryNum((int)m_strawberryNum); //BattleCtrl.instance.battleUI.SetStrawberryNum((int)m_strawberryNum);
...@@ -83,7 +83,7 @@ public class GlassView : MonoBehaviour ...@@ -83,7 +83,7 @@ public class GlassView : MonoBehaviour
m_strawberryOffest += Time.deltaTime * m_speed; m_strawberryOffest += Time.deltaTime * m_speed;
Vector3 varSize = m_strawberry.localScale; Vector3 varSize = m_strawberry.localScale;
varSize.y = m_strawberryOffest/ m_rateMod; varSize.y = m_strawberryOffest/ ((float)GlobalConfig.StrawberryRandomNum / 0.3f);
m_strawberry.localScale = varSize; m_strawberry.localScale = varSize;
//草莓位置 //草莓位置
...@@ -112,7 +112,7 @@ public class GlassView : MonoBehaviour ...@@ -112,7 +112,7 @@ public class GlassView : MonoBehaviour
m_lemonOffest += Time.deltaTime * m_speed; m_lemonOffest += Time.deltaTime * m_speed;
Vector3 varSize = m_lemon.localScale; Vector3 varSize = m_lemon.localScale;
varSize.y = m_lemonOffest/ m_rateMod; varSize.y = m_lemonOffest/ ((float)GlobalConfig.LemonRandomNum / 0.3f);
m_lemon.localScale = varSize; m_lemon.localScale = varSize;
Vector3 varPos = m_lemon.localPosition; Vector3 varPos = m_lemon.localPosition;
...@@ -134,7 +134,7 @@ public class GlassView : MonoBehaviour ...@@ -134,7 +134,7 @@ public class GlassView : MonoBehaviour
m_orangeOffest += Time.deltaTime * m_speed; m_orangeOffest += Time.deltaTime * m_speed;
Vector3 varSize = m_orange.localScale; Vector3 varSize = m_orange.localScale;
varSize.y = m_orangeOffest/ m_rateMod; varSize.y = m_orangeOffest/ ((float)GlobalConfig.OrangeRandomNum/0.3f);
m_orange.localScale = varSize; m_orange.localScale = varSize;
Vector3 varPos = m_orange.localPosition; Vector3 varPos = m_orange.localPosition;
...@@ -149,7 +149,7 @@ public class GlassView : MonoBehaviour ...@@ -149,7 +149,7 @@ public class GlassView : MonoBehaviour
//{ //{
// m_fruitView.HideAnimator(); // m_fruitView.HideAnimator();
//} //}
if (m_strawberryOffest >= m_strawberryMaxNum && m_lemonOffest >= m_lemonMaxNum if (m_strawberryOffest >= GlobalConfig.StrawberryRandomNum && m_lemonOffest >= GlobalConfig.LemonRandomNum
&& m_bControl) && m_bControl)
{ {
m_bControl = false; m_bControl = false;
...@@ -164,8 +164,8 @@ public class GlassView : MonoBehaviour ...@@ -164,8 +164,8 @@ public class GlassView : MonoBehaviour
//{ //{
// m_fruitView.HideAnimator(); // m_fruitView.HideAnimator();
//} //}
if (m_strawberryOffest >= m_strawberryMaxNum && m_lemonOffest >= m_lemonMaxNum if (m_strawberryOffest >= GlobalConfig.StrawberryRandomNum && m_lemonOffest >= GlobalConfig.LemonRandomNum
&& m_orangeOffest >= m_orangeMaxNum && m_bControl) && m_orangeOffest >= GlobalConfig.OrangeRandomNum && m_bControl)
{ {
m_bControl = false; m_bControl = false;
BattleCtrl.instance.OnBattleWin(); BattleCtrl.instance.OnBattleWin();
......
...@@ -36,9 +36,18 @@ public class GlobalConfig ...@@ -36,9 +36,18 @@ public class GlobalConfig
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 int FruitMoveTotalNum = 5;//水果可以切的次数
public static int FruitMoveTotalNum = 10; public static int StrawberryRandomNum = 0;//关卡随机目标草莓
public static int LemonRandomNum = 0;//关卡随机目标柠檬
public static int OrangeRandomNum = 0;//关卡随机目标橙子
//设置水果随机数
public static void SetFruitRandomNum()
{
StrawberryRandomNum = Random.Range(5, 16);
LemonRandomNum = Random.Range(5, 16);
OrangeRandomNum = Random.Range(5, 16);
}
//通过当前关卡返回总的数量 //通过当前关卡返回总的数量
public static int TotalNum() public static int TotalNum()
{ {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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