Example #1
0
    public void SetPlayer(int player, IDevice device, bool isLeft, MIDemoPawnType type)
    {
        name = string.Format("Player {0} {1} pawn", player, isLeft ? "left" : "right");

        var color = GetDeviceColor(type, isLeft);

        Label.text            = player.ToString();
        Label.color           = color;
        Sprite.sprite         = GetDeviceSprite(type);
        Sprite.color          = color;
        Controller.IsLeftPawn = isLeft;
        Controller.Device     = device;
    }
Example #2
0
    private Sprite GetDeviceSprite(MIDemoPawnType type)
    {
        switch (type)
        {
        case MIDemoPawnType.Keyboard:
            return(KeyboardSprite);

        case MIDemoPawnType.Gamepad:
            return(GamepadSprite);

        case MIDemoPawnType.Mouse:
            return(MouseSprite);
        }

        return(null);
    }
Example #3
0
    private Color GetDeviceColor(MIDemoPawnType type, bool isLeft)
    {
        switch (type)
        {
        case MIDemoPawnType.Keyboard:
            return(KeyboardColor);

        case MIDemoPawnType.Gamepad:
            return(isLeft ? GamepadLeftColor : GamepadRightColor);

        case MIDemoPawnType.Mouse:
            return(MouseColor);
        }

        return(Color.white);
    }
    private MIDemoPlayerPawn CreatePawn(IDevice device, bool isLeft, MIDemoPawnType type)
    {
        var pawnObj = Instantiate(PawnPrefab);

        pawnObj.transform.SetParent(transform);

        // this puts the sprite somewhere inside the camera view
        // there should be enough space to make all of them visible,
        // but if they overlap nothing bad will happen
        var position = new Vector3(Random.value, Random.value, 0f);

        position = Camera.main.ViewportToWorldPoint(position);
        pawnObj.transform.position = new Vector3(position.x, position.y, 0f);

        var pawn = pawnObj.GetComponent <MIDemoPlayerPawn>();

        pawn.SetPlayer(Player, device, isLeft, type);
        return(pawn);
    }