Commit ef2cdcb7 authored by LiLiuZhou's avatar LiLiuZhou

1

parent 51b15136
...@@ -183,6 +183,19 @@ public class UIMgr : BaseMgr<UIMgr> ...@@ -183,6 +183,19 @@ public class UIMgr : BaseMgr<UIMgr>
paneldic.Remove(panelname); paneldic.Remove(panelname);
} }
} }
public void HidePanel<T>(T panel) where T : BasePanel
{
CheckInit();
string panelname = typeof(T).ToString();
if (paneldic.ContainsKey(panelname))
{
paneldic[panelname].OnHide();
GameObject.Destroy(paneldic[panelname].gameObject);
paneldic.Remove(panelname);
}
}
public T GetPanel<T>(bool ShowError = true) where T:BasePanel public T GetPanel<T>(bool ShowError = true) where T:BasePanel
{ {
......
...@@ -161,6 +161,7 @@ GameObject: ...@@ -161,6 +161,7 @@ GameObject:
- component: {fileID: 3309373071280343784} - component: {fileID: 3309373071280343784}
- component: {fileID: 3309373071280343786} - component: {fileID: 3309373071280343786}
- component: {fileID: 3309373071280343787} - component: {fileID: 3309373071280343787}
- component: {fileID: 1019774784496669404}
m_Layer: 5 m_Layer: 5
m_Name: BtnRestart m_Name: BtnRestart
m_TagString: Untagged m_TagString: Untagged
...@@ -224,6 +225,49 @@ MonoBehaviour: ...@@ -224,6 +225,49 @@ MonoBehaviour:
m_FillOrigin: 0 m_FillOrigin: 0
m_UseSpriteMesh: 0 m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1 m_PixelsPerUnitMultiplier: 1
--- !u!114 &1019774784496669404
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3309373071280343785}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Navigation:
m_Mode: 3
m_SelectOnUp: {fileID: 0}
m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0}
m_Transition: 1
m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1}
m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608}
m_ColorMultiplier: 1
m_FadeDuration: 0.1
m_SpriteState:
m_HighlightedSprite: {fileID: 0}
m_PressedSprite: {fileID: 0}
m_SelectedSprite: {fileID: 0}
m_DisabledSprite: {fileID: 0}
m_AnimationTriggers:
m_NormalTrigger: Normal
m_HighlightedTrigger: Highlighted
m_PressedTrigger: Pressed
m_SelectedTrigger: Selected
m_DisabledTrigger: Disabled
m_Interactable: 1
m_TargetGraphic: {fileID: 3309373071280343787}
m_OnClick:
m_PersistentCalls:
m_Calls: []
--- !u!1 &3309373071677453143 --- !u!1 &3309373071677453143
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
......
...@@ -13,6 +13,7 @@ public class GameController : MonoBehaviour ...@@ -13,6 +13,7 @@ public class GameController : MonoBehaviour
GameObject obj = new GameObject("GameController"); GameObject obj = new GameObject("GameController");
Instance = obj.AddComponent<GameController>(); Instance = obj.AddComponent<GameController>();
Instance.Fruits = new GameObject("Fruits").transform; Instance.Fruits = new GameObject("Fruits").transform;
Instance.Fruits.position = Vector3.zero;
} }
return Instance; return Instance;
} }
...@@ -27,4 +28,14 @@ public class GameController : MonoBehaviour ...@@ -27,4 +28,14 @@ public class GameController : MonoBehaviour
//红线高度 //红线高度
public float RedLinePosY => ColliderAdapter.Instance.RedLinePosY; public float RedLinePosY => ColliderAdapter.Instance.RedLinePosY;
public void ResetGame()
{
IsGameOver = false;
for (int i = Fruits.childCount - 1; i >= 0 ; i--)
{
Destroy(Fruits.GetChild(i).gameObject);
}
UIMgr.GetInstance().GetPanel<TouchPanel>().SetInstantiateFruit();
}
} }
...@@ -43,7 +43,8 @@ public class Fruit : MonoBehaviour ...@@ -43,7 +43,8 @@ public class Fruit : MonoBehaviour
if (rig2D.bodyType == RigidbodyType2D.Kinematic) if (rig2D.bodyType == RigidbodyType2D.Kinematic)
{ {
GameController.GetInstance().IsGameOver = true; GameController.GetInstance().IsGameOver = true;
Debug.LogError("游戏结束"); UIMgr.GetInstance().ShowPanel<RestartPanel>(E_Layer.mid);
//GameController.GetInstance().ResetGame();
} }
if (collision.gameObject.CompareTag("Bottom")) if (collision.gameObject.CompareTag("Bottom"))
...@@ -107,7 +108,8 @@ public class Fruit : MonoBehaviour ...@@ -107,7 +108,8 @@ public class Fruit : MonoBehaviour
int fruitNum = int.Parse(gameObject.name) + 1; int fruitNum = int.Parse(gameObject.name) + 1;
string NewObjName = fruitNum.ToString(); string NewObjName = fruitNum.ToString();
GameObject Obj = Instantiate(Resources.Load<GameObject>("Fruits/" + NewObjName), MidPos, Quaternion.identity); GameObject Obj = Instantiate(Resources.Load<GameObject>("Fruits/" + NewObjName),GameController.GetInstance().Fruits);
Obj.transform.localPosition = MidPos;
Obj.transform.localScale = new Vector3(0.3f, 0.3f, 1); Obj.transform.localScale = new Vector3(0.3f, 0.3f, 1);
Obj.name = NewObjName; Obj.name = NewObjName;
......
...@@ -13,7 +13,8 @@ public class RestartPanel : BasePanel ...@@ -13,7 +13,8 @@ public class RestartPanel : BasePanel
{ {
GetControl<Button>("BtnRestart").onClick.AddListener(()=> { GetControl<Button>("BtnRestart").onClick.AddListener(()=> {
GameController.GetInstance().ResetGame();
UIMgr.GetInstance().HidePanel(this);
}); });
} }
......
...@@ -10,7 +10,6 @@ using UnityEngine.EventSystems; ...@@ -10,7 +10,6 @@ using UnityEngine.EventSystems;
[RequireComponent(typeof(EventTrigger))] [RequireComponent(typeof(EventTrigger))]
public class TouchPanel : BasePanel public class TouchPanel : BasePanel
{ {
//相机 //相机
public Camera cam; public Camera cam;
...@@ -119,7 +118,7 @@ public class TouchPanel : BasePanel ...@@ -119,7 +118,7 @@ public class TouchPanel : BasePanel
} }
//刷新水果 //刷新水果
private void SetInstantiateFruit() public void SetInstantiateFruit()
{ {
if (InstantFruitList.Count == 0) if (InstantFruitList.Count == 0)
{ {
...@@ -127,11 +126,11 @@ public class TouchPanel : BasePanel ...@@ -127,11 +126,11 @@ public class TouchPanel : BasePanel
return; return;
} }
#if Test #if Test
int NowFruitType = 7; int NowFruitType = 10;
#else #else
int NowFruitType = InstantFruitList.Dequeue(); int NowFruitType = InstantFruitList.Dequeue();
#endif #endif
NowFruit = GameObject.Instantiate(Resources.Load<GameObject>("Fruits/" + NowFruitType)); NowFruit = GameObject.Instantiate(Resources.Load<GameObject>("Fruits/" + NowFruitType),GameController.GetInstance().Fruits);
NowFruit.name = NowFruitType.ToString(); NowFruit.name = NowFruitType.ToString();
NowFruit.transform.position = new Vector3(0, GameController.GetInstance().RedLinePosY); NowFruit.transform.position = new Vector3(0, GameController.GetInstance().RedLinePosY);
NowFruit.transform.localScale = new Vector3(0.3f, 0.3f, 1); NowFruit.transform.localScale = new Vector3(0.3f, 0.3f, 1);
......
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