Esempio n. 1
0
        /// <summary>
        /// spawn new MO
        /// </summary>
        /// <param name="parent"></param>
        /// <returns></returns>
        public MatchObject Get()
        {
            MatchObjectData mOD   = (SpawnContr) ? SpawnContr.GetObject() : GOSet.GetMainRandomObjects(1)[0];
            MatchObject     match = MatchObject.Create(mOD, transform.position, false, false, MBoard.TargetCollectEventHandler, MBoard.MatchScoreCollectHandler);

            if (match)
            {
                match.transform.localScale = transform.lossyScale;
            }
            return(match);
        }
Esempio n. 2
0
 /// <summary>
 ///  return match object from lcset array match objects array
 /// </summary>
 /// <returns></returns>
 public MatchObjectData GetMatchRandomObject()
 {
     if (lcSet.matchObjects != null && lcSet.matchObjects.Count > 0)
     {
         int             id  = lcSet.matchObjects[UnityEngine.Random.Range(0, lcSet.matchObjects.Count)];
         MatchObjectData mod = goSet.GetMainObject(id);
         if (mod != null)
         {
             return(mod);
         }
     }
     return(goSet.GetMainRandomObjects(1)[0]);
 }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="mData"></param>
        public void SetData(MatchObjectData mData)
        {
            OData     = mData;
            SRenderer = GetComponent <SpriteRenderer>();
            if (SRenderer)
            {
                SRenderer.sprite = (mData != null) ? mData.ObjectImage : null;
            }

#if UNITY_EDITOR
            gameObject.name = (mData != null)? "match id: " + GetID() + "(" + SRenderer.sprite.name + ")": "none";
#endif
            SetToFront(false);
        }
Esempio n. 4
0
 internal void SetMatchObject(MatchObjectData mObjectData)
 {
     if (mObjectData == null || IsDisabled || Blocked)
     {
         return;
     }
     if (DynamicObject)
     {
         GameObject old = DynamicObject;
         DestroyImmediate(old);
     }
     if (StaticBlocker)
     {
         GameObject old = StaticBlocker.gameObject;
         DestroyImmediate(old);
     }
     MatchObject.Create(this, mObjectData, false, true, MBoard.TargetCollectEventHandler, MBoard.MatchScoreCollectHandler);
     Match.SetToFront(false);
 }
Esempio n. 5
0
        /// <summary>
        /// Create new MainObject not initialized
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="mData"></param>
        /// <param name="addCollider"></param>
        /// <param name="radius"></param>
        /// <param name="isTrigger"></param>
        /// <returns></returns>
        public static MatchObject Create(MatchObjectData mData, Vector3 position, bool addCollider, bool isTrigger, Action <int> TargetCollectEvent, Action ScoreCollectEvent)
        {
            if (mData == null)
            {
                return(null);
            }
            SpriteRenderer sR         = Creator.CreateSprite(MatchBoard.Instance.transform, mData.ObjectImage, position, SortingOrder.Main);
            GameObject     gO         = sR.gameObject;
            MatchObject    gridObject = gO.AddComponent <MatchObject>();

            if (addCollider)
            {
                BoxCollider2D cC = gridObject.gameObject.GetOrAddComponent <BoxCollider2D>();
                cC.isTrigger = isTrigger;
            }
            gridObject.SRenderer          = sR;
            gridObject.TargetCollectEvent = TargetCollectEvent;
            gridObject.ScoreCollectEvent  = ScoreCollectEvent;
            gridObject.SetData(mData);
            return(gridObject);
        }
Esempio n. 6
0
        /// <summary>
        /// Create new MainObject 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 MatchObject Create(GridCell parent, MatchObjectData oData, bool addCollider, bool isTrigger, Action <int> TargetCollectEvent, Action ScoreCollectEvent)
        {
            if (!parent || oData == null)
            {
                return(null);
            }
            SpriteRenderer sR         = Creator.CreateSprite(parent.transform, oData.ObjectImage, parent.transform.position);
            GameObject     gO         = sR.gameObject;
            MatchObject    gridObject = gO.AddComponent <MatchObject>();

            //  gObject.Init(parent.Row, parent.Column);
            if (addCollider)
            {
                BoxCollider2D cC = gridObject.gameObject.GetOrAddComponent <BoxCollider2D>();
                cC.isTrigger = isTrigger;
            }
            gridObject.SRenderer          = sR;
            gridObject.TargetCollectEvent = TargetCollectEvent;
            gridObject.ScoreCollectEvent  = ScoreCollectEvent;
            gridObject.SetData(oData);
            return(gridObject);
        }
Esempio n. 7
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;
            }
        }