public void InitStart(GameConstructSet gcSet)
        {
            if (GameBoard.gMode == GameMode.Edit)
            {
                Debug.Log("Game Contructor init start");
                MatchSets = LoadGameObjectSetAssets();
                LoadLevelConstructAssets();
                LoadGameConstructAsset();
                CreateLevelButtons();
                ShowConstructMenu(true);

                LevelConstructSet lcs = GameBoard.LcSet;
                mainBrush             = lcs.Matchset.Empty;
                mainBrushImage.sprite = mainBrush.ObjectImage;
                SelectMainBrush();

                overBrush             = lcs.Matchset.Empty;
                overBrushImage.sprite = overBrush.ObjectImage;
                if (editModeText)
                {
                    editModeText.text = "EDIT MODE" + '\n' + "Level " + (BubblesPlayer.CurrentLevel + 1);
                }
                GameBoard.Instance.gcSet.Clean();
                GameBoard.LcSet.Clean();
            }
        }
Пример #2
0
        public void OnBeforeSerialize()
        {
            disabledObject             = new MatchObjectData();
            disabledObject.ObjectImage = gridCellDisabledSprite;

            // set ids for game objects
            Disabled.Enumerate(1);
            EnumerateArray(blockedObjects, 100);
            EnumerateArray(matchObjects, 1000);
            EnumerateArray(overlayObjects, 100000);
            EnumerateArray(underlayObjects, 200000);
            EnumerateArray(boosterObjects, 300000);

            dynamicClickBombObjectVertical.bombType   = BombDir.Vertical;
            dynamicClickBombObjectHorizontal.bombType = BombDir.Horizontal;
            dynamicClickBombObjectRadial.bombType     = BombDir.Radial;
            dynamicClickBombObjectVertical.Enumerate(400020);
            dynamicClickBombObjectHorizontal.Enumerate(400021);
            dynamicClickBombObjectRadial.Enumerate(400022);
            int i = 0;

            foreach (var item in matchObjects)
            {
                item.colorBomb.Enumerate(400100 + i);
                item.colorBomb.matchID  = item.ID;
                item.colorBomb.bombType = BombDir.Color;
                i++;
            }

            fallingObject.Enumerate(500000);

            EnumerateArray(dynamicBlockerObjects, 600000);

            EnumerateArray(staticBlockerObjects, 700000);
        }
Пример #3
0
 internal void SetBlockedObject(BaseObjectData bOD)
 {
     if (bOD == null || IsDisabled)
     {
         return;
     }
     DestroyGridObjects();
     Blocked = BlockedObject.Create(this, bOD, MBoard.TargetCollectEventHandler);  // sRenderer.sprite = bOD.ObjectImage;  Blocked = Creator.CreateSprite(transform, bOD.ObjectImage, transform.position, SortingOrder.Blocked).gameObject;
     Blocked.SetToFront(false);
 }
Пример #4
0
        public void OnBeforeSerialize()
        {
            //  Debug.Log("before serialize ");
            // create empty object only for constructor, prevent multiple calls
            emptyObject             = new BaseObjectData();
            emptyObject.ObjectImage = gridCellEmptySprite;
            Empty.Enumerate(0);

            // set ids for game objects
            EnumerateArray(mainObjects, 10);
            EnumerateArray(overlayObjects, 100000);//  EnumerateArray(underlayObjects, 200000);
            EnumerateArray(boosterObjects, 300000);
        }
Пример #5
0
 internal void SetDisabledObject(BaseObjectData bOD)
 {
     DestroyGridObjects();
     IsDisabled = true;
     if (gMode == GameMode.Play)
     {
         gameObject.SetActive(false);
     }
     else
     {
         sRenderer.sprite = bOD.ObjectImage;
     }
 }
Пример #6
0
        public void InitStart()
        {
            if (GameBoard.gMode == GameMode.Edit)
            {
                if (!MBoard)
                {
                    return;
                }
                if (!MPlayer)
                {
                    return;
                }

                Debug.Log("Game Contructor init start");

                if (!GCSet)
                {
                    Debug.Log("Game construct set not found!!!");
                    return;
                }
                if (!GOSet)
                {
                    Debug.Log("GameObjectSet not found!!! - ");
                    return;
                }

                mainBrush             = GOSet.Empty;
                mainBrushImage.sprite = mainBrush.ObjectImage;
                SelectMainBrush();

                overBrush             = GOSet.Empty;
                overBrushImage.sprite = overBrush.ObjectImage;

                if (BubblesPlayer.CurrentLevel > GCSet.levelSets.Count - 1)
                {
                    BubblesPlayer.CurrentLevel = GCSet.levelSets.Count - 1;
                }

                if (editModeText)
                {
                    editModeText.text = "EDIT MODE" + '\n' + "Level " + (BubblesPlayer.CurrentLevel + 1);
                }
                ShowLevelData(false);

                CreateLevelButtons();
                ShowConstructMenu(true);
            }
        }
        public void OpenMainBrushPanel_Click()
        {
            Debug.Log("open main brush click");
            BubbleGrid        grid = GameBoard.Instance.grid;
            LevelConstructSet lcs  = GameBoard.Instance.gcSet.GetLevelConstructSet(BubblesPlayer.CurrentLevel);

            ScrollPanelController sRC = MainBrushContainer.ScrollPanel;

            if (sRC) //
            {
                sRC.CloseScrollPanel(true, null);
            }
            else
            {
                CloseOpenedPanels();
                //instantiate ScrollRectController
                sRC = MainBrushContainer.InstantiateScrollPanel();
                sRC.textCaption.text = "Main brush panel";

                List <BaseObjectData> mData = new List <BaseObjectData>();
                mData.Add(lcs.Matchset.Empty);
                if (lcs.Matchset.MainObjects != null)
                {
                    foreach (var item in lcs.Matchset.MainObjects)
                    {
                        mData.Add(item);
                    }
                }

                //create main bubbles brushes
                for (int i = 0; i < mData.Count; i++)
                {
                    BaseObjectData mD = mData[i];
                    CreateButton(smallButtonPrefab, sRC.scrollContent, mD.ObjectImage, () =>
                    {
                        Debug.Log("Click on Button <" + mD.ID + "...> ");
                        mainBrush             = (!GameObjectsSet.IsEmptyObject(mD.ID)) ? lcs.Matchset.GetMainObject(mD.ID) : lcs.Matchset.Empty;
                        mainBrushImage.sprite = mainBrush.ObjectImage;
                        SelectMainBrush();
                    });
                }
                sRC.OpenScrollPanel(null);
            }
        }
