Пример #1
0
        /// <summary>
        /// Détruit la ward de la team adverse au héros passé en paramètre sur cet emplacement.
        /// Retourne vrai si la ward a pu être détruite, false si aucune ward de la team
        /// n'a été trouvée.
        /// </summary>
        public bool DestroyWard(EntityHero owner)
        {
            EntityType team = owner.Type;

            if (team.HasFlag(EntityType.Team2))
            {
                if (m_team1Ward == null)
                {
                    return(false);
                }
                m_team1WardOwner.WardCount--;
                m_team1Ward.Die();
                m_team1Ward = null;
            }
            else
            {
                if (m_team2Ward == null)
                {
                    return(false);
                }
                m_team2WardOwner.WardCount--;
                m_team2Ward.Die();
                m_team2Ward = null;
            }

            return(true);
        }
Пример #2
0
        /// <summary>
        /// Pose une ward sur cet emplacement.
        /// Retourne vrai si la ward a pu être posée.
        /// </summary>
        public bool PutWard(EntityHero owner)
        {
            // Vérifie que le nombre de ward max n'a pas été posé.
            if (owner.WardCount >= GameServer.GetScene().Constants.Vision.MaxWardsPerHero)
            {
                return(false);
            }

            // Pose la ward
            if (owner.Type.HasFlag(EntityType.Team1))
            {
                if (m_team1Ward != null)
                {
                    return(false);
                }

                m_team1WardOwner = owner;
                m_team1Ward      = new EntityWard()
                {
                    Type = EntityType.Team1 | EntityType.Ward, Position = Position
                };
                GameServer.GetMap().AddEntity(m_team1Ward);
            }
            else
            {
                if (m_team2Ward != null)
                {
                    return(false);
                }

                m_team2WardOwner = owner;
                m_team2Ward      = new EntityWard()
                {
                    Type = EntityType.Team2 | EntityType.Ward, Position = Position
                };
                GameServer.GetMap().AddEntity(m_team2Ward);
            }
            owner.WardCount++;
            return(true);
        }