public async Task <IActionResult> PutJewel(Guid id, Jewel jewel)
        {
            if (id != jewel.Id)
            {
                return(BadRequest());
            }

            _context.Entry(jewel).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!JewelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
示例#2
0
        void OnButtonClick(PackBtnType clickBtnType)
        {
            switch (clickBtnType)
            {
            case PackBtnType.Upgrade:
            {
                Jewel jewel = ItemDataManager.Instance.GetItemData(Sc_Container.SelectedItemList [0].ItemFielInfo.LocalItemData._goodID) as Jewel;
                if (Sc_Container.SelectedItemList [0].ItemFielInfo.materiel.ESTORE_FIELD_LEVEL < jewel.MaxLevel)
                {
                    UpdateChosejewelList_Swallow(Sc_Container.SelectedItemList [0].ItemFielInfo);
                    ChangeSubUistate(JewelState.jewelChose_Upgrade);
                }
                else
                {
                    MessageBox.Instance.ShowTips(3, LanguageTextManager.GetString("IDS_I9_25"), 1);
                }
            }
            break;

            case PackBtnType.Package:
                MainUIController.Instance.OpenMainUI(UIType.Package);
                break;

            default:
                break;
            }
            // Close(null);
        }
示例#3
0
        public List <NavigationTab> Build()
        {
            var list = new List <NavigationTab>();

            if (customJewelPersistenceBase.DiamondID > 0)
            {
                diamond = diamondRepository.GetDiamondByID(customJewelPersistenceBase.DiamondID);
            }

            if (customJewelPersistenceBase.SettingID > 0)
            {
                setting = jewelRepository.GetJewelByID(customJewelPersistenceBase.SettingID);
            }



            var diamondTab = BuildDiamondTab();

            list.Add(diamondTab);

            var settingTab = BuildSettingTab();

            list.Add(settingTab);

            var finalTab = BuildFinalTab();

            list.Add(finalTab);


            list = list.Select(ForEachTabEvaluateTheHighlightCSSClass).ToList();


            return(list);
        }
示例#4
0
    public Jewel NewJewel(List <Vector2Int> freeSpaces = null, Direction startingPoint = Direction.NONE)
    {
        Vector2Int startOffset = Vector2Int.zero;

        if (freeSpaces == null)
        {
            freeSpaces = GetFreeSpaces();
        }
        if (freeSpaces.Count > 0)
        {
            int   loc = Random.Range(0, freeSpaces.Count);
            int   i   = Random.Range(0, jewelsToUse);
            Jewel j   = (Instantiate(possibleJewels[i].gameObject) as GameObject).GetComponent <Jewel>();
            j.transform.SetParent(transform);
            j.g      = this;
            j.rowcol = freeSpaces[loc];
            switch (startingPoint)
            {
            case Direction.NONE: j.transform.position = j.IdealPosition(); break;

            case Direction.TOP_: j.transform.position = GetPosition(new Vector2Int(j.rowcol.x, size.y + j.rowcol.y)); break;

            case Direction.BOTT: j.transform.position = GetPosition(new Vector2Int(j.rowcol.x, -1 - j.rowcol.y)); break;

            case Direction.LEFT: j.transform.position = GetPosition(new Vector2Int(-1 - j.rowcol.x, j.rowcol.y)); break;

            case Direction.RIGH: j.transform.position = GetPosition(new Vector2Int(size.x + j.rowcol.x, j.rowcol.y)); break;
            }
            freeSpaces.RemoveAt(loc);
            board[j.rowcol.y, j.rowcol.x] = j;
            dirty = true;
            return(j);
        }
        return(null);
    }
        public async Task <ActionResult <Jewel> > PostJewel(Jewel jewel)
        {
            _context.Jewels.Add(jewel);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetJewel", new { id = jewel.Id }, jewel));
        }
示例#6
0
    private void populateView(HashSet <Jewel> inputSet)
    {
        if (inputSet is null)
        {
            return;
        }
        depopulateView(sprites);
        Jewel[] jewels = new Jewel[inputSet.Count];
        inputSet.CopyTo(jewels);

        Dictionary <string, float> offsets = JewelOffsets.GetOffsets(inputSet.Count);
        float xOffset     = offsets["xOffset"];
        float yOffset     = offsets["yOffset"];
        float xDiff       = offsets["xDiff"];
        float yDiff       = offsets["yDiff"];
        float scaleFactor = offsets["scaleFactor"];

        for (int i = 0; i < inputSet.Count; i++)
        {
            GameObject jewelSprite = Instantiate(jewelPrefab, transform);
            jewelSprite.GetComponent <JewelController>().setColor(jewels[i]);
            Vector3 scale = jewelSprite.transform.localScale;
            Vector3 pos   = jewelSprite.transform.position;
            jewelSprite.transform.localScale = new Vector3(scale.x * .5f, scale.y, scale.z) * scaleFactor;
            float yWave = (i % 2 == 1) ? yDiff : 0;
            jewelSprite.transform.position = new Vector3(pos.x - xOffset + xDiff * i, pos.y + yOffset + yWave, pos.z);
            sprites.Add(jewelSprite);
        }
    }
    public static void class2()
    {
        Jewel  jwl   = new Jewel();
        string value = string.Format("{0:n0}", jwl.getCashValue());

        Debug.Log($"This {jwl.getDiscript()} Jewel is worth ... $" + value);
    }
示例#8
0
        private static void D()
        {
            long N = ReadLong();
            long W = ReadLong();

            Jewel[] jewels = new Jewel[N];
            for (int i = 0; i < N; i++)
            {
                var j = new Jewel();
                j.w       = ReadLong();
                j.v       = ReadLong();
                jewels[i] = j;
            }

            long[,] dp = new long[N + 1, W + 1];

            for (int i = 0; i < N; i++)
            {
                for (int w = 0; w <= W; w++)
                {
                    if (w < jewels[i].w)
                    {
                        dp[i + 1, w] = dp[i, w];
                    }
                    else
                    {
                        dp[i + 1, w] = Max(
                            dp[i, w],
                            dp[i, w - jewels[i].w] + jewels[i].v);
                    }
                }
            }

            WriteLine(dp[N, W]);
        }
示例#9
0
 public void SetSelected(Jewel j)
 {
     if (selected != null)
     {
         selected.transform.localScale = Vector3.one;
     }
     selected = j;
     if (selected != null)
     {
         selected.transform.localScale = Vector3.one * selectedScale;
     }
     if (selected == null)
     {
         ParticleState(false);
         ps.transform.SetParent(null);
     }
     else
     {
         ParticleState(true);
         ps.transform.position = selected.transform.position + Vector3.back;
         ps.transform.SetParent(null);
         ps.transform.localScale = Vector3.one;
         ps.transform.SetParent(selected.transform);
     }
 }
示例#10
0
        /// <summary>
        /// 初始装备信息栏,添加信息prefab
        /// </summary>
        /// <param name="itemFielInfo">Item fiel info.</param>

        public void Show(ItemFielInfo itemFielInfo, bool isEquiptItem, bool isLeftPos)
        {
            Btn_PathLink.gameObject.SetActive(false);
            ISShowing              = true;
            this.m_curGoodID       = itemFielInfo.LocalItemData._goodID;
            this.m_curItemFielInfo = itemFielInfo;
            jewel = ItemDataManager.Instance.GetItemData(m_curGoodID) as Jewel;

            SetTitleColor(jewel._ColorLevel, LanguageTextManager.GetString(itemFielInfo.LocalItemData._szGoodsName));
            Background_spr.ChangeSprite(jewel._ColorLevel + 1);
            JewelType.ChangeSprite(jewel.StoneType + 1);
            JewelLevel.SetText(itemFielInfo.materiel.ESTORE_FIELD_LEVEL);
            ItemPriceLabel.SetText(jewel._SaleCost);
            JewelPosition.SetText(ItemInfoTips_Jewel.getJewelPosion(jewel.StonePosition, "、"));
            if (itemFielInfo.materiel.ESTORE_FIELD_LEVEL == jewel.MaxLevel)
            {
                ProgressText.SetText("[fe768b]满级[-]");
                ProgressSlider.sliderValue = 1;
            }
            else
            {
                ProgressText.SetText(itemFielInfo.materiel.ESTORE_FIELD_EXP + "/" + jewel.StoneExp [itemFielInfo.materiel.ESTORE_FIELD_LEVEL - 1]);
                ProgressSlider.sliderValue = (float)itemFielInfo.materiel.ESTORE_FIELD_EXP / (float)jewel.StoneExp [itemFielInfo.materiel.ESTORE_FIELD_LEVEL - 1];
            }
            IconPos.ClearChild();
            CreatObjectToNGUI.InstantiateObj(itemFielInfo.LocalItemData._picPrefab, IconPos);
            CreatAttribute(itemFielInfo);
            TweenShow();
        }
示例#11
0
    public static void class1()
    {
        Jewel  jwl   = new Jewel(jColor.Ruby, jSize.Medium, jRarity.Uncommon);
        string value = string.Format("{0:n0}", jwl.getCashValue());

        Debug.Log($"This {jwl.getDiscript()} Jewel is worth ... $" + value);
    }
示例#12
0
        public override void InitItemFileinfoList(JewelState tab)
        {
            SelectedItemList.Clear();
            UpdateSwallowButton();
            List <ItemFielInfo> i = ContainerInfomanager.Instance.itemFielArrayInfo.Where(p => p.severItemFielType == SeverItemFielInfoType.Jewel).ToList();

            ItemFileinfoList = new List <ItemFielInfo>();
            i.ApplyAllItem(c =>
            {
                Jewel ljewel = ItemDataManager.Instance.GetItemData(c.LocalItemData._goodID) as Jewel;
                Jewel wjewel = ItemDataManager.Instance.GetItemData(_itemFielInfo.LocalItemData._goodID) as Jewel;
                if (ljewel.StoneType == wjewel.StoneType && c != this._itemFielInfo)
                {
                    ItemFileinfoList.Add(c);
                }
            });
            if (ItemFileinfoList.Count == 0)
            {
                ShowNoneItemLable("IDS_I9_31");
            }
            else
            {
                HideNoneItemLable();
            }
        }
示例#13
0
    public void DestroyAdjacentJewel(JewelObj jewelObj, bool firstTime = true)
    {
        if (jewelObj == null || jewelObj.jewel == null)
        {
            print("NULL");
            return;
        }

        Jewel   centerJewel     = jewelObj.jewel;
        Vector2 centerJewel_Pos = centerJewel.JewelPosition;

        Vector2[] directions = GetAdjacentVectors(centerJewel_Pos);

        foreach (Vector2 direction in directions)
        {
            if (CheckOutOfBounds(direction))
            {
                JewelObj obj = JewelSpawner.spawn.JewelGribScript[(int)direction.x, (int)direction.y];
                if (obj != null)
                {
                    obj.Destroy();
                }
            }
        }

        if (firstTime)
        {
            StartCoroutine(DestroyAdjacentJewel_Again(centerJewel_Pos));
        }
    }
示例#14
0
    public void DoSpawn_Consumable(bool bUpdateForce)
    {
        while (transform.childCount > 1)
        {
            DestroyImmediate(transform.GetChild(0).gameObject);
        }

        for (int i = 0; i < transform.childCount; i++)
        {
            GameObject pChildObject = transform.GetChild(0).gameObject;
            if (bUpdateForce)
            {
                DestroyImmediate(pChildObject);
            }
            else if (pChildObject.name.Contains(p_eItemType.ToString_GarbageSafe()) == false)
            {
                DestroyImmediate(pChildObject);
            }
        }

        if (transform.childCount == 0)
        {
            GameObject pObjectPrefab = GameObject.Instantiate(Resources.Load("Jewel/" + p_eItemType.ToString_GarbageSafe())) as GameObject;
            pObjectPrefab.transform.SetParent(transform);
            pObjectPrefab.transform.DoResetTransform();
        }

        p_pJewel = transform.GetChild(0).GetComponent <Jewel>();
    }
示例#15
0
        public void Init(ItemFielInfo itemfileInfo)
        {
            TotalExp = 0;
            SelectedJewelTotalExp.SetText(TotalExp);
            UpdateSwallowButton();
            this._itemFielInfo = itemfileInfo;
            Jewel jewel = ItemDataManager.Instance.GetItemData(itemfileInfo.LocalItemData._goodID) as Jewel;
            int   level = itemfileInfo.materiel.ESTORE_FIELD_LEVEL;

            LevelUPNeedExp.SetText(jewel.StoneExp[level - 1] - itemfileInfo.materiel.ESTORE_FIELD_EXP);
            StartCoroutine(RefreshList(JewelState.jewelChose_Upgrade));
            //引导
            if (ItemList != null)
            {
                ItemList.ApplyAllItem(P =>
                {
                    if (P != null)
                    {
                        P.gameObject.RegisterBtnMappingId(P.ItemFielInfo.LocalItemData._goodID, UIType.Gem, BtnMapId_Sub.Gem_SwallowContainerListPanel_Item
                                                          , NoticeToDragSlerp, P.DragAmount);
                    }
                });
            }
            if (m_noticeToDragAmount != 0)
            {
                StartCoroutine(DragAmountSlerp(m_noticeToDragAmount));
                m_noticeToDragAmount = 0;
            }
        }
示例#16
0
 bool IsValidCombination(Jewel a, Jewel b, Jewel c)
 {
     // For all three properties (color, shape, and number),
     // that property should be the same for all jewels *or* different for all jewels.
     return(IsConditionValid(a.ColorType, b.ColorType, c.ColorType) &&
            IsConditionValid(a.ShapeType, b.ShapeType, c.ShapeType) &&
            IsConditionValid(a.NumberType, b.NumberType, c.NumberType));
 }
示例#17
0
    void AddJewel(int x, int y)
    {
        // store the jewel in the grid
        grid[x, y] = new Jewel();

        // set the parent and position of the jewel
        grid[x, y].Parent        = this;
        grid[x, y].LocalPosition = GetCellPosition(x, y);
    }
示例#18
0
    private void CreateJewel(int i, int j)
    {
        GameObject newJewel    = Instantiate(jewelPrefab, transform);
        Jewel      jewelScript = newJewel.GetComponent <Jewel>();

        jewelScript.Grid      = this;
        jewelScript.GridIndex = new Vector2Int(j, i);
        jewelGrid[i, j]       = jewelScript;
    }
示例#19
0
    private void DownOnJewel(Jewel jewel)
    {
        if (ActiveInput == null)
        {
            SetActiveInput(jewel);
        }

        jewel.Select(ActiveInput);
    }
示例#20
0
    void AddJewel(int x, int yTarget, int yStart)
    {
        // store the jewel in the grid
        grid[x, yTarget] = new Jewel();

        // set the parent and position of the jewel
        grid[x, yTarget].Parent         = this;
        grid[x, yTarget].LocalPosition  = GetCellPosition(x, yStart);
        grid[x, yTarget].TargetPosition = GetCellPosition(x, yTarget);
    }
示例#21
0
        public void Constructor_ShouldMapPriceCorrectly()
        {
            //Arrange

            //Act
            var jewel = new Jewel(itemInitializerParameterObject, null, null, null, JewelMediaType.WhiteGold);

            //Assert
            jewel.Price.Should().Be((decimal) 9999.99);

        }
示例#22
0
    private void UpOnJewel(Jewel jewel)
    {
        jewel.LightOff();

        if (ShouldChangePlaces(ActiveInput))
        {
            var fromJewel = ActiveInput.JewelsDraggedOver[0];
            var toJewel   = ActiveInput.JewelsDraggedOver[1];
            ChangePlaces(fromJewel, toJewel, 0.5f);
        }
    }
示例#23
0
        public void Constructor_ShouldRenderJewelTypeAsRingForCategory11()
        {
            //Arrange
            var initObj = fixture.Build<ItemInitializerParameterObject>().With(x => x.JewelryCategoryID, 11).CreateAnonymous();
            //Act
            var jewel = new Jewel(initObj, null, null, null, JewelMediaType.WhiteGold);

            //Assert
            jewel.Type.Should().Be(JewelType.Stud);

        }
示例#24
0
        public void Constructor_ShouldMapTheTitleCorrectly()
        {
            //Arrange

            //Act
            var jewel = new Jewel(itemInitializerParameterObject, null, null, null, JewelMediaType.WhiteGold);

            //Assert
            jewel.Title.Should().Be("title");

        }
示例#25
0
        public void Constructor_ShouldMapTheWeightCorrectly()
        {
            //Arrange

            //Act
            var jewel = new Jewel(itemInitializerParameterObject, null, null, null, JewelMediaType.WhiteGold);

            //Assert
            jewel.Weight.Should().BeInRange(10.50, 10.51);

        }
示例#26
0
    public void AddDraggedOver(Jewel jewel)
    {
        JewelsDraggedOver.Add(jewel);



        if (!jewel.IsLit)
        {
            jewel.LightOn();
        }
    }
示例#27
0
 public int IsInList(Jewel j, List <List <Jewel> > list)
 {
     for (int i = 0; i < list.Count; ++i)
     {
         if (list[i].IndexOf(j) >= 0)
         {
             return(i);
         }
     }
     return(-1);
 }
示例#28
0
 private JewelryItemDescriptor ToJewelDescriptor(Jewel jewel)
 {
     return(new JewelryItemDescriptor
     {
         Icon = jewel.Media.IconURLForWebDisplay,
         ItemUrl = _webHelpers.RouteUrl("JewelryItem", new RouteValueDictionary
         {
             { "id", jewel.ID },
             { "nullableMediaSet", jewel.Media.MediaSet }
         })
     });
 }
示例#29
0
文件: Hero.cs 项目: Blueblue284/RPG01
 public Hero(    string name, int hpMax, int mpMax, int attack, 
                 int defense, int agility, bool canAttack, bool canDefend, 
                 bool canUseSkills, Weapon weapon, Armor armor, Jewel jewel,
                 List<Skill> skills, HeroesTeam team)
     : base(name, hpMax, mpMax, attack, defense, agility, canAttack, canDefend, canUseSkills)
 {
     Equip(weapon);
     Equip(armor);
     Equip(jewel);
     Skills = skills;
     JoinTeam(team);
 }
        public HttpResponseMessage PostJewel([FromBody] Jewel value)
        {
            CodeJewelsContext context = new CodeJewelsContext();

            using (context)
            {
                context.Jewels.Add(value);
                context.SaveChanges();

                return(Request.CreateResponse(HttpStatusCode.Created));
            }
        }
示例#31
0
    public void SetJewelInSlot(Jewel jewel, bool animatePos = false, Action completedMoveCallback = null)
    {
        _jewel = jewel;

        if (!animatePos)
        {
            jewel.transform.localPosition = GetSlotPosition;
        }

        jewel.MatrixIndex = _matrixIndex;
        jewel.InSlot      = this;
    }
示例#32
0
 internal JewelMenuLauncher(Jewel jewel, string id, JewelMenuLauncherProperties properties, Menu menu)
     : base(jewel, id, properties, menu)
 {
     AddDisplayMode("Default");
 }
示例#33
0
文件: Hero.cs 项目: Blueblue284/RPG01
 public void Equip(Jewel jewel)
 {
     //à compléter...?
     base.hpMax += jewel.hp;
     base.mpMax += jewel.mp;
     base.attack += jewel.attack;
     base.defense += jewel.defense;
     base.agility += jewel.agility;
     jewel.isEquipped = true;
     Jewel = jewel;
 }
示例#34
0
文件: Hero.cs 项目: Blueblue284/RPG01
 public void Unequip(Jewel jewel)
 {
     //à compléter...?
     base.hpMax -= jewel.hp;
     base.mpMax -= jewel.mp;
     base.attack -= jewel.attack;
     base.defense -= jewel.defense;
     base.agility -= jewel.agility;
     jewel.isEquipped = false;
     Jewel = null;
 }
示例#35
0
    /// <summary>
    /// �߼�����
    /// </summary>
    void Update()
    {
        Text();
        if (theBoardState == BState.RESETING) return; //�鿴��嵱ǰ״̬

        UpdateJewelRemains();  						//���±�ʯ״̬
        //�ж�����Ƿ��ڼ���״̬
        if (!isActive) return; 						//��崦���ƶ�״̬ʱ����δ����״̬
        //�жϵ�ǰ���ƶ��ı�ʯ�м���
        //if (CurrentlyMovingJewels > 0) return;

        // delayDropʱ���ʯ��ʼ����
        if (delayDrop > 0)
        {
            delayDrop -= (float)Time.deltaTime;
            return;
        }
        // ����ƶ���ʯ����0
        if (CurrentlyMovingJewels > 0)
            theBoardState = BState.DROP_JEWELS;
        else
        {
            if (needToCheckCascades)
            {
                CheckForCascades();
                needToCheckCascades = false;
            }
            //Debug.Log(swapping.jewelBx + "" + swapping.jewelBy);
            if (validateSwap)//�����˽������
            { 			// �����Ժ���֤��ʯλ���Ƿ������3
                int count = CountMatch3();
                if (count == 0)
                {
                    SwapJewels(swapping);	// ��������ھͻ���ȥ
                    // Play a sound
                    //do something due illegal move
                }
                else
                {
                    RemoveTriplets(count);
                }
                validateSwap = false;
            }
            if (swapping.isActive)
                theBoardState = BState.SWAPPING;
            else
                theBoardState = BState.PLAYING;
        }

        if (theBoardState != BState.PLAYING && theBoardState != BState.SWAPPING) return; // �ж��û��Ƿ���Խ��н���

        if (theBoardState == BState.PLAYING)
        { 	// Increase the hint timer if there's no action on the board
            hintTimer += (float)Time.deltaTime;
            if (hintTimer >= hintDelay)			// Reset the hint delay
                ShowRandomHint();
        }

        if (Input.GetMouseButton(0))
        { 			// Check if there is a touch or mouse on some tile

            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit, 30))
            {
                if (hit.transform.tag != "Untagged")
                {
                    mouseClickX = (int)hit.transform.localPosition.x;
                    mouseClickY = (int)hit.transform.localPosition.y;
                    //SelectedJewel.transform.position = new Vector3(hit.transform.position.x,hit.transform.position.y,-1.02f);
                }
                else
                {
                    mouseClickY = -1;
                    mouseClickX = -1;
                    //SelectedJewel.transform.position = new Vector3(-6,-6,-1.02f);
                }
            }
        }

        //if (swapping.twiceClick == true && swapping.isActive)
        //{
        //    swapping.jewelBx = mouseClickX;
        //    swapping.jewelBy = mouseClickY;
        //    //Debug.Log("di san ci"+swapping.jewelBx + "" + swapping.jewelBy);
        //}

        if (canSwap && mouseClickX > -1 && Input.GetMouseButton(0))
        { // Start to swap if some jewel is clicked

            if (theBoardState != BState.SWAPPING && !mouseLeftDown)
            {
                swapping.Init();
                swapping.isActive = true;
                swapping.jewelAx = mouseClickX;
                swapping.jewelAy = mouseClickY;
                theBoardState = BState.SWAPPING;
                mouseLeftDown = true;
            }
            else
            {
                //Debug.Log("di si ci"+swapping.jewelBx + "" + swapping.jewelBy);
                swapping.jewelBx = mouseClickX;
                swapping.jewelBy = mouseClickY;

                int dx = swapping.jewelAx - swapping.jewelBx;
                int dy = swapping.jewelAy - swapping.jewelBy;
                if (Mathf.Abs(dx) > 1 || Mathf.Abs(dy) > 1)
                {
                    swapping.isActive = false;
                    theBoardState = BState.PLAYING;
                }
            }
        }

        if (canSwap && Input.GetMouseButton(0))
        { // When the mouse button or touch is released..
            mouseLeftDown = false;
            if (tip)
            {
                tip.alpha = false;
                tip = null;
            }
            if (theBoardState == BState.SWAPPING)
            {
                // If we have released on the same jewel use alternate swapping method (two clicks)
                if (mouseClickX == swapping.jewelAx && mouseClickY == swapping.jewelAy)
                {
                    //swapping.twiceClick = true;
                }
                else if (!IsLegalSwap())
                { 			//Cancels Swap
                    swapping.isActive = false;
                    theBoardState = BState.PLAYING;
                    //SelectedJewel.transform.localPosition = new Vector3(-6,-6,-1.02f);
                }
                else if (!swapping.twiceClick)
                { 		//Swap
                    GetComponent<AudioSource>().pitch = 1;
                    GetComponent<AudioSource>().PlayOneShot(SwapSound);
                    swapping.isActive = false;
                    SwapJewels(swapping);
                    validateSwap = true;				// Need to validate it
                    //SelectedJewel.transform.localPosition = new Vector3(-6,-6,-1.02f);
                }
                mouseClickY = -1;
                mouseClickX = -1;
                //SelectedJewel.transform.localPosition = new Vector3(-6,-6,-1.02f);
            }
        }

        if (needToDropJewels && delayDrop <= 0)
        { // Check for drop jewels
            needToDropJewels = false;
            CheckForFallingJewels();
        }

        if (CurrentlyMovingJewels > 0)
        {
            //do something when the jewels are moving
        }
        //Debug.Log("di wu ci"+swapping.jewelBx + "" + swapping.jewelBy);
    }
