Commit 20bd6560 authored by wanqing's avatar wanqing

主流程逻辑

parent 5206bfc1
......@@ -807,7 +807,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!81 &562744628
AudioListener:
m_ObjectHideFlags: 0
......@@ -2376,8 +2376,12 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 2d99a7fe465cdfa4b85f5c040265762b, type: 3}
m_Name:
m_EditorClassIdentifier:
m_cheeseParent: {fileID: 0}
m_rotateTrans: {fileID: 1572669712}
m_rotateTarget: {fileID: 860938645}
m_rigidParent: {fileID: 0}
m_moveTrans: {fileID: 0}
m_movePint: []
--- !u!1 &1834126256
GameObject:
m_ObjectHideFlags: 0
......
This diff is collapsed.
......@@ -169,7 +169,7 @@ public class BattleCtrl : MonoBehaviour
//延迟切换场景
void DelayChangeToSelectScene()
{
battleUI.ChangeMainToSelectScene();
//battleUI.ChangeMainToSelectScene();
}
/// <summary>
/// 加载关卡前调用
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SnowCollision : MonoBehaviour
{
private bool m_bControl = true;
private Rigidbody m_rigid;
private void Start()
{
m_rigid = GetComponent<Rigidbody>();
}
private void OnCollisionEnter(Collision other)
{
if (string.Equals(other.gameObject.name, "Ice") && m_bControl)
{
m_bControl = false;
m_rigid.isKinematic = true;
}
}
}
fileFormatVersion: 2
guid: d6d07649d17d6fa41b33735705fd6bb8
PrefabImporter:
guid: 2ed3ed594649f0e48a1d3031d4067ead
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -74,7 +74,7 @@ public class BattleUI : MonoBehaviour
public GameObject m_starFruitNumObj;
public GameObject m_starNoOtherObj;
public Text m_starLevel;
public GameObject m_waterCameraObj;
public Camera m_waterCameraObj;
public Sprite m_goodSprite;
public Sprite m_excellentSprite;
public Button m_refreshBtn;//刷新按钮
......@@ -87,6 +87,7 @@ public class BattleUI : MonoBehaviour
public Action onClawMoveSpeedAddBtn;
public Action onClawMoveSpeedDownBtn;
public Action onNextBtn;
public Action onOkBtn;
//private Text m_ShowOrHideMouseText;//显示或隐藏手指text
private int m_mouseIndex = 0;//点击次数
......@@ -216,12 +217,15 @@ public class BattleUI : MonoBehaviour
//ok
void OkBtn()
{
onOkBtn?.Invoke();
SetOkBtnState(false);
SetRefreshBtnState(false);
//ChangeMainToSelectScene();
m_sq = DOTween.Sequence();
m_sq.Append(Camera.main.transform.DOLocalMoveY(-2.27f, 2.0f));
m_sq.Join(m_waterCameraObj.transform.DOLocalMoveY(-6.7f, 2.0f));
m_sq.Append(Camera.main.transform.DOLocalMoveY(-1.5f, 2.0f));
m_sq.Join(Camera.main.DOOrthoSize(1.0f, 2.0f));
m_sq.Join(m_waterCameraObj.transform.DOLocalMoveY(-4.28f, 2.0f));
m_sq.Join(m_waterCameraObj.DOOrthoSize(3.33f, 2.0f));
m_sq.AppendCallback(delegate ()
{
if (BattleCtrl.instance.levelManager.CurLevelIndex == LevelEnum.levelOneIndex)
......@@ -301,7 +305,8 @@ public class BattleUI : MonoBehaviour
//胜利
public void OnBattleWin()
{
Invoke("DelayWin", 0.2f);
DelayWin();
//Invoke("DelayWin", 0.2f);
//string varKey = BattleCtrl.instance.levelManager.CurLevelIndex.ToString();
//if (LocalRecord.HasKey(varKey))
//{
......@@ -330,7 +335,7 @@ public class BattleUI : MonoBehaviour
//胜利延迟
void DelayWin()
{
BattleCtrl.instance.levelManager.selectLevel.CameraMoveDown();
//BattleCtrl.instance.levelManager.selectLevel.CameraMoveDown();
m_nextLevelBtn.gameObject.SetActive(false);
m_successObj.SetActive(true);
m_selectLevelObj.SetActive(false);
......@@ -352,7 +357,7 @@ public class BattleUI : MonoBehaviour
float varNoOtherAmount = varNoOtherPro == 0 ? 1 : 0;
RectTransform varRT = m_successResultObj.GetComponent<RectTransform>();
Vector2 varVec2 = varRT.anchoredPosition;
varVec2.y = 254.0f;
varVec2.y = 21.0f;
varRT.DOAnchorPos(varVec2, 1.0f).onComplete = delegate ()
{
m_sq = DOTween.Sequence();
......@@ -846,6 +851,8 @@ public class BattleUI : MonoBehaviour
}
else
{
//删除上次得装饰品
BattleCtrl.instance.levelManager.curLevel.fruitView.DeleteCheese();
BattleCtrl.instance.levelManager.LoadNextLevel();
}
m_cameraRenderObj = PoolManager.Instance.GetObjectFromPool(CacheManager.Instance.PlayerCameraRenderObj);
......@@ -868,7 +875,7 @@ public class BattleUI : MonoBehaviour
m_bLoadSceneFinish = false;
m_fadeAlpha = 0.0f;
m_bSelectToMain = false;
m_waterCameraObj.SetActive(true);
SetWaterCameraState(true);
}
}
}
......@@ -889,12 +896,15 @@ public class BattleUI : MonoBehaviour
BattleCtrl.instance.levelManager.SetSelectLevelState(true);
PoolManager.Instance.ReturnObjectToPool(m_cameraRenderObj);
BattleCtrl.instance.levelManager.curLevel.fruitView.RecycleSmallBall();
m_waterCameraObj.SetActive(false);
SetWaterCameraState(false);
m_loseObj.SetActive(false);
//水果刚体状态重置
GlobalConfig.SetFruitRigidState(false);
//水流体重置
BattleCtrl.instance.levelManager.curLevel.fruitView.ClearWaterEffect();
//选择场景镜头
BattleCtrl.instance.levelManager.curLevel.fruitView.SetCupWaterPos();
BattleCtrl.instance.levelManager.selectLevel.SetCameraPosAndRotation();
}
}
else
......@@ -904,7 +914,7 @@ public class BattleUI : MonoBehaviour
{
m_fadeAlpha = 0.0f;
m_bMainToSelect = false;
OnBattleWin();
//OnBattleWin();
}
}
}
......@@ -916,7 +926,7 @@ public class BattleUI : MonoBehaviour
//设置流水相机状态
public void SetWaterCameraState(bool value)
{
m_waterCameraObj.SetActive(value);
m_waterCameraObj.gameObject.SetActive(value);
}
//设置icon数量
public void SetNeedIconNum(int num)
......@@ -940,10 +950,20 @@ public class BattleUI : MonoBehaviour
m_needIconSymbol.SetActive(value);
}
}
//显示装饰界面
public void ShowDecorateUI()
//设置装饰阶段1状态
public void ShowDecorateStage1(bool value)
{
m_decorateUI.gameObject.SetActive(true);
m_decorateUI.SetStage1State(value);
}
//设置装饰阶段2状态
public void ShowDecorateStage2(bool value)
{
m_decorateUI.SetStage2State(value);
}
//设置装饰阶段3状态
public void ShowDecorateStage3(bool value)
{
m_decorateUI.SetStage3State(value);
}
private void OnDestroy()
{
......
......@@ -6,34 +6,76 @@ using System;
public class DecorateUI : MonoBehaviour
{
//第一阶段
public GameObject m_stage1Obj;
public Image m_progressStage1Image;
public Button m_buttonStage1;
//第三阶段
public GameObject m_stage2Obj;
public Image m_progressStage2Image;
public Button m_buttonStage2;
//第三阶段
public GameObject m_stage3Obj;
public Image m_progressImage;
public Button m_button1;
public Button m_button2;
public Button m_button3;
private float m_curProgress = 0.0f;
private bool m_bStart = false;
private bool m_bMax = false;
public Action<float> m_StopAction;
public Action m_StopAction;
public Action<float> m_StartAction;
//阶段1
private float m_curStage1Progress = 0.0f;
public Action m_StopStage1Action;
public Action<float> m_StartStage1Action;
public Action m_FinishStage1;
//阶段2
private float m_curStage2Progress = 0.0f;
public Action m_StopStage2Action;
public Action<float> m_StartStage2Action;
public Action m_FinishStage2;
//阶段3
public Action m_prop1Action;
public Action m_prop2Action;
public Action m_prop3Action;
// Start is called before the first frame update
void Awake()
{
m_button1.onClick.AddListener(OnButton1);
m_button2.onClick.AddListener(OnButton2);
m_button3.onClick.AddListener(OnButton3);
m_buttonStage1.onClick.AddListener(OnButtonStage1);
m_buttonStage2.onClick.AddListener(OnButtonStage2);
}
void OnButton1()
{
HideAllButton();
m_prop1Action?.Invoke();
}
void OnButton2()
{
HideAllButton();
m_prop2Action?.Invoke();
}
void OnButton3()
{
HideAllButton();
m_prop3Action?.Invoke();
}
void OnButtonStage1()
{
m_FinishStage1?.Invoke();
}
void OnButtonStage2()
{
m_FinishStage2?.Invoke();
}
void HideAllButton()
{
m_bStart = true;
......@@ -41,34 +83,124 @@ public class DecorateUI : MonoBehaviour
m_button2.gameObject.SetActive(false);
m_button3.gameObject.SetActive(false);
}
//设置阶段1状态
public void SetStage1State(bool value)
{
m_stage1Obj.SetActive(value);
}
//设置阶段2状态
public void SetStage2State(bool value)
{
m_stage2Obj.SetActive(value);
if (value)
{
SetStage1State(false);
}
}
//设置阶段3状态
public void SetStage3State(bool value)
{
m_stage3Obj.SetActive(value);
if (value)
{
SetStage2State(false);
}
}
// Update is called once per frame
void Update()
{
if (m_curProgress > 0.0f && Input.GetMouseButtonUp(0))
UpdateStage1();
UpdateStage2();
UpdateStage3();
}
//阶段1更新
void UpdateStage1()
{
if (m_stage1Obj.activeSelf)
{
m_bStart = false;
m_StopAction?.Invoke(m_curProgress);
if (m_curStage1Progress > 0.0f && Input.GetMouseButtonUp(0))
{
m_StopStage1Action?.Invoke();
}
if (Input.GetMouseButton(0))
{
m_curStage1Progress += Time.deltaTime * 0.2f;
if (m_curStage1Progress > 1.0f)
{
m_curStage1Progress = 1.0f;
}
else
{
m_StartStage1Action?.Invoke(m_curStage1Progress);
}
m_progressStage1Image.fillAmount = m_curStage1Progress;
}
if (m_curStage1Progress >= 0.5f)
{
m_buttonStage1.gameObject.SetActive(true);
}
}
if (m_bStart)
}
//阶段2更新
void UpdateStage2()
{
if (m_stage2Obj.activeSelf)
{
if (m_bMax)
if (m_curStage2Progress > 0.0f && Input.GetMouseButtonUp(0))
{
m_curProgress -= Time.deltaTime;
if (m_curProgress <= 0.0f)
m_StopStage2Action?.Invoke();
}
if (Input.GetMouseButton(0))
{
m_curStage2Progress += Time.deltaTime;
if (m_curStage2Progress > 1.0f)
{
m_bMax = false;
m_curStage2Progress = 1.0f;
}
else
{
m_StartStage2Action?.Invoke(m_curStage2Progress);
}
m_progressStage2Image.fillAmount = m_curStage2Progress;
}
else
if (m_curStage2Progress >= 0.5f)
{
m_curProgress += Time.deltaTime;
if(m_curProgress >= 1.0f)
m_buttonStage2.gameObject.SetActive(true);
}
}
}
//阶段3更新
void UpdateStage3()
{
if (m_stage3Obj.activeSelf)
{
if (m_curProgress > 0.0f && Input.GetMouseButtonUp(0))
{
m_bStart = false;
m_StopAction?.Invoke();
m_curProgress = 0.0f;
}
if (m_bStart)
{
if (m_bMax)
{
m_curProgress -= Time.deltaTime;
if (m_curProgress <= 0.0f)
{
m_bMax = false;
}
}
else
{
m_bMax = true;
m_curProgress += Time.deltaTime;
if (m_curProgress >= 1.0f)
{
m_bMax = true;
}
}
m_progressImage.fillAmount = m_curProgress;
m_StartAction?.Invoke(m_curProgress);
}
m_progressImage.fillAmount = m_curProgress;
m_StartAction?.Invoke(m_curProgress);
}
}
}
......@@ -25,7 +25,7 @@ public class GlassView : MonoBehaviour
private bool m_bControl = true;
private bool m_bTop = true;
private float m_speed = 2.0f;
private float m_speed = 3.0f;
private string m_strawberryAni = "juice_red";
private string m_lemonAni = "juice_yellow";
......@@ -42,7 +42,10 @@ public class GlassView : MonoBehaviour
private void Awake()
{
m_strawberry.gameObject.SetActive(false);
m_lemon.gameObject.SetActive(false);
if(m_lemon)
{
m_lemon.gameObject.SetActive(false);
}
if(m_orange)
{
m_orange.gameObject.SetActive(false);
......@@ -161,9 +164,12 @@ public class GlassView : MonoBehaviour
m_strawberry.localPosition = varPosStrawberry;
//柠檬位置
Vector3 varPos = m_lemon.localPosition;
varPos.y = m_startPos + m_strawberry.localScale.y * m_power;
m_lemon.localPosition = varPos;
if(m_lemon)
{
Vector3 varPos = m_lemon.localPosition;
varPos.y = m_startPos + m_strawberry.localScale.y * m_power;
m_lemon.localPosition = varPos;
}
//橙子位置
if (m_orange)
......
......@@ -8,6 +8,7 @@ public class SelectLevelCtrl : MonoBehaviour
{
public Animator m_boyAni;
public Animator m_girlAni;
public Transform m_girlLeftHandNode;
public GameObject m_fruitEffectObj;
public GameObject m_sportEffectObj;
public Transform m_camera;
......@@ -20,7 +21,7 @@ public class SelectLevelCtrl : MonoBehaviour
private Vector3 m_girlStartPos;
private Quaternion m_girlStartRotation;
private float m_cameraPosY;
private Vector3 m_cameraPos;
//private string m_idle1 = "TK_idle1";
//private string m_idle3 = "TK_idle3";
//private string m_walk = "TK_walk1";
......@@ -28,6 +29,11 @@ public class SelectLevelCtrl : MonoBehaviour
private Sequence m_sq;
public Action onMoveFinish;
//镜头切换
private Vector3 m_StartCameraPos = new Vector3(0,0.82f,-0.66f);
private Vector3 m_FinalCameraPos = new Vector3(0, 1.64f, -1.56f);
private Quaternion m_StartCameraRotation = Quaternion.Euler(45, 0, 0);
// Start is called before the first frame update
void Start()
{
......@@ -41,7 +47,7 @@ public class SelectLevelCtrl : MonoBehaviour
m_girlStartPos = m_girlTrans.position;
m_girlStartRotation = m_girlTrans.rotation;
m_cameraPosY = m_camera.position.y;
m_cameraPos = m_camera.position;
BattleCtrl.instance.battleUI.onNextBtn += CameraMoveUp;
}
void PlayBoyAnim(int value, string argName = "value")
......@@ -143,10 +149,32 @@ public class SelectLevelCtrl : MonoBehaviour
//镜头向上移动
void CameraMoveUp()
{
Vector3 varPos = m_camera.position;
varPos.y = m_cameraPosY;
m_camera.DOMove(varPos, 1.0f).onComplete = delegate () {
NextStart();
BattleCtrl.instance.levelManager.curLevel.fruitView.BindCupLeftNode(m_girlLeftHandNode);
m_sq = DOTween.Sequence();
m_sq.Append(m_camera.DOLocalMove(m_cameraPos, 1.0f));
m_sq.Join(m_camera.DOLocalRotateQuaternion(Quaternion.identity, 1.0f));
m_sq.AppendCallback(NextStart);
}
//设置镜头位置和旋转
public void SetCameraPosAndRotation()
{
m_camera.localPosition = m_StartCameraPos;
m_camera.localRotation = m_StartCameraRotation;
Vector3 varBoyPos = m_boyTrans.position;
varBoyPos.x -= 1;
m_boyTrans.position = varBoyPos;
Vector3 varGirlPos = m_girlTrans.position;
varGirlPos.x -= 1;
m_girlTrans.position = varGirlPos;
Invoke("DelayPlayCameraAni", 1.0f);
}
//延迟播放镜头动画
void DelayPlayCameraAni()
{
m_camera.DOLocalMove(m_FinalCameraPos, 0.5f).onComplete = delegate ()
{
m_girlTrans.DOLocalMove(m_girlStartPos, 1.0f);
BattleCtrl.instance.battleUI.OnBattleWin();
};
}
private void OnDestroy()
......
This diff is collapsed.
This diff is collapsed.
......@@ -55,7 +55,6 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BornY: 0.55
- _BottomY: -0.55
......@@ -80,4 +79,3 @@ Material:
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
......@@ -13,7 +13,7 @@ Material:
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
m_CustomRenderQueue: 2000
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
......@@ -55,7 +55,6 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BottomY: -0.5
- _BumpScale: 1
......@@ -79,4 +78,3 @@ Material:
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []
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