Beispiel #1
0
 public void SetSpeechCategory(SpeechCategories category)
 {
     if (category < SpeechCategories.None || category > SpeechCategories.Travel)
     {
         throw new System.Exception("Creature.SetSpeechCategory: Invalid category.");
     }
 }
Beispiel #2
0
        private void InternalUpdateSpeechFlag(SpeechCategories speechFlag)
        {
            if (speechFlag == 0)
            {
                if (m_SpeechFlag != 0)
                {
                    m_SpeechFlagImage.gameObject.SetActive(false);
                }

                m_SpeechFlag = 0;
                return;
            }

            m_SpeechFlagImage.sprite = OpenTibiaUnity.GameManager.SpeechSprites[(int)speechFlag - 1];
            if (m_SpeechFlag == 0)
            {
                m_SpeechFlagImage.gameObject.SetActive(true);
            }

            m_SpeechFlag        = speechFlag;
            m_InternallyChanged = true;
        }
Beispiel #3
0
        public void SetFlags(bool drawFlags, PartyFlags partyFlag, PKFlags pkFlag, SummonTypeFlags typeFlag, SpeechCategories speechFlag, GuildFlags guildFlag)
        {
            if (!drawFlags)
            {
                if (m_DrawFlags)
                {
                    m_FlagsContainer.gameObject.SetActive(false);
                    m_DrawFlags = false;
                }

                return;
            }

            if (m_PartyFlag != partyFlag)
            {
                InternalUpdatePartyFlag(partyFlag);
            }

            if (m_PKFlag != pkFlag)
            {
                InternalUpdatePKFlag(pkFlag);
            }

            if (m_TypeFlag != typeFlag)
            {
                InternalUpdateTypeFlag(typeFlag);
            }

            if (m_SpeechFlag != speechFlag)
            {
                InternalUpdateSpeechFlag(speechFlag);
            }

            if (m_GuildFlag != guildFlag)
            {
                InternalUpdateGuildFlag(guildFlag);
            }

            if (!m_InternallyChanged)
            {
                return;
            }

            m_InternallyChanged = false;

            if (m_PartyFlag != 0 || m_PKFlag != 0 || m_TypeFlag != 0 || m_SpeechFlag != 0 || m_GuildFlag != 0)
            {
                bool partyOrPK  = m_PartyFlag != 0 || m_PKFlag != 0;
                bool partyAndPK = m_PartyFlag != 0 && m_PKFlag != 0;

                if (m_PartyPKFlagsContainer.gameObject.activeSelf != partyOrPK)
                {
                    m_PartyPKFlagsContainer.gameObject.SetActive(partyOrPK);
                }

                if (partyAndPK)
                {
                    m_PartyPKFlagsContainer.padding.right = -13;
                }
                else if (partyOrPK)
                {
                    m_PartyPKFlagsContainer.padding.right = 0;
                }

                if (!m_DrawFlags)
                {
                    m_FlagsContainer.gameObject.SetActive(true);
                    m_DrawFlags = true;
                }
            }
            else if (m_DrawFlags)     // draw flags is set but there were nothing to draw
            {
                m_FlagsContainer.gameObject.SetActive(false);
                m_DrawFlags = false;
            }
        }