Ejemplo n.º 1
0
 public virtual void Reset()
 {
     ResetSkills();
     m_AnimationDelta     = UnityEngine.Vector3Int.zero;
     m_AnimationDirection = Directions.North;
     m_AnimationEnd       = 0;
     m_AnimationSpeed     = UnityEngine.Vector3Int.zero;
     m_Brightness         = 0;
     m_Direction          = Directions.North;
     m_ID              = 0;
     m_Trapper         = false;
     m_Unpassable      = false;
     m_KnownSince      = -1;
     m_LightColor      = UnityEngine.Color.black;
     m_MovementEnd     = 0;
     m_MovementRunning = false;
     Name              = null;
     m_PartyFlag       = PartyFlags.None;
     m_PKFlag          = PKFlags.Revenge;
     m_Type            = CreatureTypes.Monster;
     m_Visible         = false;
     m_GuildFlag       = GuildFlags.None;
     m_Marks.Clear();
     m_MountOutfit = null;
     m_Outfit      = null;
     m_Position    = UnityEngine.Vector3Int.zero;
 }
Ejemplo n.º 2
0
        public void SetPKFlag(PKFlags pkFlag)
        {
            if (pkFlag < PKFlags.First || pkFlag > PKFlags.First)
            {
                throw new System.ArgumentException("Creature.SetPKFlag: Invalid flag.");
            }

            PKFlag = pkFlag;
        }
Ejemplo n.º 3
0
        private void InternalUpdatePKFlag(PKFlags pkFlag)
        {
            if (pkFlag == 0)
            {
                if (m_PKFlag != 0)
                {
                    m_PKFlagImage.gameObject.SetActive(false);
                }

                m_PKFlag = 0;
                return;
            }

            m_PKFlagImage.sprite = OpenTibiaUnity.GameManager.PKSprites[(int)pkFlag - 1];
            if (m_PKFlag == 0)
            {
                m_PKFlagImage.gameObject.SetActive(true);
            }

            m_PKFlag            = pkFlag;
            m_InternallyChanged = true;
        }
Ejemplo n.º 4
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;
            }
        }