Beispiel #1
0
        public override RefParamOperator TriggerEnter(PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker, ITrigger inTrigger)
        {
            GameObject inSrc      = src ? src.handle.gameObject : null;
            GameObject gameObject = (inTrigger != null) ? inTrigger.GetTriggerObj() : null;

            if (!gameObject)
            {
                gameObject = (atker ? atker.handle.gameObject : null);
            }
            this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.Enter, inSrc, gameObject);
            ListView <Action> listView = this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.EnterDura, inSrc, gameObject);
            int num = this.RefObjList.Length;

            if (num > 0)
            {
                for (int i = 0; i < num; i++)
                {
                    this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.Enter, this.RefObjList[i], this.RefObjList[i]);
                    listView.AddRange(this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.EnterDura, this.RefObjList[i], this.RefObjList[i]));
                }
            }
            RefParamOperator refParamOperator = new RefParamOperator();

            refParamOperator.AddRefParam("TriggerActionAgeEnterDura", listView);
            return(refParamOperator);
        }
Beispiel #2
0
        public override void TriggerLeave(PoolObjHandle <ActorRoot> src, ITrigger inTrigger)
        {
            GameObject inSrc   = src ? src.handle.gameObject : null;
            GameObject inAtker = (inTrigger != null) ? inTrigger.GetTriggerObj() : null;

            this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.Leave, inSrc, inAtker);
            AreaEventTrigger areaEventTrigger = inTrigger as AreaEventTrigger;

            if (areaEventTrigger != null)
            {
                RefParamOperator refParamOperator = areaEventTrigger._inActors.get_Item(src.handle.ObjID).refParams[this];
                if (refParamOperator != null)
                {
                    ListView <Action> refParamObject = refParamOperator.GetRefParamObject <ListView <Action> >("TriggerActionAgeEnterDura");
                    if (refParamObject != null)
                    {
                        ListView <Action> .Enumerator enumerator = refParamObject.GetEnumerator();
                        while (enumerator.MoveNext())
                        {
                            enumerator.Current.Stop(false);
                        }
                    }
                }
            }
            int num = this.RefObjList.Length;

            if (num > 0)
            {
                for (int i = 0; i < num; i++)
                {
                    this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.Leave, this.RefObjList[i], this.RefObjList[i]);
                }
            }
        }
Beispiel #3
0
        public override void TriggerLeave(PoolObjHandle <ActorRoot> src, ITrigger inTrigger)
        {
            GameObject inSrc   = (src == 0) ? null : src.handle.gameObject;
            GameObject inAtker = (inTrigger == null) ? null : inTrigger.GetTriggerObj();

            this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.Leave, inSrc, inAtker);
            AreaEventTrigger trigger = inTrigger as AreaEventTrigger;

            if (trigger != null)
            {
                AreaEventTrigger.STriggerContext context = trigger._inActors[src.handle.ObjID];
                RefParamOperator @operator = context.refParams[this];
                if (@operator != null)
                {
                    ListView <AGE.Action> refParamObject = @operator.GetRefParamObject <ListView <AGE.Action> >("TriggerActionAgeEnterDura");
                    if (refParamObject != null)
                    {
                        ListView <AGE.Action> .Enumerator enumerator = refParamObject.GetEnumerator();
                        while (enumerator.MoveNext())
                        {
                            enumerator.Current.Stop(false);
                        }
                    }
                }
            }
        }
        public override void TriggerLeave(PoolObjHandle <ActorRoot> src, ITrigger inTrigger)
        {
            GameObject inSrc   = (!src) ? null : src.get_handle().gameObject;
            GameObject inAtker = (inTrigger == null) ? null : inTrigger.GetTriggerObj();

            this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.Leave, inSrc, inAtker);
            AreaEventTrigger areaEventTrigger = inTrigger as AreaEventTrigger;

            if (areaEventTrigger != null)
            {
                RefParamOperator refParamOperator = areaEventTrigger._inActors.get_Item(src.get_handle().ObjID).refParams.get_Item(this);
                if (refParamOperator != null)
                {
                    ListView <Action> refParamObject = refParamOperator.GetRefParamObject <ListView <Action> >("TriggerActionAgeEnterDura");
                    if (refParamObject != null)
                    {
                        ListView <Action> .Enumerator enumerator = refParamObject.GetEnumerator();
                        while (enumerator.MoveNext())
                        {
                            enumerator.get_Current().Stop(false);
                        }
                    }
                }
            }
        }
