469 lines
13 KiB
C#
469 lines
13 KiB
C#
|
using System;
|
|||
|
using System.Collections;
|
|||
|
using System.Collections.Generic;
|
|||
|
using UnityEngine;
|
|||
|
|
|||
|
public class GameMgr : SingletonAutoMono<GameMgr>
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ϴμ<CFB4><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵļ<DAB5>
|
|||
|
private string LastDayKey;
|
|||
|
|
|||
|
// <20><><EFBFBD>ڱ<EFBFBD><DAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ļ<EFBFBD>
|
|||
|
private string OnlineTimeKey;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5>ȳ<EFBFBD>
|
|||
|
public List<PetObject> petList;
|
|||
|
|
|||
|
//<2F>ȴ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD>
|
|||
|
private List<PetObject> delList;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD>
|
|||
|
private List<PetObject> hightLightList;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>
|
|||
|
private int score=0;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
public float timeAll = 0;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private float saveTime = 0;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>1<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD>ۼ<EFBFBD>
|
|||
|
public int skillOne = 0;
|
|||
|
//<2F><><EFBFBD><EFBFBD>1<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD>ۼ<EFBFBD>
|
|||
|
public int skillTwo = 0;
|
|||
|
|
|||
|
public void init()
|
|||
|
{
|
|||
|
petList = new List<PetObject>();
|
|||
|
delList = new List<PetObject>();
|
|||
|
hightLightList = new List<PetObject>();
|
|||
|
LastDayKey = GameDataMgr.Instance.player.openId;
|
|||
|
OnlineTimeKey = GameDataMgr.Instance.player.openId + "_online";
|
|||
|
GameDataMgr.Instance.commonMsg.openId=GameDataMgr.Instance.player.openId;
|
|||
|
StartCoroutine(MailGet());
|
|||
|
}
|
|||
|
|
|||
|
// Э<>̣<EFBFBD>ÿ10<31>뷢<EFBFBD><EBB7A2>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
IEnumerator MailGet()
|
|||
|
{
|
|||
|
while (true)
|
|||
|
{
|
|||
|
// <20><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
|
|||
|
StartCoroutine(NetMgr.Instance.MailPost(GameDataMgr.Instance.commonMsg));
|
|||
|
// <20>ȴ<EFBFBD>10<31><30><EFBFBD>ٷ<EFBFBD><D9B7><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
yield return new WaitForSeconds(10f);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void Start()
|
|||
|
{
|
|||
|
if (IsNewDay())
|
|||
|
{
|
|||
|
timeAll = 0;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
LoadOnlineTime();
|
|||
|
}
|
|||
|
}
|
|||
|
void Update()
|
|||
|
{
|
|||
|
timeAll += Time.deltaTime;
|
|||
|
saveTime += Time.deltaTime;
|
|||
|
if (saveTime>=5f)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
SaveOnlineTime();
|
|||
|
saveTime = 0f;
|
|||
|
}
|
|||
|
|
|||
|
if (timeAll>=3600f)
|
|||
|
{
|
|||
|
timeAll = 3600f;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䵽<EFBFBD><E4B5BD><EFBFBD><EFBFBD>
|
|||
|
private void SaveOnlineTime()
|
|||
|
{
|
|||
|
PlayerPrefs.SetFloat(OnlineTimeKey, timeAll);
|
|||
|
PlayerPrefs.Save();
|
|||
|
}
|
|||
|
|
|||
|
// <20>ӱ<EFBFBD><D3B1>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
private void LoadOnlineTime()
|
|||
|
{
|
|||
|
timeAll = PlayerPrefs.GetFloat(OnlineTimeKey, 0f);
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>µ<EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
private bool IsNewDay()
|
|||
|
{
|
|||
|
// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD>ڣ<EFBFBD>ֻ<EFBFBD><D6BB>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>գ<EFBFBD>
|
|||
|
string nowDay = DateTime.Now.ToString("yyyy-MM-dd");
|
|||
|
|
|||
|
// <20><> PlayerPrefs <20><><EFBFBD><EFBFBD><EFBFBD>ϴα<CFB4><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
string lastDay = PlayerPrefs.GetString(LastDayKey, string.Empty);
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>ϴα<CFB4><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>˵<EFBFBD><CBB5><EFBFBD>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
if (string.IsNullOrEmpty(lastDay) || lastDay != nowDay)
|
|||
|
{
|
|||
|
// <20><><EFBFBD><EFBFBD> PlayerPrefs <20>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
PlayerPrefs.SetString(LastDayKey, nowDay);
|
|||
|
PlayerPrefs.Save();
|
|||
|
|
|||
|
//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for (int i = 0; i < GameDataMgr.Instance.player.onlineGiftOpen.Count; i++)
|
|||
|
{
|
|||
|
GameDataMgr.Instance.player.onlineGiftOpen[i] = false;
|
|||
|
}
|
|||
|
StartCoroutine(NetMgr.Instance.ChangeDataPost(GameDataMgr.Instance.player));
|
|||
|
return true; // <20><><EFBFBD><EFBFBD> true<75><65><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>µ<EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
}
|
|||
|
return false; // <20><><EFBFBD><EFBFBD> false<73><65><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ͬһ<CDAC><D2BB>
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="pet"></param>
|
|||
|
public void IsHightLight(PetObject pet)
|
|||
|
{
|
|||
|
pet.CreatHightLight();
|
|||
|
hightLightList.Add(pet);
|
|||
|
delList.Add(pet);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>ɫ<EFBFBD><C9AB><EFBFBD>Ҿ<EFBFBD><D2BE><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Χ<EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for (int i = 0; i < petList.Count; i++)
|
|||
|
{
|
|||
|
|
|||
|
if (petList[i] != null && petList[i].petSprite.sprite == pet.petSprite.sprite && DistancePet(pet, petList[i]) && !petList[i].isHightLight)
|
|||
|
{
|
|||
|
IsHightLight(petList[i]);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ɾ<EFBFBD><C9BE><EFBFBD>ȳ谴<C8B3><E8B0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public void DelListSort()
|
|||
|
{
|
|||
|
Dictionary<PetObject, float> dic = new Dictionary<PetObject, float>();
|
|||
|
List<KeyValuePair<PetObject, float>> li = new List<KeyValuePair<PetObject, float>>();
|
|||
|
float f;
|
|||
|
for (int i = 0; i < delList.Count; i++)
|
|||
|
{
|
|||
|
f = Vector2.Distance(delList[0].transform.position, delList[i].transform.position);
|
|||
|
dic.Add(delList[i], f);
|
|||
|
}
|
|||
|
|
|||
|
foreach (KeyValuePair<PetObject, float> kvp in dic)
|
|||
|
{
|
|||
|
li.Add(kvp);
|
|||
|
}
|
|||
|
li.Sort((a, b) =>
|
|||
|
{
|
|||
|
return a.Value > b.Value ? 1 : -1;
|
|||
|
});
|
|||
|
delList.Clear();
|
|||
|
for (int i = 0; i < li.Count; i++)
|
|||
|
{
|
|||
|
delList.Add(li[i].Key);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>ȳ<EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public void SkillOneDelPet()
|
|||
|
{
|
|||
|
skillOne = 0;
|
|||
|
PetObject pet = petList[UnityEngine.Random.Range(0, petList.Count)];
|
|||
|
pet.CreatHightLight();
|
|||
|
delList.Add(pet);
|
|||
|
List<PetObject> listPet = new List<PetObject>();
|
|||
|
|
|||
|
int index;
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ裬<C8B3>Ҿ<EFBFBD><D2BE><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Χ<EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for (int i = 0; i < petList.Count; i++)
|
|||
|
{
|
|||
|
if (petList[i] != null && DistancePet(pet, petList[i]) && petList[i].isHightLight == false)
|
|||
|
{
|
|||
|
if (!delList.Contains(petList[i]))
|
|||
|
{
|
|||
|
listPet.Add(petList[i]);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if (listPet.Count > 2)
|
|||
|
{
|
|||
|
for (int j = 0; j < 2; j++)
|
|||
|
{
|
|||
|
index = UnityEngine.Random.Range(0, listPet.Count);
|
|||
|
delList.Add(listPet[index]);
|
|||
|
listPet.Remove(listPet[index]);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
switch (listPet.Count)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
break;
|
|||
|
case 1:
|
|||
|
delList.Add(listPet[0]);
|
|||
|
listPet[0].CreatHightLight();
|
|||
|
break;
|
|||
|
case 2:
|
|||
|
delList.Add(listPet[0]);
|
|||
|
listPet[0].CreatHightLight();
|
|||
|
delList.Add(listPet[1]);
|
|||
|
listPet[0].CreatHightLight();
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
listPet.Clear();
|
|||
|
DelHightLight();
|
|||
|
}
|
|||
|
|
|||
|
List<PetObject> li = new List<PetObject>();
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD>2ѡ<32><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD>ɾ<EFBFBD><C9BE>
|
|||
|
/// </summary>
|
|||
|
public void SkillTwoDelPet(PetObject pet)
|
|||
|
{
|
|||
|
if (delList.Count==0)
|
|||
|
{
|
|||
|
pet.CreatHightLight();
|
|||
|
delList.Add(pet);
|
|||
|
}
|
|||
|
|
|||
|
li.Add(pet);
|
|||
|
|
|||
|
if (delList.Count>0)
|
|||
|
{
|
|||
|
for (int i = 0; i < delList.Count; i++)
|
|||
|
{
|
|||
|
if (DistancePet(delList[i], li[0]))
|
|||
|
{
|
|||
|
if (!delList.Contains(li[0]))
|
|||
|
{
|
|||
|
li[0].CreatHightLight();
|
|||
|
delList.Add(li[0]);
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD> <20><><EFBFBD><EFBFBD>Ϊ3<CEAA><33>
|
|||
|
if (delList.Count == 3)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ķ<EFBFBD><C4B7><EFBFBD>
|
|||
|
skillTwo = 0;
|
|||
|
StartCoroutine(DelPet());
|
|||
|
PlayerMain.Instance.isSkillTwoStart = false;
|
|||
|
li.Clear();
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
li.Clear();
|
|||
|
}
|
|||
|
|
|||
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
public void DelHightLight()
|
|||
|
{
|
|||
|
DelListSort();
|
|||
|
StartCoroutine(DelPet());
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private IEnumerator DelPet()
|
|||
|
{
|
|||
|
//ȡ<><C8A1><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>
|
|||
|
PlayerMain.Instance.isStart = false;
|
|||
|
|
|||
|
for (int i = 0; i < delList.Count; i++)
|
|||
|
{
|
|||
|
petList.Remove(delList[i]);
|
|||
|
yield return null;
|
|||
|
}
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for (int i = 0; i < delList.Count; i++)
|
|||
|
{
|
|||
|
//ͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
|
|||
|
delList[i].CloseSpirte();
|
|||
|
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
PoolMgr.Instance.GetObj("Music/SoundMusic").GetComponent<SoundMusic>().PlaySoundMusic();
|
|||
|
delList[i].DeleteHightLight();
|
|||
|
//<2F><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>Ч
|
|||
|
delList[i].CreatDelEff();
|
|||
|
if (i<delList.Count-1)
|
|||
|
{
|
|||
|
yield return new WaitForSeconds(0.2f);
|
|||
|
}
|
|||
|
}
|
|||
|
//ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
for (int i = 0; i < delList.Count; i++)
|
|||
|
{
|
|||
|
if (delList[i]!=null)
|
|||
|
{
|
|||
|
Destroy(delList[i].gameObject);
|
|||
|
yield return null;
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>仯
|
|||
|
UIManager.Instance.GetPanel<GamePanel>().UpdateScore(AddScore());
|
|||
|
//<2F>ı䰴ť<E4B0B4><C5A5>ɫ
|
|||
|
UIManager.Instance.GetPanel<GamePanel>().UpdateButon(skillOne,skillTwo);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
ClearDicInfo();
|
|||
|
//ͨ<><CDA8>
|
|||
|
if (petList.Count == 0)
|
|||
|
{
|
|||
|
GamePanel gamePanel = UIManager.Instance.GetPanel<GamePanel>();
|
|||
|
PlayerData player = GameDataMgr.Instance.player;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
if (gamePanel.levInt == GameDataMgr.Instance.levList.Count)
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>һ<EFBFBD>ص<EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
UIManager.Instance.ShowPanel<Pass1Panel>();
|
|||
|
//ͨ<>غؿ<F3A3ACB9><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>С<EFBFBD><D0A1> ͨ<><CDA8><EFBFBD>ĵڼ<C4B5><DABC><EFBFBD>
|
|||
|
if (player.customLev < gamePanel.levInt)
|
|||
|
{
|
|||
|
player.customLev = gamePanel.levInt;
|
|||
|
StartCoroutine(NetMgr.Instance.ChangeDataPost(player));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
else
|
|||
|
{
|
|||
|
UIManager.Instance.ShowPanel<Pass2Panel>();
|
|||
|
//ͨ<>غؿ<F3A3ACB9><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>С<EFBFBD><D0A1> ͨ<><CDA8><EFBFBD>ĵڼ<C4B5><DABC><EFBFBD>
|
|||
|
if (player.customLev < gamePanel.levInt)
|
|||
|
{
|
|||
|
player.customLev = gamePanel.levInt;
|
|||
|
StartCoroutine(NetMgr.Instance.ChangeDataPost(player));
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
petList.Clear();
|
|||
|
}
|
|||
|
PlayerMain.Instance.isStart = true;
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>list
|
|||
|
public void ClearDicInfo()
|
|||
|
{
|
|||
|
hightLightList.Clear();
|
|||
|
delList.Clear();
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮<EFBFBD><D6AE><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>
|
|||
|
public bool DistancePet(PetObject pet, PetObject pet2)
|
|||
|
{
|
|||
|
if (pet.gameObject == null || pet2.gameObject == null)
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
else if (Vector2.Distance(pet.transform.position, pet2.transform.position) < 2f)
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
public void CancelHightLight()
|
|||
|
{
|
|||
|
for (int i = 0; i < hightLightList.Count; i++)
|
|||
|
{
|
|||
|
hightLightList[i].DeleteHightLight();
|
|||
|
}
|
|||
|
ClearDicInfo();
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private int AddScore()
|
|||
|
{
|
|||
|
if (delList.Count > 0)
|
|||
|
{
|
|||
|
if (delList.Count >= 5)
|
|||
|
{
|
|||
|
skillOne += 5 * 5;
|
|||
|
if (skillOne>=100)
|
|||
|
{
|
|||
|
skillOne = 100;
|
|||
|
}
|
|||
|
skillTwo += 5 * 5;
|
|||
|
if (skillTwo >= 200)
|
|||
|
{
|
|||
|
skillTwo = 200;
|
|||
|
}
|
|||
|
return score += 5 * 5;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
skillOne += delList.Count * delList.Count;
|
|||
|
if (skillOne >= 100)
|
|||
|
{
|
|||
|
skillOne = 100;
|
|||
|
}
|
|||
|
skillTwo += delList.Count * delList.Count;
|
|||
|
if (skillTwo >= 200)
|
|||
|
{
|
|||
|
skillTwo = 200;
|
|||
|
}
|
|||
|
return score += delList.Count * delList.Count;
|
|||
|
}
|
|||
|
}
|
|||
|
return score;
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD>Э<EFBFBD>̺<EFBFBD><CCBA><EFBFBD>
|
|||
|
public void CreatePet()
|
|||
|
{
|
|||
|
StartCoroutine(CreatePetObj());
|
|||
|
}
|
|||
|
|
|||
|
GameObject obj;
|
|||
|
private List<GameObject> objs = new List<GameObject>();
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ȳ<EFBFBD>
|
|||
|
public IEnumerator CreatePetObj()
|
|||
|
{
|
|||
|
List<PetInfo> pets = GameDataMgr.Instance.levData.petInfoList;
|
|||
|
Transform target = GameObject.Find("GamePos").transform;
|
|||
|
if (objs.Count!=0)
|
|||
|
{
|
|||
|
for (int i = 0; i < objs.Count; i++)
|
|||
|
{
|
|||
|
Destroy(objs[i].gameObject);
|
|||
|
}
|
|||
|
objs.Clear();
|
|||
|
petList.Clear();
|
|||
|
}
|
|||
|
for (int i = 0; i < pets.Count; i++)
|
|||
|
{
|
|||
|
obj = Instantiate(Resources.Load<GameObject>(pets[i].res));
|
|||
|
obj.transform.position = new Vector2(pets[i].post_x, pets[i].post_y);
|
|||
|
obj.transform.SetParent(target, false);
|
|||
|
obj.GetComponent<Rigidbody2D>().simulated = false;
|
|||
|
petList.Add(obj.GetComponent<PetObject>());
|
|||
|
objs.Add(obj);
|
|||
|
}
|
|||
|
for (int i = 0; i < objs.Count; i++)
|
|||
|
{
|
|||
|
objs[i].GetComponent<Rigidbody2D>().simulated = true;
|
|||
|
}
|
|||
|
yield return null;
|
|||
|
}
|
|||
|
|
|||
|
}
|