Commit c639ce83 authored by wanqing's avatar wanqing

修改预制体

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