Пример #8
0
        public void OpenOverBrushPanel_Click()
        {
            Debug.Log("open over brush click");

            ScrollPanelController sRC = OverBrushContainer.ScrollPanel;

            if (sRC) //
            {
                sRC.CloseScrollPanel(true, null);
            }
            else
            {
                CloseOpenedPanels();
                //instantiate ScrollRectController
                sRC = OverBrushContainer.InstantiateScrollPanel();
                sRC.textCaption.text = "Over brush panel";

                List <BaseObjectData> mData = new List <BaseObjectData>();
                mData.Add(GOSet.Empty);
                if (GOSet.OverlayObjects != null)
                {
                    mData.AddRange(GOSet.OverlayObjects.GetBaseList());
                }

                //create over brushes
                for (int i = 0; i < mData.Count; i++)
                {
                    BaseObjectData mD = mData[i];
                    CreateButton(smallButtonPrefab, sRC.scrollContent, mD.ObjectImage, () =>
                    {
                        Debug.Log("Click on Button <" + mD.ID + "...> ");
                        overBrush             = (!GameObjectsSet.IsEmptyObject(mD.ID)) ? GOSet.GetOverlayObject(mD.ID) : GOSet.Empty;
                        overBrushImage.sprite = overBrush.ObjectImage;
                        SelectOverBrush();
                    });
                }
                sRC.OpenScrollPanel(null);
            }
        }
Пример #9
0
        /// <summary>
        /// Create new OverlayObject for gridcell
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="oData"></param>
        /// <param name="addCollider"></param>
        /// <param name="radius"></param>
        /// <param name="isTrigger"></param>
        /// <returns></returns>
        public static BlockedObject Create(GridCell parent, BaseObjectData oData, Action <int> TargetCollectEvent)
        {
            if (!parent || oData == null)
            {
                return(null);
            }
            GameObject     gO         = null;
            SpriteRenderer sR         = null;
            BlockedObject  gridObject = null;

            sR = Creator.CreateSprite(parent.transform, oData.ObjectImage, parent.transform.position);
            gO = sR.gameObject;

            gridObject = gO.GetOrAddComponent <BlockedObject>();
#if UNITY_EDITOR
            gO.name = "blocked " + parent.ToString();
#endif
            gridObject.SetData(oData);
            gridObject.SRenderer          = sR;
            gridObject.TargetCollectEvent = TargetCollectEvent;
            return(gridObject);
        }
Пример #10
0
        public Sprite GetImage(GameObjectsSet mSet)
        {
            BaseObjectData bD = mSet.GetObject(ID);

            return((bD != null) ? bD.GuiImage : null);
        }
Пример #11
0
 internal virtual void SetData(BaseObjectData mData)
 {
     OData = mData;
     SetToFront(false);
 }
Пример #12
0
        internal void SetObject(int ID)
        {
            IsDisabled = false;
            MatchObjectData mOD = GOSet.GetMainObject(ID);

            if (mOD != null)
            {
                SetMatchObject(mOD);
                return;
            }

            OverlayObjectData oOD = GOSet.GetOverlayObject(ID);

            if (oOD != null)
            {
                SetOverlay(oOD);
                return;
            }

            UnderlayObjectData uOD = GOSet.GetUnderlayObject(ID);

            if (uOD != null)
            {
                SetUnderlay(uOD);
                return;
            }

            DynamicClickBombObjectData cdOD = GOSet.GetDynamicClickBombObject(ID);

            if (cdOD != null)
            {
                SetDynamicClickBomb(cdOD);
                return;
            }

            if (ID == GOSet.FallingObject.ID)
            {
                SetFalling(GOSet.FallingObject);
                return;
            }

            BaseObjectData bOD = GOSet.GetObject(ID);

            if (bOD != null && GameObjectsSet.IsDisabledObject(bOD.ID))
            {
                SetDisabledObject(bOD);
                return;
            }

            if (bOD != null && GameObjectsSet.IsBlockedObject(bOD.ID))
            {
                SetBlockedObject(bOD);
            }

            DynamicBlockerData dbOD = GOSet.GetDynamicBlockerObject(ID);

            if (dbOD != null)
            {
                SetDynamicBlockerObject(dbOD);
                return;
            }

            StaticBlockerData sbOD = GOSet.GetStaticBlockerObject(ID);

            if (sbOD != null)
            {
                SetStaticBlockerObject(sbOD);
                return;
            }
        }