コード例 #1
0
        private void OnDisconnect(object sender, TcpConnection.TcpConnectionArgs e)
        {
            Player player = new Player(Account, Number, e.Connection);
            var    args   = new PlayerArg
            {
                Player = player
            };

            OnDisconnectEvent?.Invoke(this, args);
        }
コード例 #2
0
ファイル: GameLogic.cs プロジェクト: svLimones/Circles
    //==================================
    public IEnumerator Start()
    {
        Player1 = new PlayerArg();
        Player2 = new PlayerArg();

        using (WWW www = new WWW(SOUND_BUNDLE_URL))
        {
            yield return(www);

            BubbleSound = Instantiate(www.assetBundle.mainAsset) as AudioClip;
        }
    }
コード例 #3
0
ファイル: GameLogic.cs プロジェクト: svLimones/Circles
    //---------------------------------
    public void Init(PlayerInitArg _Player1Arg, PlayerInitArg _Player2Arg, NetManager.PlayerType _currentPlayer)
    {
        Player1       = new PlayerArg();
        Player2       = new PlayerArg();
        currentPlayer = _currentPlayer;

        Player1.CurrentCirclesCount = _Player1Arg.CurrentCirclesCount;
        Player1.PlayerType          = _Player1Arg.PlayerType;
        Player1.Scores                        = _Player1Arg.Scores;
        Player1.RandomSeed                    = _Player1Arg.RandomSeed;
        Player1.FinishHPosition               = CircleMoveFinishHPosition;
        Player1.FinishMove_CallBack           = OnFinishMoveCircle;
        Player1.OnClick_CallBack              = OnClickCircle;
        Player1.Random                        = new System.Random(Player1.RandomSeed);
        Player1.CircleSpawnStartPositionLeft  = Player1CircleSpawnStartPositionLeft;
        Player1.CircleSpawnStartPositionRight = Player1CircleSpawnStartPositionRight;

        Player2.CurrentCirclesCount = _Player2Arg.CurrentCirclesCount;
        Player2.PlayerType          = _Player2Arg.PlayerType;
        Player2.Scores                        = _Player2Arg.Scores;
        Player2.RandomSeed                    = _Player2Arg.RandomSeed;
        Player2.FinishHPosition               = CircleMoveFinishHPosition;
        Player2.FinishMove_CallBack           = OnFinishMoveCircle;
        Player2.OnClick_CallBack              = OnClickCircle;
        Player2.Random                        = new System.Random(Player2.RandomSeed);
        Player2.CircleSpawnStartPositionLeft  = Player2CircleSpawnStartPositionLeft;
        Player2.CircleSpawnStartPositionRight = Player2CircleSpawnStartPositionRight;

        int i = 0;

        if (Player1.CurrentCirclesCount > 0)
        {
            i = 0;
            while (i++ < Player1.CurrentCirclesCount)
            {
                Player1.Random.NextDouble();
                Player1.Random.NextDouble();
            }
        }
        if (Player2.CurrentCirclesCount > 0)
        {
            i = 0;
            while (i++ < Player2.CurrentCirclesCount)
            {
                Player2.Random.NextDouble();
                Player2.Random.NextDouble();
            }
        }

        isGameStarted = true;
        StartCoroutine(IE_CircleGeneration());
    }
コード例 #4
0
ファイル: GameLogic.cs プロジェクト: svLimones/Circles
    //--------------------------------
    private void InstantiateCircle(PlayerArg player)
    {
        _circleArg.CircleID.ID         = player.CurrentCirclesCount;
        _circleArg.CircleID.PlayerType = player.PlayerType;
        _circleArg.FinishMove_CallBack = player.FinishMove_CallBack;
        _circleArg.OnClick_CallBack    = player.OnClick_CallBack;

        float _diameter = (float)player.Random.NextDouble();

        _diameter *= (MaxCircleSize - MinCircleSize);
        _diameter += MinCircleSize;

        if (MaxCircleSize / _diameter <= 1f / 4f)
        {
            _textSize = ResManager.TextureSize.s32;
        }
        else
        if (MaxCircleSize / _diameter <= 2f / 4f)
        {
            _textSize = ResManager.TextureSize.s64;
        }
        else
        if (MaxCircleSize / _diameter <= 3f / 4f)
        {
            _textSize = ResManager.TextureSize.s128;
        }
        else
        {
            _textSize = ResManager.TextureSize.s256;
        }

        _circle = ResManager.Instance.GetCircle(_textSize);
        _circle.transform.localScale = new Vector3(_diameter, _diameter, _diameter);

        float _pos = (float)player.Random.NextDouble();

        _pos *= (player.CircleSpawnStartPositionRight.x - player.CircleSpawnStartPositionLeft.x);
        _pos += player.CircleSpawnStartPositionLeft.x;

        _circle.transform.position = new Vector3(_pos, player.CircleSpawnStartPositionLeft.y, player.CircleSpawnStartPositionLeft.z - _diameter / 2);
        _circleArg.Radius          = _diameter / 2;
        _circleArg.Speed           = MinCircleSize + (MaxCircleSize - _diameter) * ((MaxCircleSpeed - MinCircleSpeed) / (MaxCircleSize - MinCircleSize));

        _circle.Init(_circleArg);
    }