Ejemplo n.º 1
0
            public void LoadField(out Field cellField, out Player player, out CharacterCollection enemies)
            {
                cellField = new Field(field[0].Length, field.Length);
                enemies   = new CharacterCollection();
                player    = new Player(0, 0);
                for (int y = 0; y < field.Length; y++)
                {
                    for (int x = 0; x < field[y].Length; x++)
                    {
                        switch (field[y][x])
                        {
                        case '#':
                            cellField[x, y] = new Wall();
                            break;

                        case ' ':
                            cellField[x, y] = new Empty();
                            break;

                        case 'E':
                            enemies.Add(new Enemy(x, y));
                            goto case ' ';

                        case 'P':
                            player = new Player(x, y);
                            goto case ' ';

                        default:
                            cellField[x, y] = new DestroyedObject();
                            break;
                        }
                    }
                }
            }
Ejemplo n.º 2
0
    private void OnDeath()
    {
        characterGroup.Remove(Character);

        if (deathCollection != null)
        {
            deathCollection.Add(Character);
        }

        Character.gameObject.SetActive(false);
    }
Ejemplo n.º 3
0
        /// <summary>
        /// Called by the XNA Framework when importing a .spritefont file to be used as a game asset. This is the method called by the XNA Framework when an asset is to be imported into an object that can be recognized by the Content Pipeline.
        /// </summary>
        /// <param name="filename">Name of a game asset file.</param>
        /// <param name="context">Contains information for importing a game asset, such as a logger interface.</param>
        /// <returns>Resulting game asset.</returns>
        public override FontDescription Import(string filename, ContentImporterContext context)
        {
            var xmldoc = XElement.Load(filename, LoadOptions.PreserveWhitespace);

            xmldoc = xmldoc.Element("Asset");

            var fontName          = xmldoc.Element("FontName").Value;
            var fontSize          = float.Parse(xmldoc.Element("Size").Value);
            var spacing           = float.Parse(xmldoc.Element("Spacing").Value);
            var useKerning        = false;
            var useKerningElement = xmldoc.Element("UseKerning");

            if (useKerningElement != null)
            {
                useKerning = bool.Parse(useKerningElement.Value);
            }

            FontDescriptionStyle style = FontDescriptionStyle.Regular;
            var styleElement           = xmldoc.Element("Style");

            if (styleElement != null)
            {
                var styleVal = styleElement.Value;

                if (styleVal.Contains("Bold") && styleVal.Contains("Italic"))
                {
                    style = FontDescriptionStyle.Bold | FontDescriptionStyle.Italic;
                }
                else
                {
                    style = (FontDescriptionStyle)Enum.Parse(typeof(FontDescriptionStyle), styleVal, false);
                }
            }

            char?defaultCharacter = null;
            var  defChar          = xmldoc.Element("DefaultCharacter");

            if (defChar != null)
            {
                defaultCharacter = defChar.Value[0];
            }

            var characterRegions = new List <CharacterRegion> ();

            foreach (var region in xmldoc.Descendants("CharacterRegion"))
            {
                var Start = (int)region.Element("Start").Value[0];
                var End   = (int)region.Element("End").Value[0];

                characterRegions.Add(new CharacterRegion((char)Start, (char)End));
            }

            var characters = new CharacterCollection();

            foreach (var r in characterRegions)
            {
                foreach (var c in r.Characters)
                {
                    characters.Add(c);
                }
            }

            var fontDescription = new FontDescription(fontName, fontSize, spacing, style, useKerning);

            fontDescription.Characters       = characters;
            fontDescription.DefaultCharacter = defaultCharacter;
            fontDescription.Identity         = new ContentIdentity(filename);
            return(fontDescription);
        }
Ejemplo n.º 4
0
 public void AddCharacterToGame(CharacterData characterData)
 {
     logService.Log($"Adding character to game state: {characterData.Id}");
     CharacterCollection.Add(characterData);
 }
Ejemplo n.º 5
0
#pragma warning restore 0649

        void OnEnable()
        {
            _allCharactersInScene.Add(this);
        }