internal void SetOverlay(OverlayObjectData mObjectData) { if (mObjectData == null) { return; } if (!Overlay) { Overlay = OverlayObject.Create(this, mObjectData); } else { Overlay.SetData(mObjectData); } }
internal void SetOverlay(OverlayObjectData oData) { if (oData == null || IsDisabled || Blocked) { return; } if (Overlay) { GameObject old = Overlay.gameObject; Destroy(old); } if (StaticBlocker) { GameObject old = StaticBlocker.gameObject; DestroyImmediate(old); } Overlay = OverlayObject.Create(this, oData, MBoard.TargetCollectEventHandler); Overlay.SetToFront(false); }
/// <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 OverlayObject Create(GridCell parent, OverlayObjectData oData, Action <int> TargetCollectEvent) { if (!parent || oData == null) { return(null); } GameObject gO = null; SpriteRenderer sR = null; OverlayObject gridObject = null; sR = Creator.CreateSprite(parent.transform, oData.ObjectImage, parent.transform.position); gO = sR.gameObject; gridObject = gO.GetOrAddComponent <OverlayObject>(); #if UNITY_EDITOR gO.name = "overlay " + parent.ToString(); #endif gridObject.SetData(oData); gridObject.SRenderer = sR; gridObject.TargetCollectEvent = TargetCollectEvent; return(gridObject); }
/// <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 OverlayObject Create(GridCell parent, OverlayObjectData oData) { if (!parent || oData == null) { return(null); } GameObject gO = null; SpriteRenderer sR = null; OverlayObject overlayObject = null; if (oData.behaviorPrefab) { Behaviour bH = Instantiate(oData.behaviorPrefab); gO = bH.gameObject; gO.transform.position = parent.transform.position; gO.transform.localScale = parent.transform.lossyScale; gO.transform.parent = parent.transform; sR = gO.GetOrAddComponent <SpriteRenderer>(); sR.sprite = oData.ObjectImage; } else { sR = Creator.CreateSpriteAtPosition(parent.transform, oData.ObjectImage, parent.transform.position); gO = sR.gameObject; } overlayObject = gO.GetOrAddComponent <OverlayObject>(); #if UNITY_EDITOR gO.name = "overlay " + parent.ToString(); #endif overlayObject.Init(parent.Row, parent.Column, parent); overlayObject.SetData(oData); return(overlayObject); }
public void SetOverlayObject(GridCell gCell, OverlayObjectData oData) { gCell.SetOverlay(oData); }
internal virtual void SetData(OverlayObjectData mData) { OOData = mData; SetToFront(false); }
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; } }