public void enterCycle() { nextActor = speedJudge.Next(); if (nextActor.GetIsAlly()) { foreach (PlayerID playerID in System.Enum.GetValues(typeof(PlayerID))) { List <FrameID> newFrames = new List <FrameID>(); for (int i = 0; i < 3; i++) { newFrames.Add(deck.GetFrame((FramesRoleID)i, (SituationID)(((int)playerID - (int)currentPlayerID + 4) % 4))); } newFrames = newFrames.OrderBy(_ => Guid.NewGuid()).ToList(); for (int i = 0; i < 3; i++) { GlobalHand.SetHand(playerID, i, newFrames[i]); } } fourFramesMaker.InitializeFourFramesMaker(currentPlayerID, OnCompleteFourFrames); currentPlayerID = (PlayerID)(((int)currentPlayerID + 1) % 4); } else { enemyFourFramesMaker.InitializeFourFramesMaker(nextActor, OnCompleteFourFrames); } deck.Rotation(); }
public void InitializeFourFramesMaker(PlayerID firstPlayer, System.Action <IEnumerable <FrameID> > onFinishCallBack) { choosenFrameSituation = new List <int>(); this.currentPlayerID = firstPlayer; this.displayPlayerID = firstPlayer; this.onFinishCallBack = onFinishCallBack; hand.UpdateFrames(GlobalHand.GetHand(displayPlayerID)); fourFrames.gameObject.SetActive(true); DisplayHand(); timer.TimerStart(System.TimeSpan.FromSeconds(15.0), () => OnChoiseFrame(0)); }
private void DisplayHand() { hand.UpdateFrames(GlobalHand.GetHand(displayPlayerID)); if (displayPlayerID == currentPlayerID) { hand.EnableFrames(OnChoiseFrame); } else { hand.DisableFrames(); } }
public void OnChoiseFrame(int handIndex) { timer.TImerStop(); choosenFrameSituation.Add(handIndex); FrameID frameID = GlobalHand.GetHand(currentPlayerID, handIndex); fourFrames.AddFrame(frameID); if (choosenFrameSituation.Count >= 4) { FinalizeFourFramesMaker(); return; } currentPlayerID = PlayerIDOffset(currentPlayerID, 1); displayPlayerID = currentPlayerID; StartCoroutine("WaitTap", frameRepository.GetNGWords(frameID)); }
public void initializeScene() { speedJudge.UpdateOrder(characters); GlobalHand.Reset(); }