private void ResetGame() { _loseWindowView.Hide(); _gameWindowView.ClearBank(); _bank = new SliceSet(SliceType.None); _scorePanelView.SetCurrentScore(_curScore); for (var i = 0; i < _receivers.Length; i++) { _gameWindowView.ClearReceiver(i); _receivers[i] = new SliceSet(SliceType.None); } CreateNewSliceSet(); }
public void DrawSlice(SliceSet sliceSet) { var bitmap = (int)sliceSet.Value; //Set the start angle var angle = -_angle / 2f; while (bitmap > 0) { //Get the first bit from the bitmap if ((bitmap & 1) != 0) { var obj = _resourceProvider.Get <SingleSlice>(Vector3.zero, Quaternion.Euler(0f, 0f, angle), this.transform); obj.transform.GetComponent <RectTransform>().anchoredPosition = Vector2.zero; _slicePrefabs.Add(obj); } angle -= _angle; bitmap >>= 1; } }
public bool CanAdd(SliceSet sliceSet) { return((Value & sliceSet.Value) == 0); }
public void Add(SliceSet sliceSet) { Value |= sliceSet.Value; }
public void DrawSliceOnReceiver(int index, SliceSet sliceSet) { receiverDisplayers[index].DrawSlice(sliceSet); }
public void DrawSliceOnBank(SliceSet sliceSet) { bankDisplayer.DrawSlice(sliceSet); }
private void CreateNewSliceSet() { _bank = GenerateRndSliceSet(); _gameWindowView.DrawSliceOnBank(_bank); }