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; }
private Sprite GetDeviceSprite(MIDemoPawnType type) { switch (type) { case MIDemoPawnType.Keyboard: return(KeyboardSprite); case MIDemoPawnType.Gamepad: return(GamepadSprite); case MIDemoPawnType.Mouse: return(MouseSprite); } return(null); }
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); }