public void ParseShape() { if ((listShape != null) && (listShape.Count != 0)) { return; } listShape = new List <object>(); int idx = LevelManager.main.placeLevel; string fileName = Common.GAME_RES_DIR + "/guanka/shape.json"; //FILE_PATH string json = FileUtil.ReadStringAsset(fileName);//((TextAsset)Resources.Load(fileName, typeof(TextAsset))).text; // Debug.Log("json::"+json); JsonData root = JsonMapper.ToObject(json); JsonData items = root["list"]; for (int i = 0; i < items.Count; i++) { ShapeColorItemInfo info = new ShapeColorItemInfo(); JsonData item = items[i]; info.id = (string)item["id"]; string picdir = Common.GAME_RES_DIR + "/image/" + info.id; info.pic = picdir + "/" + info.id + ".png"; info.picInner = picdir + "/" + info.id + "_inner.png"; info.picOuter = picdir + "/" + info.id + "_outer.png"; listShape.Add(info); } }
public void ParseColor() { if ((listColor != null) && (listColor.Count != 0)) { return; } listColor = new List <object>(); int idx = LevelManager.main.placeLevel; string fileName = Common.GAME_RES_DIR + "/guanka/color.json"; //FILE_PATH string json = FileUtil.ReadStringAsset(fileName);//((TextAsset)Resources.Load(fileName, typeof(TextAsset))).text; // Debug.Log("json::"+json); JsonData root = JsonMapper.ToObject(json); JsonData items = root["list"]; for (int i = 0; i < items.Count; i++) { ShapeColorItemInfo info = new ShapeColorItemInfo(); JsonData item = items[i]; info.id = (string)item["id"]; info.color = Common.RGBString2Color((string)item["color"]); listColor.Add(info); } }
void LoadBg() { List <object> listBgNew = new List <object>(); foreach (ShapeColorItemInfo infobg in GameLevelParse.main.listBg) { bool isColorFilter = false; foreach (ShapeColorItemInfo infocolor in gameShapeColor.listColorShow) { isColorFilter = IsInColorFilter(infobg, infocolor); if (isColorFilter) { break; } } if (!isColorFilter) { listBgNew.Add(infobg); } } Debug.Log("listBgNew.count = " + listBgNew.Count); int rdm = Random.Range(0, listBgNew.Count); ShapeColorItemInfo info = gameShapeColor.GetItemInfoShapeColor(rdm, listBgNew); if (info != null) { AppSceneBase.main.UpdateWorldBg(info.pic); LayOut(); } }
void ParseBgList(byte[] data) { if ((listBg != null) && (listBg.Count != 0)) { return; } listBg = new List <object>(); string json = Encoding.UTF8.GetString(data); JsonData root = JsonMapper.ToObject(json); JsonData items = root["list"]; for (int i = 0; i < items.Count; i++) { ShapeColorItemInfo info = new ShapeColorItemInfo(); JsonData item = items[i]; string strdir = Common.GAME_RES_DIR + "/image_bg"; info.pic = strdir + "/" + (string)item["pic"]; info.listColorFilter = new List <object>(); JsonData colorFilter = item["color_filter"]; for (int j = 0; j < colorFilter.Count; j++) { JsonData itemtmp = colorFilter[j]; ShapeColorItemInfo infotmp = new ShapeColorItemInfo(); infotmp.id = (string)itemtmp["color_id"]; info.listColorFilter.Add(infotmp); } listBg.Add(info); } }
public string GameStatusOfColor(ShapeColorItemInfo info) { int status = PlayerPrefs.GetInt(GameShapeColor.STR_KEY_GAME_STATUS_COLOR + info.id); string str = StringOfGameStatus(status); return(str); }
public void ParseShape(byte[] data) { if ((listShape != null) && (listShape.Count != 0)) { return; } if (listGuanka == null) { listGuanka = new List <object>(); } listShape = new List <object>(); int idx = LevelManager.main.placeLevel; ItemInfo infoPlace = LevelManager.main.GetPlaceItemInfo(idx); string json = Encoding.UTF8.GetString(data); // Debug.Log("json::"+json); JsonData root = JsonMapper.ToObject(json); string strPlace = infoPlace.id; JsonData items = null; string key = "list"; if (Common.JsonDataContainsKey(root, key)) { items = root[key]; } else { items = root["items"]; } for (int i = 0; i < items.Count; i++) { ShapeColorItemInfo info = new ShapeColorItemInfo(); JsonData item = items[i]; info.id = (string)item["id"]; //string picdir = Common.GAME_RES_DIR + "/image/" + info.id; string picdir = Common.GAME_RES_DIR + "/image/" + strPlace + "/" + info.id; info.isMath = true; if (strPlace != PLACE_MATH) { info.isMath = false; picdir = Common.GAME_RES_DIR + "/image/" + strPlace; } info.pic = picdir + "/" + info.id + ".png"; info.picInner = picdir + "/" + info.id + "_inner.png"; info.picOuter = picdir + "/" + info.id + "_outer.png"; if (strPlace != PLACE_MATH) { info.picInner = info.pic; info.picOuter = info.pic; } if (!FileUtil.FileIsExistAsset(info.pic)) { continue; } listShape.Add(info); listGuanka.Add(info); } }
void RunDisapperAnimation(ShapeColorItemInfo info) { // iTween.ScaleTo(info.obj, new Vector3(0f, 0f, 0f), 1.5f); // 10 秒内 比例变化到 (5,5,5) info.obj.transform.DOScale(new Vector3(0f, 0f, 0f), 1.5f).OnComplete(() => { CheckGameWin(); }); }
public string ColorTitleOfItem(ShapeColorItemInfo info) { //InitLanguage(); if (languageColor == null) { return(null); } string str = languageColor.GetString(info.id); return(str); }
public string ShapeTitleOfItem(ShapeColorItemInfo info) { if (languageGame == null) { return(null); } string key = LanguageKeyOfShape(info); string str = languageGame.GetString(key); return(str); }
public void OnTextureHttpRequestFinished(bool isSuccess, Texture2D tex, object data) { // if (isSuccess && (tex != null)) { Debug.Log("OnTextureHttpRequestFinished data start"); ShapeColorItemInfo info = data as ShapeColorItemInfo; Debug.Log("OnTextureHttpRequestFinished data end"); UpdateIcon(tex, info.color); } LayOut(); }
void LoadBg() { SpriteRenderer spRender = objSpriteBg.GetComponent <SpriteRenderer>(); ShapeColorItemInfo info = GetItemInfo(indexBg); Texture2D tex = LoadTexture.LoadFromAsset(info.pic); Sprite sp = TextureUtil.CreateSpriteFromTex(tex); spRender.size = new Vector2(tex.width / 100, tex.height / 100); spRender.sprite = sp; textTitle.text = FileUtil.GetFileName(info.pic); LayOutChild(); }
void onTouchDown() { isItemHasSel = false; Vector2 pos = Common.GetInputPosition(); ptDownScreen = pos; isError = false; Vector3 posword = mainCam.ScreenToWorldPoint(pos); Debug.Log("onTouchDown: " + posword); foreach (ShapeColorItemInfo info in listItem) { bool isLock = IsItemLock(info); if (isLock) { continue; } if (iDelegateShapeColor != null) { iDelegateShapeColor.OnGameShapeColorDidError(this, UIGameShapeColor.ERROR_STATUS_HIDE, null); } Bounds bd = info.obj.GetComponent <SpriteRenderer>().bounds; posword.z = bd.center.z; Rect rc = new Rect(info.obj.transform.position.x - bd.size.x / 2, info.obj.transform.position.y - bd.size.y / 2, bd.size.x, bd.size.y); //Debug.Log("left:"+bd+"rc="+rc); if (rc.Contains(posword)) { posItemWorld = info.obj.transform.position; itemInfoSel = info; isItemHasSel = true; // ShapeHighlighterController hlc = AddHighLight(info.obj); // hlc.UpdateColor(color); if (info.objTrail != null) { ShapeTrail trail = info.objTrail.GetComponent <ShapeTrail>(); if (trail != null) { trail.setColor(Color.red); trail.ClearDraw(); } } Debug.Log("itemInfoSel:id:" + itemInfoSel.id + " color:" + itemInfoSel.color); break; } } }
public void OnGameShapeColorDidError(GameShapeColor g, int error, ShapeColorItemInfo info) { //speak string str = ""; if (info != null) { str = StringOfItem(info); TTS.main.Speak(str); Debug.Log(str); } UpdateError(error, str); }
public ShapeColorItemInfo GetItemInfoById(string strid) { ShapeColorItemInfo inforet = null; foreach (ShapeColorItemInfo info in listItem) { if (info.id == strid) { inforet = info; break; } } return(inforet); }
bool IsInColorFilter(ShapeColorItemInfo colorfilter, ShapeColorItemInfo info) { bool isfilter = false; foreach (ShapeColorItemInfo infocolor in colorfilter.listColorFilter) { if (info.id == infocolor.id) { isfilter = true; break; } } return(isfilter); }
public void LoadGame(int mode) { Debug.Log("LoadGame:mode=" + mode); isShowAnimalFinish = false; if (listItem != null) { listItem.Clear(); } else { listItem = new List <object>(); } if (listColorShow == null) { listColorShow = new List <object>(); } else { listColorShow.Clear(); } switch (mode) { case GAME_MODE_SHAPE: LoadGameByShape(mode); break; case GAME_MODE_COLOR: LoadGameByColor(mode); break; case GAME_MODE_SHAPE_COLOR: LoadGameByShapeColor(mode); break; } if (AppVersion.appCheckHasFinished) { if (listColorShow.Count != 0) { int idx = Random.Range(0, listColorShow.Count); ShapeColorItemInfo infocolor = listColor[idx] as ShapeColorItemInfo; // CreateBomb(infocolor.color); } } LayOutItems(true); }
ShapeColorItemInfo GetItemInfo(int idx) { if (listBg == null) { return(null); } if (idx >= listBg.Count) { return(null); } ShapeColorItemInfo info = listBg[idx] as ShapeColorItemInfo; return(info); }
public void OnTextureHttpRequestFinished(bool isSuccess, Texture2D tex, object data) { ShapeColorItemInfo info = data as ShapeColorItemInfo; if (info != null) { // ShapeColorItemInfo infoitem = GetItemInfoById(info.id); // if (infoitem != null) // { // infoitem.textureHasLoad = true; // } } // LayOut(); }
public ShapeColorItemInfo GetItemInfoShapeColor(int idx, List <object> list) { if (list == null) { return(null); } if (idx >= list.Count) { return(null); } ShapeColorItemInfo info = list[idx] as ShapeColorItemInfo; return(info); }
void Start() { IconViewController iconctroller = (IconViewController)this.controller; if (iconctroller != null) { if (iconctroller.deviceInfo.isIconHd) { imageHD.gameObject.SetActive(true); } } List <object> listColor = GameLevelParse.main.listColor; Shader shaderColor = Shader.Find("Custom/ShapeColor"); { ShapeColorItemInfo info = listShape[0] as ShapeColorItemInfo; imageShape0.UpdateImage(info.pic, imageShape0.keyImage); Material mat = new Material(shaderColor); ShapeColorItemInfo infocolor = listColor[0] as ShapeColorItemInfo; mat.SetColor("_ColorShape", infocolor.color); imageShape0.image.material = mat; } { ShapeColorItemInfo info = listShape[1] as ShapeColorItemInfo; imageShape1.UpdateImage(info.pic); ShapeColorItemInfo infocolor = listColor[1] as ShapeColorItemInfo; //ShapeHighlighterController hlc = AddHighLight(imageShape1.gameObject); // hlc.UpdateColor(infocolor.color); imageHeighLight.UpdateImage(info.pic); Material mat = new Material(shaderColor); mat.SetColor("_ColorShape", infocolor.color); imageHeighLight.image.material = mat; } { ShapeColorItemInfo info = listShape[2] as ShapeColorItemInfo; imageShape2.UpdateImage(info.pic); Material mat = new Material(shaderColor); ShapeColorItemInfo infocolor = listColor[2] as ShapeColorItemInfo; mat.SetColor("_ColorShape", infocolor.color); imageShape2.image.material = mat; } LayOut(); OnUIDidFinish(); }
string StringOfItem(ShapeColorItemInfo info) { string str = ""; string strColor = UIGameShapeColor.languageColor.GetString(info.colorid); string strShape = languageGame.GetString(LanguageKeyOfShape(info)); str = strColor + strShape; switch (Language.main.GetLanguage()) { case SystemLanguage.Chinese: break; } return(str); }
GameObject CreateItem(ShapeColorItemInfo info, bool isInner, Color color) { float x, y, w, h; string name = info.id + "_outer"; if (isInner) { name = info.id + "_inner"; } GameObject obj = new GameObject(name); obj.AddComponent <RectTransform>(); RectTransform rcTran = obj.GetComponent <RectTransform>(); obj.AddComponent <SpriteRenderer>(); SpriteRenderer objSR = obj.GetComponent <SpriteRenderer>(); string pic = info.picOuter; if (isInner) { pic = info.picInner; } Sprite sprite = TextureUtil.CreateSpriteFromAsset(pic); sprite.name = info.id; objSR.sprite = sprite; //objSR.size = new Vector2(sprite.texture.width/100,sprite.texture.height/100); //rcTran.sizeDelta = new Vector2(objSR.size.x, objSR.size.y); float itemPosZ = -5f; obj.transform.position = new Vector3(0, 0, itemPosZ); //color objSR.material = new Material(shaderColor); Material mat = objSR.material; mat.SetColor("_ColorShape", color); //mat.SetTexture("_MainTex", texPic); return(obj); }
public ShapeColorItemInfo GetItemInfo() { int idx = LevelManager.main.gameLevel; if (listGuanka == null) { return(null); } if (idx >= listGuanka.Count) { return(null); } ShapeColorItemInfo info = listGuanka[idx] as ShapeColorItemInfo; return(info); }
List <object> GetOtherItemList(ShapeColorItemInfo info, List <object> list) { if (list == null) { return(null); } List <object> listother = new List <object>(); foreach (ShapeColorItemInfo infotmp in list) { if (infotmp != info) { listother.Add(infotmp); } } return(listother); }
//创建炸弹 void CreateBomb(Color color) { if (objBomb != null) { return; } objBomb = new GameObject("Bomb"); objBomb.transform.parent = this.transform; float z = itemPosZ - 5; objBomb.transform.position = new Vector3(0, 0, z); SpriteRenderer objSR = objBomb.AddComponent <SpriteRenderer>(); TextureUtil.UpdateSpriteTexture(objBomb, AppRes.IMAGE_Game_Bomb); // 高亮颜色 { ShapeHighlighterController hlc = AddHighLight(objBomb); hlc.UpdateColor(color); } //添加物理特性 { Rigidbody2D bd = objBomb.AddComponent <Rigidbody2D>(); bd.gravityScale = 0; // bd.useGravity = false; bd.freezeRotation = true; bd.collisionDetectionMode = CollisionDetectionMode2D.Continuous; PolygonCollider2D collider = objBomb.AddComponent <PolygonCollider2D>(); } ShapeColorItemInfo infoItem = new ShapeColorItemInfo(); infoItem.obj = objBomb; // infoItem.objTrail = infoshape.objTrail; infoItem.id = ID_BOMB; // infoItem.color = infocolor.color; infoItem.isMain = false; infoItem.isInner = false; SetItemLock(infoItem, false); listItem.Add(infoItem); }
void ShowAllItem() { int totalRow = 0; int totalCol = 0; int totalItem = listShape.Count; int sqr = (int)Mathf.Sqrt(totalItem); if (totalItem > sqr * sqr) { sqr++; } totalRow = sqr; totalCol = sqr; Debug.Log("totalItem=" + totalItem + " row=" + totalRow + " col=" + totalCol); int[] indexRectList = RandomIndex(totalRow * totalCol, totalItem); for (int k = 0; k < listShape.Count; k++) { int indexRect = indexRectList[k]; int i = indexRect % totalCol; int j = indexRect / totalRow; ShapeColorItemInfo infoshape = listShape[k] as ShapeColorItemInfo; ShapeColorItemInfo infocolor = listColor[k] as ShapeColorItemInfo; GameObject obj = null; bool isInner = false; obj = CreateItem(infoshape, isInner, infocolor.color); Rect rc = GetRectItem(i, j, totalRow, totalCol); SpriteRenderer objSR = obj.GetComponent <SpriteRenderer>(); Bounds bd = objSR.bounds; float offsetx = bd.size.x / 2; //offsetx =0; float offsety = bd.size.y / 2; //offsety=0; Vector2 pt = RandomPointOfRect(rc, offsetx, offsety); Debug.Log("CreateItem:i=" + i + " j=" + j + " rc=" + rc + " pt=" + pt + " bd=" + bd.size); obj.transform.position = new Vector3(pt.x, pt.y, obj.transform.position.z); } }
void PlayAudioItemFinish(ShapeColorItemInfo info) { if (info.id == ID_BOMB) { return; } //AudioPlayer对象在场景切换后可能从当前scene移除了 // GameObject audioPlayer = GameObject.Find("AudioPlayer"); // if (audioPlayer != null) // { // AudioSource audioSource = audioPlayer.GetComponent<AudioSource>(); // audioSource.PlayOneShot(audioClipItemFinish); // } if (iDelegateShapeColor != null) { iDelegateShapeColor.OnGameShapeColorDidError(this, UIGameShapeColor.ERROR_STATUS_NONE, info); } }
ShapeColorItemInfo AddItem(Rect rc, ShapeColorItemInfo infoshape, ShapeColorItemInfo infocolor, GameObject obj, bool isInner, bool isMain) { ShapeColorItemInfo infoItem = new ShapeColorItemInfo(); infoItem.obj = obj; infoItem.objTrail = infoshape.objTrail; infoItem.id = infoshape.id; infoItem.color = infocolor.color; infoItem.isMain = isMain; infoItem.isInner = isInner; infoItem.colorid = infocolor.id; infoItem.textureHasLoad = infoshape.textureHasLoad; if (isInner) { SetItemLock(infoItem, false); } else { SetItemLock(infoItem, true); } listItem.Add(infoItem); /* * float scale = GetItmeScaleInRect(rc, obj); * obj.transform.localScale = new Vector3(scale, scale, 1f); * * * SpriteRenderer objSR = obj.GetComponent<SpriteRenderer>(); * Bounds bd = objSR.bounds; * float offsetx = bd.size.x / 2; * //offsetx =0; * float offsety = bd.size.y / 2; * //offsety=0; * Vector2 pt = RandomPointOfRect(rc, offsetx, offsety); * // Debug.Log("CreateItem:i=" + i + " j=" + j + " rc=" + rc + " pt=" + pt + " bd=" + bd.size); * obj.transform.position = new Vector3(pt.x, pt.y, obj.transform.position.z); */ return(infoItem); }
//是否同一对 bool isTheSamePairItems(ShapeColorItemInfo infoSel, ShapeColorItemInfo info) { bool ret = false; Debug.Log("isTheSamePairItems:infoSel.id=" + infoSel.id + " info.isInner=" + info.isInner); if (infoSel.id == ID_BOMB) { if ((!info.isInner) && (info.isMain)) { ret = true; } } else { if ((infoSel.id == info.id) && (infoSel.color == info.color)) { ret = true; } } return(ret); }
public void ParseColor(byte[] data) { if ((listColor != null) && (listColor.Count != 0)) { return; } listColor = new List <object>(); int idx = LevelManager.main.placeLevel; string json = Encoding.UTF8.GetString(data); // Debug.Log("json::"+json); JsonData root = JsonMapper.ToObject(json); JsonData items = root["list"]; for (int i = 0; i < items.Count; i++) { ShapeColorItemInfo info = new ShapeColorItemInfo(); JsonData item = items[i]; info.id = (string)item["id"]; info.color = Common.RGBString2Color((string)item["color"]); listColor.Add(info); } }