public void SetSlot(SlotComponent slot) { if (current != null) { current.Clear(); } current = slot; }
public void OnErase(SlotComponent slot) { BoxComponent box = slot.box; slot.Clear(); boxCount--; boxes.Remove(box.id); GameObject.DestroyImmediate(box.gameObject); // AudioPlayerComponent.Play ("fx_combo"); // EffectComponent.Show (effectBang [0], slot.transform.position); blocked = false; }
public void OnMerge(SlotComponent slot) { BoxComponent box1 = slot.box; BoxComponent box2 = slot.target; int level = box1.level + 1; if (level >= boxPrefabs.Length) { Debug.LogError("biggest box can't merge"); return; } slot.Clear(); boxCount -= 2; boxes.Remove(box1.id); boxes.Remove(box2.id); GameObject.DestroyImmediate(box1.gameObject); GameObject.DestroyImmediate(box2.gameObject); New(level, slot); // insert score increament bool isWin = AppendScore(level); // Vector3 pos = slot.transform.position; // insert effect 'bang' // EffectComponent.Show (effectBang [level], pos); // insert coin increment // if (EffectComponent.Show (effectCoin [level], pos) != null) { // AudioPlayerComponent.Play ("fx_coin"); // game.AppendCoin(); // } // insert effect 'combo' // if (EffectComponent.Show (effectCombo [(Mathf.Min(combo, effectCombo.Length-1))], pos) != null) { // AudioPlayerComponent.Play ("fx_combo"); // } if (isWin) { Victory(); blocked = true; } else { OnMoved(slot); } }