Example #1
0
 override public void addObject(IDelayHandleItem delayObject, float priority = 0.0f)
 {
     if (bInDepth())
     {
         base.addObject(delayObject, priority);
     }
     else
     {
         // 这个判断说明相同的函数只能加一次,但是如果不同资源使用相同的回调函数就会有问题,但是这个判断可以保证只添加一次函数,值得,因此不同资源需要不同回调函数
         m_handleList.Add(delayObject as EventDispatchFunctionObject);
     }
 }
Example #2
0
        public void initMazeRoomCount(int count_)
        {
            m_mazeRoomList.Clear();
            m_itemCount = count_;
            MazeRoom mazeRoom = null;
            string   path     = "";

            for (int idx = 0; idx < m_itemCount; ++idx)
            {
                if (Ctx.m_instance.m_maze.mazeData.bInFisrstScene())
                {
                    mazeRoom = new MazeRoom(idx);
                }
                else
                {
                    mazeRoom = new MazeRoomSecond(idx);
                }
                m_mazeRoomList.Add(mazeRoom);
                path            = string.Format("RootGo/Plane_{0}", idx);
                mazeRoom.selfGo = UtilApi.GoFindChildByPObjAndName(path);
                if (0 != idx && 4 != idx)
                {
                    mazeRoom.mazeIOControl.enableDrag();
                }
                mazeRoom.init();
            }

            path    = "RootGo/SplitGo";
            m_trans = UtilApi.GoFindChildByPObjAndName(path).transform;

            adjustInitState();
        }
Example #3
0
        public void getWayPtList(MList <MazePtBase> ptList_, int pathIdx)
        {
            MazePtBase         pt   = null;
            MList <MazePtBase> list = null;

            if ((int)eRoomIndex.eStart == m_fixIdx || (int)eRoomIndex.eEnd == m_fixIdx)
            {
                list = m_ptListArr[(int)ePathIndex.eABC];
            }
            else
            {
                list = m_ptListArr[pathIdx];
            }

            if (list != null)
            {
                for (int idx = 0; idx < list.Count(); ++idx)
                {
                    pt = list[idx].clone();
                    ptList_.Add(pt);

                    pt.pos = UtilApi.convPtFromLocal2Local(this.selfGo.transform, Ctx.m_instance.m_maze.mazeData.sceneRootGo.transform, list[idx].pos);

                    // 如果父节点没有缩放时是正确的,如果有缩放,就是错误的
                    //pt.pos = list[idx].pos + selfGo.transform.localPosition;
                }
            }
        }
Example #4
0
        // 技能攻击攻击者不会伤血 m_damage = 0
        override public void initItemData(BeingEntity att, BeingEntity def, stNotifyBattleCardPropertyUserCmd msg)
        {
            base.initItemData(att, def, msg);

            skillId = msg.dwMagicType;
            foreach (var item in msg.defList)
            {
                m_hurtIdList.Add(item.qwThisID);
            }
        }
Example #5
0
        public GridElementBase createAndAddElem(GridElementType type)
        {
            GridElementBase elem = null;

            if (GridElementType.eBasic == type)
            {
                elem = new GridElementBase();
            }
            if (GridElementType.eScale == type)
            {
                elem = new ScaleGridElement();
            }

            m_elemList.Add(elem);
            elem.addUpdateHandle(onElemChangedHandle);
            //onElemChangedHandle(elem);    // 添加后不改变

            return(elem);
        }
Example #6
0
        // 添加连接特效,固定不动,连接特效在关联的实体释放的时候,需要释放资源
        public LinkEffect addLinkEffect(int id, bool bAutoRemove = true, bool bLoop = false, bool bPlay = true)
        {
            addFrameSpriteGO();

            LinkEffect effect = Ctx.m_instance.m_sceneEffectMgr.addLinkEffect(id, m_effectRootGO, bAutoRemove, bLoop, bPlay) as LinkEffect;

            m_linkEffectList.Add(effect);
            effect.addEffectPlayEndHandle(onLinkEffectPlayEnd);
            effect.linkedEntity = this.m_being;
            return(effect);
        }
Example #7
0
        public void parseXmlElemList(ArrayList elemList_)
        {
            m_attackEffectList = new MList <AttackEffectNode>();
            AttackEffectNode attackEffectNode;

            foreach (SecurityElement hurtEffectNodeElem_ in elemList_)
            {
                attackEffectNode = new AttackEffectNode();
                m_attackEffectList.Add(attackEffectNode);
                attackEffectNode.parseXmlElem(hurtEffectNodeElem_);
            }
        }
Example #8
0
        public void parseXmlElemList(ArrayList elemList_)
        {
            m_hurtEffectList = new MList <HurtEffectNode>();
            HurtEffectNode hurtEffectNode;

            foreach (SecurityElement hurtEffectNodeElem_ in elemList_)
            {
                hurtEffectNode = new HurtEffectNode();
                m_hurtEffectList.Add(hurtEffectNode);
                hurtEffectNode.parseXmlElem(hurtEffectNodeElem_);
            }
        }
Example #9
0
        protected MList <LinkEffect> m_linkEffectList; // 保存所有添加的连接特效

        public EffectControl(BeingEntity rhv) :
            base(rhv)
        {
            m_frameEffectId  = 4;       // 默认是手牌特效 4
            m_linkEffectList = new MList <LinkEffect>();

            m_stateEffectList = new MList <LinkEffect>((int)StateID.CARD_STATE_MAX);
            int idx = 0;

            for (idx = 0; idx < (int)StateID.CARD_STATE_MAX; ++idx)
            {
                m_stateEffectList.Add(null);
            }
        }
Example #10
0
        public void parseXml(string str)
        {
            m_itemList = new MList <AttackActionItem>();
            AttackActionItem attackItem;

            SecurityParser _xmlDoc = new SecurityParser();

            _xmlDoc.LoadXml(str);

            SecurityElement rootNode          = _xmlDoc.ToXml();   // Config 节点
            ArrayList       attackItemXmlList = rootNode.Children; // AttackItem 列表

            foreach (SecurityElement attackItemElem_ in attackItemXmlList)
            {
                attackItem = new AttackActionItem();
                m_itemList.Add(attackItem);
                attackItem.parseXmlElem(attackItemElem_);
            }
        }
Example #11
0
 public void addItem(ImmeHurtItemBase item)
 {
     m_hurtList.Add(item);
 }