示例#36
0
    /// <summary>
    /// �����ʾһ�����ѱ�ʯ
    /// </summary>
    private void ShowRandomHint()
    {
        if (hintJewels.Count == 0) return;		// No moves left

        if (tip)
        {
            hintTimer = 0;
            return;
        }

        if (!tip)
        {

            GameObject tipGO = (GameObject)hintJewels[UnityEngine.Random.Range(0, hintJewels.Count)];

            do
            {
                tipGO = (GameObject)hintJewels[UnityEngine.Random.Range(0, hintJewels.Count)];
            }
            while (tipGO.tag == "Rock");
            tip = (Jewel)tipGO.gameObject.GetComponent<Jewel>();
            tip.alpha = true;
        }

        hintTimer = 0;
    }
示例#37
0
 /// <summary>
 /// A Component that can only live under a Jewel Component Root.
 /// </summary>
 /// <param name="jewel">The Jewel that this component is in</param>
 /// <param name="id">The ID of this component</param>
 /// <param name="title">The title of this component</param>
 /// <param name="description">The description of this component</param>
 public JewelComponent(Jewel jewel, string id, string title, string description)
     : base(jewel, id, title, description)
 {
 }
示例#38
0
	/// <summary>
	/// Check for occurances of combo
	/// </summary>
	/// <param name="jewel"> center jewel that needs checking </param>
	/// <returns></returns>
	public bool ComboProcess(Jewel jewel)
	{
		//If jewel has no power,no need to check for combo
		if (jewel.JewelPower == 0)
			return false;
		
		Vector2[] directions = Supporter.sp.Get4DirectionVector(jewel.JewelPosition);
		
		foreach( Vector2 direction in directions )
		{
			if ( Supporter.sp.CheckOutOfBounds(direction) )
			{
				JewelObj nearbyJewelObj =  JewelSpawner.spawn.JewelGribScript[(int)direction.x,(int)direction.y];
				
				if(nearbyJewelObj != null)
				{
					Jewel nearbyJewel = JewelSpawner.spawn.JewelGribScript[(int)direction.x,(int)direction.y].jewel;
					
					//When two stripes meet
					if( (jewel.JewelPower == 6 && nearbyJewel.JewelPower == 6) ||  
					   (jewel.JewelPower == 6 && nearbyJewel.JewelPower == 7) ||
					   (jewel.JewelPower == 7 && nearbyJewel.JewelPower == 7) ||
					   (jewel.JewelPower == 7 && nearbyJewel.JewelPower == 6))
					{
						nearbyJewel.JewelPower = 98; //Force h stripe effect and v stripe effect to play at the same time
						jewel.JewelPower = 0;
						ComboStripe_Stripe(jewel.JewelPosition);
					}
					
					//When stripes + wrapped meet
					if( (jewel.JewelPower == 6  && nearbyJewel.JewelPower  == 5) ||  
					   (jewel.JewelPower  == 5  && nearbyJewel.JewelPower  == 6) ||
					   (jewel.JewelPower  == 7  && nearbyJewel.JewelPower  == 5) ||
					   (jewel.JewelPower  == 5  && nearbyJewel.JewelPower  == 7))
					{
						ComboStripe_Wrapped(jewel.JewelPosition);
					}
					
					//When stripes + color bomb meet
					if( (jewel.JewelPower == 6  && nearbyJewel.JewelPower  == 8) ||  
					   (jewel.JewelPower  == 8  && nearbyJewel.JewelPower  == 6) ||
					   (jewel.JewelPower  == 7  && nearbyJewel.JewelPower  == 8) ||
					   (jewel.JewelPower  == 8  && nearbyJewel.JewelPower  == 7))
					{
						ComboStripe_Color(jewel.JewelType);
					}
					
					//When wrapped + color bomb meet
					if( (jewel.JewelPower == 5  && nearbyJewel.JewelPower  == 8) ||  
					   (jewel.JewelPower  == 8  && nearbyJewel.JewelPower  == 5))
					{
						StartCoroutine(ComboWrapped_Color());
					}
					
					//When color bomb + color bomb meet
					if( (jewel.JewelPower == 8  && nearbyJewel.JewelPower  == 8) ||  
					   (jewel.JewelPower  == 8  && nearbyJewel.JewelPower  == 8))
					{
						StartCoroutine(ComboColor_Color());
					}
					
					//When wrapped + wrapped meet
					if( (jewel.JewelPower == 5  && nearbyJewel.JewelPower  == 5) ||  
					   (jewel.JewelPower  == 5  && nearbyJewel.JewelPower  == 5))
					{
						StartCoroutine(ComboWrapped_Wrapped(jewel.JewelPosition));
					}
					
				}
				
			}
		}
		return false;
	}