public void UseHeart(int idx) { DOTween.Kill(this.m_img_heart, false); int num = idx / PlayerPrefs.GetInt("BoardSize", 5); int num2 = idx % PlayerPrefs.GetInt("BoardSize", 5); float m_cell_width = 800f / (float)PlayerPrefs.GetInt("BoardSize", 5); Vector3 position = new Vector3((float)(num2 * m_cell_width + 60 - 300), (float)(num * m_cell_width + 60 - 300), 0f); Vector3 endValue = this.gameBox.transform.TransformPoint(position); this.m_img_heart.transform.localScale = new Vector3(1f, 1f, 1f); this.m_img_heart.transform.DOJump(endValue, 0.1f, 1, 0.5f, false).OnComplete(delegate { this.blocks[idx].setNum(Game1DataLoader.GetInstance().GetNumber(idx)); this.m_img_heart.SetActive(false); GameObject obj = UnityEngine.Object.Instantiate <GameObject>(this.blocks[idx].gameObject); G1Block _sequence3 = obj.GetComponent <G1Block>(); _sequence3.transform.DOScale(1.5f, 0.5f); _sequence3.FadeOut().OnComplete(delegate { Game1DataLoader.GetInstance().HeartIndex = -1; Game1DataLoader.GetInstance().AutoDelete(); UnityEngine.Object.Destroy(obj); }); obj.transform.SetParent(this.transform, false); obj.transform.position = this.blocks[idx].transform.position; AudioManager.GetInstance().PlayEffect("sound_eff_click_1"); this.GameOver(); }); }
public void UseProps(G1Block block) { this.PlayUseProp(block, Game1DataLoader.GetInstance().CurPropId, delegate { foreach (int current in Game1DataLoader.GetInstance().Use(block.Index)) { if (current < this.blocks.Count) { G1Block g = this.blocks[current]; if (!(g == null)) { ParticlesControl.GetInstance().PlayExplodeEffic(g.transform.position, g.GetCurrentColor()); Game1DataLoader.GetInstance().FreeBlock(g.gameObject); } } } Sequence _sequence = DOTween.Sequence(); _sequence.AppendInterval(0.5f); TweenCallback _tween; if ((_tween = Game1Manager.FindPathClass._callback) == null) { _tween = (Game1Manager.FindPathClass._callback = new TweenCallback(Game1Manager.FindPathClass._findPathFunc.UseProps)); } _sequence.AppendCallback(_tween); }); }
private void SetPosition(G1Block block, int index) { int row = index / 5; int col = index % 5; this.SetPosition(block, row, col); }
private void Delete() { Sequence sequence = DOTween.Sequence(); switch (this.m_step) { case 5: for (int i = 0; i < this.m_maps.Length; i++) { if (i != 2) { G1Block block = this.m_blocks[i]; sequence.Insert((float)i * 0.3f, block.transform.DOLocalMove(this.GetToPosition(i + 1), 0.3f, false).OnComplete(delegate { UnityEngine.Object.Destroy(block.gameObject); })); } } sequence.OnComplete(delegate { this.m_maps[2] = this.m_maps[2] + 1; this.m_blocks[2].setNum(this.m_maps[2]); this.AddNewLife(); this.Drop(); }); return; case 6: case 8: case 10: break; case 7: case 9: case 11: for (int j = 0; j < this.m_maps.Length; j++) { if (j != 1) { G1Block block = this.m_blocks[j]; sequence.Insert(0f, block.transform.DOLocalMove(this.GetToPosition(1), 0.3f, false).OnComplete(delegate { UnityEngine.Object.Destroy(block.gameObject); })); } } sequence.OnComplete(delegate { this.m_maps[1] = this.m_maps[1] + 1; this.m_blocks[1].setNum(this.m_maps[1]); this.AddNewLife(); this.Drop(); }); break; default: return; } }
private void Delete(List <int> list, int index) { AudioManager.GetInstance().PlayEffect("sound_eff_clear_1"); List <Game1Manager.PathRDM> list2 = this.FindPath(list, index); if (list2.Count < 0) { return; } this.m_dobleTotal++; int count = list2[0].paths.Count; Sequence sequence = DOTween.Sequence(); foreach (Game1Manager.PathRDM current in list2) { G1Block g = this.blocks[current.index]; g.ShowScore(); this.blocks[current.index] = null; int row = Game1DataLoader.GetInstance().GetRow(current.index); int col = Game1DataLoader.GetInstance().GetCol(current.index); if (current.paths.Count >= 2) { Vector2 b = new Vector2((float)current.paths[0].x, (float)current.paths[0].y); Vector2 vector = new Vector2((float)current.paths[1].x, (float)current.paths[1].y) - b; int index2 = Game1DataLoader.GetInstance().GetIndex(row + (int)vector.y, col + (int)vector.x); Tween t = g.DelayMove(index2, (float)(count - current.paths.Count) * 0.1f); sequence.Insert(0f, t); } } sequence.AppendInterval(0.1f); sequence.OnComplete(delegate { Debug.Log("새로 만들기 시작" + index); this.blocks[index].setNum(Game1DataLoader.GetInstance().GetNumber(index)); Debug.Log("새로 만들기 1" + this.blocks[index].name); this.AddNewLife(this.blocks[index]); Debug.Log("새로 만들기 2"); Game1DataLoader.GetInstance().Down(); Debug.Log("새로 만들기 3"); Check_Action(); Debug.Log("새로 만들기 완료"); }); Game1DataLoader.GetInstance().IsPlaying = true; this.RefreshScore(true); }
private void LoadBlock() { Debug.Log("m_board_size22222 " + PlayerPrefs.GetInt("BoardSize", 5)); Debug.Log("m_board 3333333 " + m_board_size); for (int i = 0; i < m_board_size; i++) { for (int j = 0; j < m_board_size; j++) { int number = Game1DataLoader.GetInstance().GetNumber(i, j); int index = Game1DataLoader.GetInstance().GetIndex(i, j); G1Block item = Game1DataLoader.GetInstance().CreateBlock(number, index, this.gameBox); this.blocks.Add(item); } } }
private void OnClickBlock(G1Block block) { Debug.Log("OnClickBlock " + Game1DataLoader.GetInstance().CurPropId); if (Game1DataLoader.GetInstance().CurPropId != 0) { this.m_dobleTotal = 0; ParticlesControl.GetInstance().StopChooseAllEffic(); Game1DataLoader.GetInstance().IsPlaying = true; this.ControlPropsPannel(true); this.UseProps(block); } else { this.MoveBloodToMap(block); } this.BeginAllParticle(); }
private void Drop(List <sDropData> dropList, List <int> newList) { Sequence sequence = DOTween.Sequence(); foreach (sDropData current in dropList) { G1Block g = this.blocks[current.srcIdx]; this.blocks[current.srcIdx] = null; this.blocks[current.dstIdx] = g; g.Index = current.dstIdx; Tween t = g.Move(current.dstIdx); sequence.Insert(0f, t); } for (int i = 0; i < m_board_size; i++) { int num = 0; foreach (int current2 in newList) { int col = Game1DataLoader.GetInstance().GetCol(current2); if (i == col) { Game1DataLoader.GetInstance().GetRow(current2); int number = Game1DataLoader.GetInstance().GetNumber(current2); G1Block g2 = Game1DataLoader.GetInstance().CreateBlock(number, current2, this.gameBox); g2.SetPosition(m_board_size + num, i); this.blocks[current2] = g2; Tween t2 = g2.Move(current2); sequence.Insert(0f, t2); num++; } } } sequence.AppendInterval(0.2f); sequence.OnComplete(delegate { Game1DataLoader.GetInstance().IsPlaying = false; Game1DataLoader.GetInstance().AutoDelete(); this.GameOver(); }); Game1DataLoader.GetInstance().IsPlaying = true; }
private void AddNewLife(G1Block block) { int num = Game1DataLoader.GetInstance().AddLife(); if (num == -1) { return; } int number = Game1DataLoader.GetInstance().BloodList[num]; G1BlockEvent _even = this.CreateNewLife(number, this.bloodBox, num); _even.transform.position = this.bloodPosList[num].transform.position; _even.transform.localScale = num == 0 ? new Vector3(1.3f, 1.3f, 1.3f) : new Vector3(1f, 1f, 1f); _even.transform.DOScale(this.bloodPosList[num].transform.localScale, 0.3f); }
private void InitMap() { for (int i = 0; i < this.m_maps.Length; i++) { int num = this.m_maps[i]; if (num == 0) { this.m_blocks.Add(null); } else { G1Block g = this.CreateBlock(num, i, this.gameBox); this.SetPosition(g, i); this.m_blocks.Add(g); if (i != 1) { g.RemoveClick(); } } } }
private void OnEndDragLife(GameObject obj, PointerEventData eventData) { if (obj != this.bloodList[0]) { return; } if (Game1DataLoader.GetInstance().IsPlaying) { return; } if (Game1DataLoader.GetInstance().HeartIndex != -1) { return; } this.m_markTips = true; if (!eventData.dragging) { obj.GetComponent <G1BlockEvent>().DisableDrag = true; obj.transform.DOKill(false); obj.transform.DOScale(this.bloodPosList[0].transform.localScale, 0.1f).OnComplete(delegate { obj.GetComponent <G1BlockEvent>().DisableDrag = false; }); return; } Vector2 screenPoint = RectTransformUtility.WorldToScreenPoint(eventData.pressEventCamera, obj.transform.position); if (!RectTransformUtility.RectangleContainsScreenPoint(this.gameBox.GetComponent <RectTransform>(), screenPoint, eventData.pressEventCamera)) { obj.GetComponent <G1BlockEvent>().DisableDrag = true; obj.transform.DOKill(false); obj.transform.DOLocalMove(base.transform.InverseTransformPoint(this.bloodPosList[0].transform.position), 0.1f, false); obj.transform.DOScale(this.bloodPosList[0].transform.localScale, 0.1f).OnComplete(delegate { obj.GetComponent <G1BlockEvent>().DisableDrag = false; }); return; } Vector2 vector = this.gameBox.GetComponent <RectTransform>().InverseTransformPoint(obj.transform.position); Vector2 vector2 = this.gameBox.GetComponent <RectTransform>().sizeDelta; float num = vector2.x / 2f + vector.x; double arg_15B_0 = (double)(vector2.y / 2f + vector.y); int num2 = (int)Math.Floor((double)(num / 200f)); int num3 = (int)Math.Floor(arg_15B_0 / (double)200f); if (num2 < 0 || num2 >= 5) { return; } if (num3 < 0 || num3 >= 5) { return; } int index = Game1DataLoader.GetInstance().GetIndex(num3, num2); G1Block component = this.blocks[index].GetComponent <G1Block>(); if (this.m_guideStatus == 0) { if (index == 12) { this.MoveBloodToMap(component); } else { obj.GetComponent <G1BlockEvent>().DisableDrag = true; obj.transform.DOKill(false); obj.transform.DOLocalMove(base.transform.InverseTransformPoint(this.bloodPosList[0].transform.position), 0.1f, false); obj.transform.DOScale(this.bloodPosList[0].transform.localScale, 0.1f).OnComplete(delegate { obj.GetComponent <G1BlockEvent>().DisableDrag = false; }); } } else { this.MoveBloodToMap(component); } AudioManager.GetInstance().PlayEffect("sound_eff_click_1"); }
private void MoveBloodToMap(G1Block toObj) { Game1DataLoader.GetInstance().IsPlaying = true; Debug.Log("MoveBloodToMap "); if (this.m_guideStatus == 0) { this.m_guideStatus = 1; DataManager.Instance.state_Player.LocalData_guide_game0102 = 1; DataManager.Instance.Save_Player_Data(); DOTween.Kill(this.m_figner_0, false); DOTween.Kill(this.m_figner_1, false); this.ToMask(this.m_transformList, "", true, Vector3.zero); } Debug.Log("this.m_guideStatus "); int blood = Game1DataLoader.GetInstance().GetBlood(); Game1DataLoader.GetInstance().AddNumber(toObj.Index, blood); int number = Game1DataLoader.GetInstance().GetNumber(toObj.Index); GameObject obj = this.bloodList[0]; obj.transform.SetParent(base.transform); Debug.Log(obj.name); Sequence sequence = DOTween.Sequence(); sequence.Append(obj.transform.DOMove(toObj.transform.position, 0.2f, false)); sequence.InsertCallback(0.2f, delegate { Debug.Log("block number " + number); if (number <= 0) { Game1DataLoader.GetInstance().FreeBlock(toObj.gameObject); } else { toObj.setNum(number); } this.m_dobleTotal = 0; Game1DataLoader.GetInstance().IsPlaying = false; Game1DataLoader.GetInstance().Delete(toObj.Index); TaskData.GetInstance().Add(100102, 1, true); this.GameOver(); }); if (number > 0) { sequence.AppendCallback(delegate { obj.GetComponent <G1BlockEvent>().FadeOut(toObj.GetCurrentColor()); }); sequence.Append(obj.transform.DOScale(1.5f, 0.5f)); } sequence.OnComplete(delegate { UnityEngine.Object.Destroy(obj); }); TweenCallback _tween = null; for (int i = 0; i < 5; i++) { if (i + 1 < 5) { this.bloodList[i] = this.bloodList[i + 1]; if (this.bloodList[i + 1] != null) { this.bloodList[i + 1].transform.DOKill(false); this.bloodList[i + 1].transform.DOLocalMove(this.bloodPosList[i].transform.localPosition, 0.2f, false); if (i == 0) { Tweener arg_241_0 = this.bloodList[i + 1].transform.DOScale(this.bloodPosList[i].transform.localScale, 0.2f); TweenCallback arg_241_1; if ((arg_241_1 = _tween) == null) { arg_241_1 = (_tween = delegate { this.bloodList[0].GetComponent <G1BlockEvent>().DisableDrag = false; }); } arg_241_0.OnComplete(arg_241_1); } else { this.bloodList[i + 1].transform.DOScale(this.bloodPosList[i].transform.localScale, 0.2f); } } } else { this.bloodList[i] = null; } } Check_Action(); }
// private void PlayDoubleAni() //{ // if (this.m_dobleTotal < 2) // { // return; // } // this.m_img_double.transform.Find("txt").GetComponent<Text>().text = string.Format("{0}", this.m_dobleTotal); // DOTween.Kill(this.m_img_double, false); // Sequence _sequence = DOTween.Sequence(); // this.m_img_double.gameObject.SetActive(true); // this.m_img_double.DOKill(false); // this.m_img_double.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); // _sequence.Append(this.m_img_double.transform.DOScale(1f, 0.2f).SetEase(Ease.OutBack)); // _sequence.AppendInterval(0.5f); // _sequence.OnComplete(delegate // { // this.m_img_double.gameObject.SetActive(false); // }); // UnityEngine.Debug.Log("Double:" + this.m_dobleTotal); //} private void PlayUseProp(G1Block toBlock, int propID, Action callfunc) { if (propID > this.m_img_props.Length) { return; } Debug.Log(toBlock.transform.position); Transform image = this.m_img_props[propID - 1]; Vector3 vector = GetComponent <RectTransform>().InverseTransformPoint(toBlock.transform.position); Debug.Log(vector); Vector3 vector2 = new Vector3(vector.x, 700f, 0f); image.localPosition = vector2; image.gameObject.SetActive(true); DOTween.Kill(image, false); float num = 800f; Sequence sequence = DOTween.Sequence(); switch (propID) { case 1: { float num2 = Math.Abs(vector.y - vector2.y) / num; sequence.Append(image.transform.DOLocalMove(vector, num2, false).SetEase(Ease.OutBounce)); break; } case 2: { vector = new Vector3(vector.x + 30F, vector.y + 20F, vector.z); float num2 = Math.Abs(vector.y - vector2.y) / num; image.transform.localRotation = default(Quaternion); sequence.Append(image.transform.DOLocalMove(vector, num2, false).SetEase(Ease.OutBounce)); sequence.AppendInterval(0.2f); sequence.Append(image.transform.DOLocalRotate(new Vector3(0f, 0f, -50f), 0.2f, RotateMode.LocalAxisAdd)); sequence.Append(image.transform.DOLocalRotate(new Vector3(0f, 0f, 90f), 0.1f, RotateMode.LocalAxisAdd)); break; } case 3: { float num2 = Math.Abs(vector.y - vector2.y) / num; sequence.Append(image.transform.DOLocalMove(vector, num2, false).SetEase(Ease.OutBounce)); break; } } sequence.OnComplete(delegate { image.gameObject.SetActive(false); Action expr_17 = callfunc; if (expr_17 == null) { return; } expr_17(); }); }
private void SetPosition(G1Block block, int row, int col) { Debug.Log(col + " " + row); block.transform.localPosition = new Vector3((float)(col * 160 - 160), (float)(row * 160), 0f); }
private void Drop() { this.m_step++; Dictionary <int, int> dictionary = new Dictionary <int, int> { { 3, 1 }, { 6, 2 }, { 8, 3 }, { 10, 4 }, { 12, 5 } }; int[] array = this.m_nextMap[dictionary[this.m_step]]; Sequence sequence = DOTween.Sequence(); for (int i = 0; i < array.Length; i++) { int num = array[i]; if (num != 0) { G1Block g = this.CreateBlock(num, i, this.gameBox); this.SetPosition(g, 1, i); this.m_blocks[i] = g; sequence.Insert(0f, g.transform.DOLocalMove(this.GetToPosition(i), 0.3f, false)); this.m_maps[i] = num; } } sequence.OnComplete(delegate { int step = this.m_step; if (step != 3) { switch (step) { case 6: { this.SetTipsText("TXT_NO_50047"); DOTween.Kill(this.m_img_finger, false); Sequence _sequence = DOTween.Sequence(); _sequence.AppendCallback(delegate { this.m_img_finger.transform.localPosition = this.m_mask.transform.InverseTransformPoint(this.m_blocks[1].transform.position) + this.m_fingerRect2; this.m_img_finger.gameObject.SetActive(true); }); _sequence.Append(this.m_img_finger.transform.DOBlendableLocalMoveBy(new Vector3(0f, -10f, 0f), 0.5f, false)); _sequence.Append(this.m_img_finger.transform.DOBlendableLocalMoveBy(new Vector3(0f, 10f, 0f), 0.5f, false)); _sequence.SetLoops(-1); _sequence.SetTarget(this.m_img_finger); this.m_isPuase = false; return; } case 8: { this.m_transformList.Add(new G1BoardManager.TransformControl(this.m_blocks[1].transform.parent, this.m_blocks[1].transform)); this.m_transformList.Add(new G1BoardManager.TransformControl(this.m_img_finger.transform.parent, this.m_img_finger.transform)); this.ToMask(this.m_transformList, "TXT_NO_50049", false, new Vector3(0f, -404f, 0f)); DOTween.Kill(this.m_img_finger, false); Sequence _sequence = DOTween.Sequence(); _sequence.AppendCallback(delegate { this.m_img_finger.transform.localPosition = this.m_mask.transform.InverseTransformPoint(this.m_blocks[1].transform.position) + this.m_fingerRect2; this.m_img_finger.gameObject.SetActive(true); }); _sequence.Append(this.m_img_finger.transform.DOBlendableLocalMoveBy(new Vector3(0f, -10f, 0f), 0.5f, false)); _sequence.Append(this.m_img_finger.transform.DOBlendableLocalMoveBy(new Vector3(0f, 10f, 0f), 0.5f, false)); _sequence.SetLoops(-1); _sequence.SetTarget(this.m_img_finger); this.m_isPuase = false; return; } case 10: { this.m_transformList.Add(new G1BoardManager.TransformControl(this.m_blocks[1].transform.parent, this.m_blocks[1].transform)); this.m_transformList.Add(new G1BoardManager.TransformControl(this.m_img_finger.transform.parent, this.m_img_finger.transform)); this.ToMask(this.m_transformList, "TXT_NO_50050", false, new Vector3(0f, -404f, 0f)); DOTween.Kill(this.m_img_finger, false); Sequence _sequence = DOTween.Sequence(); _sequence.AppendCallback(delegate { this.m_img_finger.transform.localPosition = this.m_mask.transform.InverseTransformPoint(this.m_blocks[1].transform.position) + this.m_fingerRect2; this.m_img_finger.gameObject.SetActive(true); }); _sequence.Append(this.m_img_finger.transform.DOBlendableLocalMoveBy(new Vector3(0f, -10f, 0f), 0.5f, false)); _sequence.Append(this.m_img_finger.transform.DOBlendableLocalMoveBy(new Vector3(0f, 10f, 0f), 0.5f, false)); _sequence.SetLoops(-1); _sequence.SetTarget(this.m_img_finger); this.m_isPuase = false; return; } case 12: { Sequence _sequence = DOTween.Sequence(); _sequence.AppendInterval(0.5f); _sequence.AppendCallback(delegate { this.StartGame(); }); return; } } this.m_isPuase = false; return; } this.SetTipsText("TXT_NO_50045"); this.PlayFingerMoveAni(0); this.m_isPuase = false; }); }
private void MoveBloodToMap(G1Block toObj, int idx) { int blood = this.GetBlood(); this.m_maps[idx] += blood; int number = this.m_maps[idx]; GameObject obj = this.bloodList[0]; obj.transform.SetParent(base.transform); Sequence _sequence = DOTween.Sequence(); _sequence.Append(obj.transform.DOMove(toObj.transform.position, 0.2f, false)); _sequence.InsertCallback(0.2f, delegate { toObj.setNum(number); switch (this.m_step) { case 5: case 7: case 9: case 11: this.Delete(); break; case 6: case 8: case 10: break; default: return; } }); _sequence.AppendCallback(delegate { obj.GetComponent <G1BlockEvent>().FadeOut(toObj.GetCurrentColor()); }); _sequence.Append(obj.transform.DOScale(1.5f, 0.5f)); _sequence.OnComplete(delegate { UnityEngine.Object.Destroy(obj); int step = this.m_step; if (step == 2) { this.Drop(); return; } if (step != 4) { return; } this.SetTipsText("TXT_NO_50046"); this.PlayFingerMoveAni(2); this.m_isPuase = false; }); for (int i = 0; i < 5; i++) { if (i + 1 < 5) { this.bloodList[i] = this.bloodList[i + 1]; if (this.bloodList[i + 1] != null) { this.bloodList[i + 1].transform.DOKill(false); this.bloodList[i + 1].transform.DOLocalMove(this.bloodPosList[i].transform.localPosition, 0.2f, false); this.bloodList[i + 1].transform.DOScale(this.bloodPosList[i].transform.localScale, 0.2f); this.bloodList[i + 1].GetComponent <G1BlockEvent>().DisableDrag = false; } } else { this.bloodList[i] = null; } } }