void AllReady() { var playerGraphics = new Dictionary <int, string>(); foreach (var menu in controllerMenus.Values) { if (!menu.Ready) { continue; } playerGraphics[menu.JoyId] = menu.PlayerImageName; ControllerSelect.SetLastSkin(menu.PlayerSlot, menu.PlayerImageName); } FP.World = new GameWorld(playerGraphics); }
void AddController(int joystickId) { var slot = GetSlot(); if (slot > 3) { return; } var menu = new ControllerSelect(this, slot, joystickId); menu.X = -menu.Width; controllerMenus[joystickId] = menu; Add(menu); Tweener.Tween(menu, new { X = 10 + (menu.Width / 2) + slot * menu.Width }, 1.6f + FP.Random.Float()) .Ease(Ease.ElasticOut); }
private void CheckWinner() { if (GameEnding) { return; } if (ActivePlayers.Count <= 1) { var flash = Image.CreateRect(FP.Width, FP.Height, Color.White); flash.ScrollX = flash.ScrollY = 0; World.Tweener.Tween(flash, new { Alpha = 0 }, 1f) .Ease(Ease.SineOut); World.BroadcastMessage(ChunkManager.Message.Unload); World.AddGraphic(flash, 0, 0, ObjectLayers.Foreground); GameEnding = true; } if (ActivePlayers.Count == 1) { var winner = ActivePlayers[0]; if (winner.World == null) { World.Add(winner); } World.Add(new VictoryEnding(winner)); ControllerSelect.IncreaseWin(winner.ControllerId); } else if (ActivePlayers.Count == 0) { World.Add(new DrawEnding()); } Timeout = null; }