Ejemplo n.º 1
0
    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);
        }
    }
Ejemplo n.º 2
0
    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);
        }
    }
Ejemplo n.º 3
0
    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();
        }
    }
Ejemplo n.º 4
0
    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);
        }
    }
Ejemplo n.º 5
0
    public string GameStatusOfColor(ShapeColorItemInfo info)
    {
        int    status = PlayerPrefs.GetInt(GameShapeColor.STR_KEY_GAME_STATUS_COLOR + info.id);
        string str    = StringOfGameStatus(status);

        return(str);
    }
Ejemplo n.º 6
0
    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);
        }
    }
Ejemplo n.º 7
0
    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();
        });
    }
Ejemplo n.º 8
0
    public string ColorTitleOfItem(ShapeColorItemInfo info)
    {
        //InitLanguage();
        if (languageColor == null)
        {
            return(null);
        }
        string str = languageColor.GetString(info.id);

        return(str);
    }
Ejemplo n.º 9
0
    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();
 }
Ejemplo n.º 11
0
    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();
    }
Ejemplo n.º 12
0
    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;
            }
        }
    }
Ejemplo n.º 13
0
    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);
    }
Ejemplo n.º 14
0
    public ShapeColorItemInfo GetItemInfoById(string strid)
    {
        ShapeColorItemInfo inforet = null;

        foreach (ShapeColorItemInfo info in listItem)
        {
            if (info.id == strid)
            {
                inforet = info;
                break;
            }
        }
        return(inforet);
    }
Ejemplo n.º 15
0
    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);
    }
Ejemplo n.º 16
0
    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);
    }
Ejemplo n.º 17
0
    ShapeColorItemInfo GetItemInfo(int idx)
    {
        if (listBg == null)
        {
            return(null);
        }
        if (idx >= listBg.Count)
        {
            return(null);
        }
        ShapeColorItemInfo info = listBg[idx] as ShapeColorItemInfo;

        return(info);
    }
Ejemplo n.º 18
0
    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();
    }
Ejemplo n.º 19
0
    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);
    }
Ejemplo n.º 20
0
    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();
    }
Ejemplo n.º 21
0
    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);
    }
Ejemplo n.º 22
0
    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);
    }
Ejemplo n.º 23
0
    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);
    }
Ejemplo n.º 24
0
    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);
    }
Ejemplo n.º 25
0
    //创建炸弹
    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);
    }
Ejemplo n.º 26
0
    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);
        }
    }
Ejemplo n.º 27
0
    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);
        }
    }
Ejemplo n.º 28
0
    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);
    }
Ejemplo n.º 29
0
    //是否同一对
    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);
    }
Ejemplo n.º 30
0
    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);
        }
    }