Esempio n. 1
0
        private void OnInTurnOperationEvent(EventMessages.InTurnOperationInfo info)
        {
            if (info.PlayerIndex != CurrentRoundStatus.CurrentPlayerIndex)
            {
                Debug.Log($"[Server] It is not player {info.PlayerIndex}'s turn to perform a in turn operation, ignoring this message");
                return;
            }
            // handle message according to its type
            var operation = info.Operation;

            switch (operation.Type)
            {
            case InTurnOperationType.Tsumo:
                HandleTsumo(operation);
                break;

            case InTurnOperationType.Kong:
                HandleKong(operation);
                break;

            case InTurnOperationType.RoundDraw:
                HandleRoundDraw(operation);
                break;

            case InTurnOperationType.Bei:
                HandleBei(operation);
                break;

            default:
                Debug.LogError($"[Server] This type of in turn operation should not be sent to server.");
                break;
            }
        }
Esempio n. 2
0
        private void OnInTurnOperationTaken(InTurnOperation operation, int bonusTurnTime)
        {
            var info = new EventMessages.InTurnOperationInfo
            {
                PlayerIndex   = CurrentRoundStatus.LocalPlayerIndex,
                Operation     = operation,
                BonusTurnTime = bonusTurnTime
            };

            PhotonNetwork.RaiseEvent(
                EventMessages.InTurnOperationEvent, info,
                EventMessages.ToMaster, EventMessages.SendReliable);
        }