private IEnumerator ProcessAllNewGemsMovements (Action onFinished) { var gemsBoard = GemsManager.GetGemsBoard (); var width = gemsBoard.GetLength (0); var height = gemsBoard.GetLength (1); var gemsToMove = new List<Gem> (width * height); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) gemsToMove.Add (gemsBoard[x, y]); } while (gemsToMove.Count > 0) { for (int i = gemsToMove.Count - 1; i >= 0; i--) { if (!gemsToMove[i].ProcessMovement ()) gemsToMove.RemoveAt (i); } yield return null; } onFinished.Invoke (); }
public bool ProcessMovement() { if (Mathf.Abs(TargetPosition.x - transform.position.x) > 0.1f) { transform.position = Vector2.Lerp(transform.position, new Vector2(TargetPosition.x, transform.position.y), 0.4f); isHorizontalMoving = true; } else if (isHorizontalMoving) { transform.position = new Vector2(TargetPosition.x, transform.position.y); GemsManager.GetGemsBoard()[Column, Row] = this; isHorizontalMoving = false; } if (Mathf.Abs(TargetPosition.y - transform.position.y) > 0.1f) { transform.position = Vector2.Lerp(transform.position, new Vector2(transform.position.x, TargetPosition.y), 0.4f); isVerticalMoving = true; } else if (isVerticalMoving) { transform.position = new Vector2(transform.position.x, TargetPosition.y); GemsManager.GetGemsBoard()[Column, Row] = this; isVerticalMoving = false; } return(isHorizontalMoving || isVerticalMoving); }
void EditorUpdate() { if (isDirty) { if (isPreviewOn) { ((GemsManager)target).CreateBoard(1337); } else { ((GemsManager)target).DeleteBoard(); } isDirty = false; } else if (isPreviewOn) { GemsManager manager = (GemsManager)target; if (manager.EditorIsDirty) { manager.DeleteBoard(); manager.CreateBoard(1337); manager.EditorIsDirty = false; } } }
// Use this for initialization void Start() { gemsManager = GameObject.Find("gems-manager").GetComponent <GemsManager> (); renderer = GetComponent <Renderer> (); audio = GetComponent <AudioSource>(); collider = GetComponent <BoxCollider2D> (); }
private Gem GetHorizontalNeighboar (Gem currentGem, int dir) { if (currentGem.Column + dir < 0 || currentGem.Column + dir >= gemsManager.BoardWidth) return null; var NeighboarGem = GemsManager.GetGemsBoard () [currentGem.Column + dir, currentGem.Row]; if (NeighboarGem == null) return null; NeighboarGem.LastColumn = NeighboarGem.Column; NeighboarGem.Column -= dir; currentGem.LastColumn = currentGem.Column; currentGem.Column += dir; return NeighboarGem; }
private Gem GetVerticalNeighboar (Gem currentGem, int dir) { if (currentGem.Row + dir < 0 || currentGem.Row + dir >= gemsManager.BoardHeight) return null; var NeighboarGem = GemsManager.GetGemsBoard () [currentGem.Column, currentGem.Row + dir]; if (NeighboarGem == null) return null; NeighboarGem.LastRow = NeighboarGem.Row; NeighboarGem.Row -= dir; currentGem.LastRow = currentGem.Row; currentGem.Row += dir; return NeighboarGem; }
public Equipment(EquipInfo rt, EquipData config, GemsManager gemsMana) { Utils.Assert(rt == null, "Invalidate Equip Data from Server."); Utils.Assert(config == null, "Invalidate Equip Data from config file."); RtEquip = rt; ConfigEquip = config; equipped = false; isNew = true; if (RtEquip.slot != null) { foreach (EquipSlot es in RtEquip.slot) { if (es != null) { es.mGem = gemsMana.equipGems(es.id); } } } }
private void Start () { gemsManager = GemsManager.Instance; }
public void UpdateGemBoard() { GemsManager.GetGemsBoard()[Column, Row] = this; }
// --------- Game Events --------- public void OnSceneLoaded(GemsManager gemsManager) { this.gemsManager = gemsManager; this.gemsManager.StartGame(_randomSeed, _isMyTurn); }
public void OnShow(SecretShopDataStruct data) { if (data == null) { gameObject.SetActive(false); return; } else { gameObject.SetActive(true); } mdata = data; mItemIcon.gameObject.SetActive(true); mItemNum.gameObject.SetActive(true); mItemName.gameObject.SetActive(true); mChoose.gameObject.SetActive(true); GetObject(data.num); SetItemStatus(); SetItemPrice(); titleObj.SetActive(true); if (mdata.type == 1) { spDiscountTitle.spriteName = "sc_msz_dz"; } else if (mdata.type == 2) { spDiscountTitle.spriteName = "sc_msz_dj1"; } else if (mdata.type == 0) { titleObj.SetActive(false); } mChoose.gameObject.SetActive(false); mItemName.text = str; mSoulIcon.gameObject.SetActive(false); mItemNum.text = ItemNumLogic.setItemNum(mdata.count, mItemNum, mItemNum.gameObject.transform.parent.gameObject.GetComponent <UISprite>()); ConfigDataType datatype = DataCore.getDataType(data.num); if (datatype == ConfigDataType.Monster) { AtlasMgr.mInstance.SetHeadSprite(mItemIcon, data.num.ToString()); mItemIcon.MakePixelPerfect(); return; } else if (datatype == ConfigDataType.Equip) { mItemIcon.atlas = AtlasMgr.mInstance.equipAtlas; } else if (datatype == ConfigDataType.Gems) { mItemIcon.atlas = AtlasMgr.mInstance.commonAtlas; } else if (datatype == ConfigDataType.Item) { mItemIcon.atlas = AtlasMgr.mInstance.itemAtlas; } else if (datatype == ConfigDataType.Frag) { SoulInfo info = new SoulInfo(0, data.num, data.count); Soul soul = new Soul(); soul.m_config = Core.Data.soulManager.GetSoulConfigByNum(info.num); soul.m_RTData = info; if (soul.m_config.type == (int)ItemType.Monster_Frage) { MonsterData mon = Core.Data.monManager.getMonsterByNum(soul.m_config.updateId); if (mon != null) { mSoulIcon.gameObject.SetActive(true); AtlasMgr.mInstance.SetHeadSprite(mItemIcon, mon.ID.ToString()); mItemIcon.MakePixelPerfect(); mSoulIcon.spriteName = "bag-0003"; } } else if (soul.m_config.type == (int)ItemType.Equip_Frage) { EquipData equip = Core.Data.EquipManager.getEquipConfig(soul.m_config.updateId); if (equip != null) { mSoulIcon.gameObject.SetActive(true); mItemIcon.atlas = AtlasMgr.mInstance.equipAtlas; mItemIcon.spriteName = soul.m_config.updateId.ToString(); mItemIcon.MakePixelPerfect(); mSoulIcon.spriteName = "sui"; } } else { mItemIcon.atlas = AtlasMgr.mInstance.itemAtlas; mItemIcon.spriteName = soul.m_RTData.num.ToString(); } return; } else { RED.LogWarning("unknow reward type"); } if (datatype == ConfigDataType.Gems) { GemsManager gemsMgr = Core.Data.gemsManager; if (gemsMgr != null) { GemData Gdata = gemsMgr.getGemData(mdata.num); if (Gdata != null) { mItemIcon.spriteName = Gdata.anime2D; } } } else if (datatype == ConfigDataType.Item) { ItemData item = Core.Data.itemManager.getItemData(mdata.num); if (item != null) { mItemIcon.spriteName = item.iconID.ToString(); } } else { mItemIcon.spriteName = mdata.num.ToString(); } mItemIcon.MakePixelPerfect(); }