コード例 #1
0
ファイル: Zone.cs プロジェクト: xxlio109/saga-revised
        /// <summary>
        /// Occurs when leaving a zone
        /// </summary>
        /// <param name="character"></param>
        public virtual void OnLeave(Character character)
        {
            if (character.currentzone == this)
            {
                if (!this.Regiontree.Unsubscribe(character))
                {
                    Trace.TraceError("Unsubscribe failed");
                }

                Regiontree tree = character.currentzone.Regiontree;
                foreach (MapObject target in tree.SearchActors(character, Saga.Enumarations.SearchFlags.DynamicObjects))
                {
                    if (MapObject.IsPlayer(target))
                    {
                        Character cTarget = (Character)target;
                        if (cTarget != character && cTarget.client.isloaded == true)
                        {
                            character.HideObject(cTarget);
                        }
                        target.Disappear(character);
                    }
                    else
                    {
                        target.Disappear(character);
                    }
                }
            }
        }
コード例 #2
0
ファイル: Zone.cs プロジェクト: ELMASTERS/SagaRevised
        /// <summary>
        /// Occurs when leaving a zone
        /// </summary>
        /// <param name="character"></param>
        public virtual void OnLeave(Character character)
        {
            if (character.currentzone == this)
            {
                if (!this.Regiontree.Unsubscribe(character))
                {
                    Trace.TraceError("Unsubscribe failed");
                }

                Regiontree tree = character.currentzone.Regiontree;
                foreach (MapObject target in tree.SearchActors(character, Saga.Enumarations.SearchFlags.DynamicObjects))
                {
                    if (MapObject.IsPlayer(target))
                    {
                        Character cTarget = (Character)target;
                        if (cTarget != character && cTarget.client.isloaded == true)
                            character.HideObject(cTarget);
                        target.Disappear(character);
                    }
                    else
                    {
                        target.Disappear(character);
                    }
                }
            }
        }