Exemplo n.º 1
0
        private void InternalUpdateTypeFlag(SummonTypeFlags typeFlag)
        {
            if (typeFlag == 0)
            {
                if (m_TypeFlag != 0)
                {
                    m_TypeFlagImage.gameObject.SetActive(false);
                }

                m_TypeFlag = 0;
                return;
            }

            m_TypeFlagImage.sprite = OpenTibiaUnity.GameManager.TypeSprites[(int)typeFlag - 1];
            if (m_TypeFlag == 0)
            {
                m_TypeFlagImage.gameObject.SetActive(true);
            }

            m_TypeFlag          = typeFlag;
            m_InternallyChanged = true;
        }
Exemplo n.º 2
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;
            }
        }