Exemple #1
0
        public void SelectCharacter(int index)
        {
            var c = CurrentCharacter = Characters[index];

            ZoneController.Instance.TargetZone = (ZoneNumber)c.Zone;
            Connection.SendEnterWorld(new EnterWorld(c.Name, false, false));
        }
    /*
     * public void SelectCharForPlayer(string characterName, CommandPanel playerCP)
     * {
     *
     *  if (roster.ContainsKey(characterName))
     *  {
     *      CharacterSelectEntry desiredCharacter = roster[characterName];
     *
     *      // if the character is
     *      if (desiredCharacter.isPicked == false)
     *      {
     *          // deselect any character they may already have selected
     *          if (playerCP.Character != null)
     *          {
     *              roster[playerCP.].isPicked = false;
     *          }
     *          // select the newly desired character
     *          desiredCharacter.isPicked = true;
     *          playerCP.Character = desiredCharacter;
     *
     *      // if the player clicks the character they already have, deselect it
     *      } else if (desiredCharacter.isPicked == true && playerCP.Character.Equals(desiredCharacter))
     *      {
     *          desiredCharacter.isPicked = false;
     *          playerCP.Character = null;
     *      }
     *
     *  }
     *
     * }
     */

    public void SelectCharForPlayer(string characterName, CommandPanel playerCP)
    {
        if (roster.ContainsKey(characterName))
        {
            CharacterSelectEntry desiredCharacter = roster[characterName];
            if (desiredCharacter.Owner != null && desiredCharacter.Owner.Equals(playerCP))                            // If player selects the character they already had again, deselect it instead
            {
                DeselectPlayerCharacter(playerCP);
            }
            else if (desiredCharacter.Owner == null && playerCP.Character == null)  // If player has no character and selected character has no owner,
            {
                desiredCharacter.Owner = playerCP;
                playerCP.Character     = desiredCharacter.CharacterPrefab;
            }
            else if (desiredCharacter.Owner == null && playerCP.Character != null)  // If the player selects a character with no owner and already has a character, deselect the old character
            {
                DeselectPlayerCharacter(playerCP);

                desiredCharacter.Owner = playerCP;
                playerCP.Character     = desiredCharacter.CharacterPrefab;
            }
        }
    }
Exemple #3
0
    void OnCharacterList(object sender, List <CharacterSelectEntry> chars)
    {
        //var i = 0;
        Debug.Log("Character list");
        foreach (var character in chars)
        {
            if (isInitialized)
            {
                return;
            }
            // Debug.Log(character.Name);
            if (character.Name == CharacterName)
            {
                isInitialized = true;
                Debug.Log("Found character " + CharacterName + ", class " + character.Class + ", ready to enter world.");
                characterSelected = character;
            }

            /* charGrid.RowDefinitions.Add(new StripDefinition(StripType.Fixed, 25));
             * var namefield = new TextBlock
             * {
             *   Text = character.Name,
             *   Font = charNameHeader.Font,
             *   TextSize = charNameHeader.TextSize,
             *   TextColor = charNameHeader.TextColor
             * };
             * namefield.SetGridColumn(0);
             * namefield.SetGridRow(i);
             * charGrid.Children.Add(namefield);
             *
             * var classfield = new TextBlock
             * {
             *   Text = ((ClassTypes)character.Class).GetClassName(),
             *   Font = charNameHeader.Font,
             *   TextSize = charNameHeader.TextSize,
             *   TextColor = charNameHeader.TextColor
             * };
             * classfield.SetGridColumn(1);
             * classfield.SetGridRow(i);
             * charGrid.Children.Add(classfield);
             *
             * var levelfield = new TextBlock
             * {
             *   Text = character.Level.ToString(),
             *   Font = charNameHeader.Font,
             *   TextSize = charNameHeader.TextSize,
             *   TextColor = charNameHeader.TextColor
             * };
             * levelfield.SetGridColumn(2);
             * levelfield.SetGridRow(i);
             * charGrid.Children.Add(levelfield);
             *
             * var serverButton = new Button { MouseOverImage = buttonCreateCharacter.MouseOverImage, NotPressedImage = buttonCreateCharacter.NotPressedImage, PressedImage = buttonCreateCharacter.PressedImage };
             * var buttonLabel = new TextBlock { Text = "Play", Font = charNameHeader.Font, TextSize = 8, TextColor = charNameHeader.TextColor, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center };
             * serverButton.Content = buttonLabel;
             * serverButton.SetGridColumn(3);
             * serverButton.SetGridRow(i++);
             * charGrid.Children.Add(serverButton);
             * serverButton.Click += (s, e) => {
             *   ((Button)s).IsEnabled = false;
             *   world.ResetAckForZone();
             *   world.SendEnterWorld(new EnterWorld
             *   {
             *       Name = character.Name,
             *       GoHome = false,
             *       Tutorial = false
             *   });
             * };
             */
        }
    }