Example #1
0
        public void OnShenfuStart(uint shenFuId, AreaEventTrigger trigger, TriggerActionShenFu shenFu)
        {
            if (trigger == null || shenFu == null)
            {
                return;
            }
            ShenFuObjects shenFuObjects = default(ShenFuObjects);
            ShenFuInfo    dataByKey     = GameDataMgr.shenfuBin.GetDataByKey(shenFuId);

            if (dataByKey == null)
            {
                return;
            }
            trigger.Radius = (int)dataByKey.dwGetRadius;
            string prefabName = StringHelper.UTF8BytesToString(ref dataByKey.szShenFuResPath);

            shenFuObjects.ShenFu = MonoSingleton <SceneMgr> .get_instance().InstantiateLOD(prefabName, false, SceneObjType.ActionRes, trigger.gameObject.transform.position);

            this._shenFuTriggerPool.Add(trigger.ID, shenFuObjects);
            if (FogOfWar.enable)
            {
                COM_PLAYERCAMP playerCamp = Singleton <GamePlayerCenter> .get_instance().GetHostPlayer().PlayerCamp;

                GameFowCollector.SetObjVisibleByFow(shenFuObjects.ShenFu, Singleton <GameFowManager> .get_instance(), playerCamp);
            }
        }
Example #2
0
        public void OnShenfuStart(uint shenFuId, AreaEventTrigger trigger, TriggerActionShenFu shenFu)
        {
            if ((trigger != null) && (shenFu != null))
            {
                ShenFuObjects objects = new ShenFuObjects();
                if (this._shenFuTriggerPool.ContainsKey(trigger.ID))
                {
                    this._shenFuTriggerPool.TryGetValue(trigger.ID, out objects);
                }
                else
                {
                    ShenFuInfo dataByKey = GameDataMgr.shenfuBin.GetDataByKey(shenFuId);
                    if (dataByKey == null)
                    {
                        return;
                    }
                    trigger.Radius = (int)dataByKey.dwGetRadius;
                    string prefabName = StringHelper.UTF8BytesToString(ref dataByKey.szShenFuResPath);
                    objects.ShenFu = MonoSingleton <SceneMgr> .instance.InstantiateLOD(prefabName, false, SceneObjType.ActionRes, trigger.gameObject.transform.position);

                    this._shenFuTriggerPool.Add(trigger.ID, objects);
                }
                if (objects.ShenFu != null)
                {
                    objects.ShenFu.CustomSetActive(true);
                }
            }
        }
Example #3
0
        public void OnShenFuStopped(TriggerActionShenFu inAction)
        {
            if (inAction == null)
            {
                return;
            }
            ShenFuObjects shenFuObjects;

            if (this._shenFuTriggerPool.TryGetValue(inAction.TriggerId, ref shenFuObjects))
            {
                if (shenFuObjects.ShenFu != null)
                {
                    Singleton <CGameObjectPool> .GetInstance().RecycleGameObject(shenFuObjects.ShenFu);
                }
                this._shenFuTriggerPool.Remove(inAction.TriggerId);
            }
        }
Example #4
0
        public void OnShenfuStart(uint shenFuId, AreaEventTrigger trigger, TriggerActionShenFu shenFu)
        {
            if (trigger == null || shenFu == null)
            {
                return;
            }
            ShenFuInfo dataByKey = GameDataMgr.shenfuBin.GetDataByKey(shenFuId);

            if (dataByKey == null)
            {
                return;
            }
            trigger.Radius = (int)dataByKey.dwGetRadius;
            ShenFuObjects shenFuObjects = default(ShenFuObjects);

            if (this.CreateShenFu(shenFuId, trigger.gameObject.transform.position, ref shenFuObjects, 0))
            {
                this._shenFuTriggerPool.Add(trigger.ID, shenFuObjects);
            }
        }
Example #5
0
 public void OnShenfuHalt(uint shenFuId, AreaEventTrigger trigger, TriggerActionShenFu shenFu)
 {
 }
Example #6
0
        public void OnShenFuEffect(PoolObjHandle <ActorRoot> actor, uint shenFuId, AreaEventTrigger trigger, TriggerActionShenFu shenFu)
        {
            ShenFuObjects objects;

            if (this._shenFuTriggerPool.TryGetValue(trigger.ID, out objects))
            {
                if (objects.ShenFu != null)
                {
                    Singleton <CGameObjectPool> .GetInstance().RecycleGameObject(objects.ShenFu);
                }
                this._shenFuTriggerPool.Remove(trigger.ID);
            }
            ShenFuInfo dataByKey = GameDataMgr.shenfuBin.GetDataByKey(shenFuId);

            if (dataByKey != null)
            {
                BufConsumer consumer = new BufConsumer(dataByKey.iBufId, actor, actor);
                if (consumer.Use())
                {
                }
            }
        }
Example #7
0
        public void OnShenFuEffect(PoolObjHandle <ActorRoot> actor, uint shenFuId, AreaEventTrigger trigger, TriggerActionShenFu shenFu)
        {
            ShenFuObjects objects;

            if (this._shenFuTriggerPool.TryGetValue(trigger.ID, out objects) && (objects.ShenFu != null))
            {
                objects.ShenFu.CustomSetActive(false);
            }
            ShenFuInfo dataByKey = GameDataMgr.shenfuBin.GetDataByKey(shenFuId);

            if (dataByKey != null)
            {
                BufConsumer consumer = new BufConsumer(dataByKey.iBufId, actor, actor);
                if (consumer.Use())
                {
                }
            }
        }
Example #8
0
        public void OnShenFuEffect(PoolObjHandle <ActorRoot> actor, uint shenFuId, AreaEventTrigger trigger, TriggerActionShenFu shenFu)
        {
            ShenFuObjects shenFuObjects;

            if (this._shenFuTriggerPool.TryGetValue(trigger.ID, ref shenFuObjects))
            {
                if (shenFuObjects.ShenFu != null)
                {
                    Singleton <CGameObjectPool> .GetInstance().RecycleGameObject(shenFuObjects.ShenFu);
                }
                this._shenFuTriggerPool.Remove(trigger.ID);
            }
            this.OnShenFuEffect(actor, shenFuId);
        }