Beispiel #5
0
        public override void TriggerLeave(PoolObjHandle <ActorRoot> src, ITrigger inTrigger)
        {
            int leaveUniqueId = this.LeaveUniqueId;

            if (leaveUniqueId > 0)
            {
                BufConsumer bufConsumer = new BufConsumer(leaveUniqueId, src, new PoolObjHandle <ActorRoot>(null));
                bufConsumer.Use();
            }
            int enterUniqueId = this.EnterUniqueId;

            if (this.bStopWhenLeaving && enterUniqueId > 0 && inTrigger != null)
            {
                AreaEventTrigger areaEventTrigger = inTrigger as AreaEventTrigger;
                if (areaEventTrigger != null)
                {
                    RefParamOperator refParamOperator = areaEventTrigger._inActors.get_Item(src.handle.ObjID).refParams[this];
                    if (refParamOperator != null)
                    {
                        ListView <string> listView   = new ListView <string>();
                        GameObject[]      refObjList = this.RefObjList;
                        if (refObjList != null)
                        {
                            int num = refObjList.Length;
                            for (int i = 0; i < num; i++)
                            {
                                listView.Add(string.Format("TriggerActionBuffTar_{0}", i));
                            }
                        }
                        if (this.bSrc)
                        {
                            listView.Add("TriggerActionBuffSrc");
                        }
                        if (this.bAtker)
                        {
                            listView.Add("TriggerActionBuffAtker");
                        }
                        ListView <string> .Enumerator enumerator = listView.GetEnumerator();
                        while (enumerator.MoveNext())
                        {
                            string current = enumerator.Current;
                            if (!string.IsNullOrEmpty(current))
                            {
                                BuffFense refParamObject = refParamOperator.GetRefParamObject <BuffFense>(current);
                                if (refParamObject != null)
                                {
                                    refParamObject.Stop();
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #6
0
        public override void TriggerLeave(PoolObjHandle <ActorRoot> src, ITrigger inTrigger)
        {
            int leaveUniqueId = base.LeaveUniqueId;

            if (leaveUniqueId > 0)
            {
                new BufConsumer(leaveUniqueId, src, new PoolObjHandle <ActorRoot>(null)).Use();
            }
            int enterUniqueId = base.EnterUniqueId;

            if ((base.bStopWhenLeaving && (enterUniqueId > 0)) && (inTrigger != null))
            {
                AreaEventTrigger trigger = inTrigger as AreaEventTrigger;
                if (trigger != null)
                {
                    AreaEventTrigger.STriggerContext context = trigger._inActors[src.handle.ObjID];
                    RefParamOperator @operator = context.refParams[this];
                    if (@operator != null)
                    {
                        ListView <string> view       = new ListView <string>();
                        GameObject[]      refObjList = base.RefObjList;
                        if (refObjList != null)
                        {
                            int length = refObjList.Length;
                            for (int i = 0; i < length; i++)
                            {
                                view.Add(string.Format("TriggerActionBuffTar_{0}", i));
                            }
                        }
                        if (base.bSrc)
                        {
                            view.Add("TriggerActionBuffSrc");
                        }
                        if (base.bAtker)
                        {
                            view.Add("TriggerActionBuffAtker");
                        }
                        ListView <string> .Enumerator enumerator = view.GetEnumerator();
                        while (enumerator.MoveNext())
                        {
                            string current = enumerator.Current;
                            if (!string.IsNullOrEmpty(current))
                            {
                                BuffFense refParamObject = @operator.GetRefParamObject <BuffFense>(current);
                                if (refParamObject != null)
                                {
                                    refParamObject.Stop();
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #7
0
        public override RefParamOperator TriggerEnter(PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker, ITrigger inTrigger)
        {
            int enterUniqueId = this.EnterUniqueId;

            GameObject[]     refObjList       = this.RefObjList;
            RefParamOperator refParamOperator = new RefParamOperator();

            if (enterUniqueId > 0)
            {
                if (refObjList != null)
                {
                    int num = refObjList.Length;
                    for (int i = 0; i < num; i++)
                    {
                        GameObject gameObject = refObjList[i];
                        if (!(gameObject == null))
                        {
                            PoolObjHandle <ActorRoot> actorRoot = ActorHelper.GetActorRoot(gameObject);
                            if (actorRoot)
                            {
                                BufConsumer bufConsumer = new BufConsumer(enterUniqueId, actorRoot, actorRoot);
                                if (bufConsumer.Use())
                                {
                                    refParamOperator = new RefParamOperator();
                                    string name = string.Format("TriggerActionBuffTar_{0}", i);
                                    refParamOperator.AddRefParam(name, bufConsumer.buffSkill);
                                }
                            }
                        }
                    }
                }
                if (this.bSrc && src)
                {
                    BufConsumer bufConsumer2 = new BufConsumer(enterUniqueId, src, atker);
                    if (bufConsumer2.Use())
                    {
                        refParamOperator = new RefParamOperator();
                        refParamOperator.AddRefParam("TriggerActionBuffSrc", bufConsumer2.buffSkill);
                    }
                }
                if (this.bAtker && atker)
                {
                    BufConsumer bufConsumer3 = new BufConsumer(enterUniqueId, atker, src);
                    if (bufConsumer3.Use())
                    {
                        refParamOperator = new RefParamOperator();
                        refParamOperator.AddRefParam("TriggerActionBuffAtker", bufConsumer3.buffSkill);
                    }
                }
            }
            return(refParamOperator);
        }
Beispiel #8
0
        public override RefParamOperator TriggerEnter(PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker, ITrigger inTrigger, object prm)
        {
            int enterUniqueId = base.EnterUniqueId;

            GameObject[]     refObjList = base.RefObjList;
            RefParamOperator @operator  = new RefParamOperator();

            if (enterUniqueId > 0)
            {
                if (refObjList != null)
                {
                    int length = refObjList.Length;
                    for (int i = 0; i < length; i++)
                    {
                        GameObject go = refObjList[i];
                        if (go != null)
                        {
                            PoolObjHandle <ActorRoot> actorRoot = ActorHelper.GetActorRoot(go);
                            if (actorRoot != 0)
                            {
                                BufConsumer consumer = new BufConsumer(enterUniqueId, actorRoot, actorRoot);
                                if (consumer.Use())
                                {
                                    @operator = new RefParamOperator();
                                    string name = string.Format("TriggerActionBuffTar_{0}", i);
                                    @operator.AddRefParam(name, consumer.buffSkill);
                                }
                            }
                        }
                    }
                }
                if (base.bSrc && (src != 0))
                {
                    BufConsumer consumer2 = new BufConsumer(enterUniqueId, src, atker);
                    if (consumer2.Use())
                    {
                        @operator = new RefParamOperator();
                        @operator.AddRefParam("TriggerActionBuffSrc", consumer2.buffSkill);
                    }
                }
                if (base.bAtker && (atker != 0))
                {
                    BufConsumer consumer3 = new BufConsumer(enterUniqueId, atker, src);
                    if (consumer3.Use())
                    {
                        @operator = new RefParamOperator();
                        @operator.AddRefParam("TriggerActionBuffAtker", consumer3.buffSkill);
                    }
                }
            }
            return(@operator);
        }
Beispiel #9
0
        public override RefParamOperator TriggerEnter(PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker, ITrigger inTrigger, object prm)
        {
            GameObject inSrc   = (src == 0) ? null : src.handle.gameObject;
            GameObject inAtker = (inTrigger == null) ? null : inTrigger.GetTriggerObj();

            if (inAtker == null)
            {
                inAtker = (atker == 0) ? null : atker.handle.gameObject;
            }
            this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.Enter, inSrc, inAtker);
            ListView <AGE.Action> view      = this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.EnterDura, inSrc, inAtker);
            RefParamOperator      @operator = new RefParamOperator();

            @operator.AddRefParam("TriggerActionAgeEnterDura", view);
            return(@operator);
        }
Beispiel #10
0
 protected DictionaryView<TriggerActionBase, RefParamOperator> DoActorEnterShared(ref PoolObjHandle<ActorRoot> inActor)
 {
     DictionaryView<TriggerActionBase, RefParamOperator> view = new DictionaryView<TriggerActionBase, RefParamOperator>();
     foreach (TriggerActionWrapper wrapper in this.m_internalActList)
     {
         if (wrapper != null)
         {
             RefParamOperator @operator = wrapper.TriggerEnter(inActor, this.thisActor, this, null);
             if (@operator != null)
             {
                 view.Add(wrapper.GetActionInternal(), @operator);
             }
         }
     }
     return view;
 }
        public override RefParamOperator TriggerEnter(PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker, ITrigger inTrigger)
        {
            GameObject inSrc      = (!src) ? null : src.get_handle().gameObject;
            GameObject gameObject = (inTrigger == null) ? null : inTrigger.GetTriggerObj();

            if (!gameObject)
            {
                gameObject = ((!atker) ? null : atker.get_handle().gameObject);
            }
            this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.Enter, inSrc, gameObject);
            ListView <Action> value            = this.PlayAgeActionPrivate(AreaEventTrigger.EActTiming.EnterDura, inSrc, gameObject);
            RefParamOperator  refParamOperator = new RefParamOperator();

            refParamOperator.AddRefParam("TriggerActionAgeEnterDura", value);
            return(refParamOperator);
        }
        protected DictionaryView <TriggerActionBase, RefParamOperator> DoActorEnterShared(ref PoolObjHandle <ActorRoot> inActor)
        {
            DictionaryView <TriggerActionBase, RefParamOperator> dictionaryView = new DictionaryView <TriggerActionBase, RefParamOperator>();

            TriggerActionWrapper[] internalActList = this.m_internalActList;
            for (int i = 0; i < internalActList.Length; i++)
            {
                TriggerActionWrapper triggerActionWrapper = internalActList[i];
                if (triggerActionWrapper != null)
                {
                    RefParamOperator refParamOperator = triggerActionWrapper.TriggerEnter(inActor, this.thisActor, this);
                    if (refParamOperator != null)
                    {
                        dictionaryView.Add(triggerActionWrapper.GetActionInternal(), refParamOperator);
                    }
                }
            }
            return(dictionaryView);
        }