Esempio n. 1
0
        protected MList<FightRound> m_cacheList; // 缓存的战斗数据列表

        public FightMsgMgr(SceneDZData data)
        {
            m_sceneDZData = data;
            m_curFightData = null;
            m_curParseRound = null;
            m_cacheList = new MList<FightRound>();
        }
Esempio n. 2
0
        protected MList<HurtData> m_hurtList;       // 当前受伤对象列表

        public FightRoundAttItem(SceneDZData data) :
            base(data)
        {
            m_parallelFlag = FightExecParallelMask.eAttackHurt;
            m_parallelMask = 0;     // 攻击被击是不能并行执行的
            m_hurtList = new MList<HurtData>();
        }
Esempio n. 3
0
        private int m_loopDepth;           // 是否在循环中,支持多层嵌套,就是循环中再次调用循环

        public DelayHandleMgrBase()
        {
            m_deferredAddQueue = new MList<DelayHandleObject>();
            m_deferredDelQueue = new MList<DelayHandleObject>();

            m_loopDepth = 0;
        }
Esempio n. 4
0
 public CrystalPtPanel(EnDZPlayer playerFlag_)
 {
     m_text = new AuxLabel();
     m_mpGrid = new UIGrid();
     m_playerSide = playerFlag_;
     m_crystalList = new MList<CrystalPtItem>();
 }
Esempio n. 5
0
 public WayPtList()
 {
     m_ptList = new MList<WayPtItem>((int)PosType.eTotal);
     for (int idx = 0; idx < (int)PosType.eTotal; ++idx)
     {
         m_ptList.Add(new WayPtItem());
     }
 }
Esempio n. 6
0
            public void Join_of_single_list_with_multiple_items_is_a_list_with_multiple_items()
            {
                var list        = CreateList(1, 2, 3);
                var listOfLists = CreateList(list);

                var result = MList.Join(listOfLists);

                Assert.Equal(CreateList(1, 2, 3), result);
            }
Esempio n. 7
0
        public void releaseOneHurtFlowSeq(string skillId, OneHurtFlowSeq seq)
        {
            if (!m_cycleHurtList.ContainsKey(skillId))
            {
                m_cycleHurtList[skillId] = new MList<OneHurtFlowSeq>();
            }

            m_cycleHurtList[skillId].Add(seq);
        }
Esempio n. 8
0
            public void Combining_two_lists_returns_one_list_with_all_elements()
            {
                var list1 = CreateList(1, 2, 3);
                var list2 = CreateList(4, 5);

                var result = MList.Combine(list1, list2);

                Assert.Equal(CreateList(1, 2, 3, 4, 5), result);
            }
Esempio n. 9
0
            public bool Apply_with_list_of_one_function_and_list_of_one_value_returns_list_with_one_result(int a)
            {
                Func <int, string> f = i => i.ToString();
                var fs = MList <Func <int, string> > .List(f, MList <Func <int, string> > .Empty);

                var xs = MList <int> .List(a, MList <int> .Empty);

                return(fs.Apply(xs).Equals(MList <string> .List(f(a), MList <string> .Empty)));
            }
Esempio n. 10
0
 public void Lists_with_different_lengths_are_not_equal()
 {
     Assert.NotEqual(
         MList <int> .List(1, MList <int> .Empty),
         MList <int> .List(1, MList <int> .List(1, MList <int> .Empty)));
     Assert.NotEqual(
         MList <int> .List(1, MList <int> .List(1, MList <int> .Empty)),
         MList <int> .List(1, MList <int> .Empty));
 }
Esempio n. 11
0
 private void AddHost(MList <string> hosts)
 {
     foreach (string host in hosts.List)
     {
         HostNode instance = new HostNode(this, host);
         instance.OnAfterSocketCreateEvent += new HostNode.OnAfterSocketCreateDelegate(instance_OnAfterSocketCreateEvent);
         hostList.Add(host, instance);
     }
 }
Esempio n. 12
0
            public void Join_of_multiple_lists_with_multiple_values_is_a_single_list_of_all_values()
            {
                var list1       = CreateList('a', 'b', 'c');
                var list2       = CreateList('d', 'e', 'f');
                var listOfLists = CreateList(list1, list2);

                var result = MList.Join(listOfLists);

                Assert.Equal(CreateList('a', 'b', 'c', 'd', 'e', 'f'), result);
            }
Esempio n. 13
0
            public void Join_of_single_list_with_a_single_item_is_a_list_with_a_single_item()
            {
                var list = MList <int> .List(1, MList <int> .Empty);

                var listOfLists = MList <MList <int> > .List(list, MList <MList <int> > .Empty);

                var result = MList.Join(listOfLists);

                Assert.Equal(MList <int> .List(1, MList <int> .Empty), result);
            }
Esempio n. 14
0
                public void Empty_list()
                {
                    var v      = MList <int> .Empty;
                    var pureId = MList.Pure((Func <int, int>)Id);

                    var left  = pureId.Apply(v);
                    var right = v;

                    Assert.Equal(left, right);
                }
Esempio n. 15
0
        public MazeRoom(int iTag_)
        {
            m_fixIdx = iTag_;
            m_iTag = iTag_;
            m_mazeIOControl = new MazeIOControl(this);
            m_mazeRoomTrackAniControl = new MazeRoomTrackAniControl(this);
            m_ptListArr = new MList<MazePtBase>[(int)ePathIndex.eTotal];

            initWayPtList();
        }
Esempio n. 16
0
        public static void Synchronize <T>(this MList <T> oldElements, IEnumerable <T> newElements)
        {
            if (Enumerable.SequenceEqual(oldElements, newElements))
            {
                return;
            }

            oldElements.Clear();
            oldElements.AddRange(newElements);
        }
Esempio n. 17
0
 public void FromXml(XElement element, IFromXmlContext ctx)
 {
     Name     = element.Attribute("Name").Value;
     Guid     = Guid.Parse(element.Attribute("Guid").Value);
     Messages = new MList <EmailMasterTemplateMessageEmbedded>();
     Messages = element.Element("Messages").Elements("Message").Select(elem => new EmailMasterTemplateMessageEmbedded(ctx.GetCultureInfoEntity(elem.Attribute("CultureInfo").Value))
     {
         Text = elem.Value
     }).ToMList();
 }
Esempio n. 18
0
        internal static string?ValidateViewNameProps(DynamicViewEntity dv, MList <ViewNamePropEmbedded> viewNameProps)
        {
            var extra   = viewNameProps.Where(a => !dv.Props.Any(p => p.Name == a.Name)).CommaAnd(a => a.Name);
            var missing = dv.Props.Where(p => !p.Type.EndsWith("?") && !viewNameProps.Any(a => a.Expression.HasText() && p.Name == a.Name)).CommaAnd(a => a.Name);

            return(" and ".Combine(
                       extra.HasText() ? "The ViewProps " + extra + " are not declared in " + dv.ViewName : null,
                       missing.HasText() ? "The ViewProps " + missing + " are mandatory in " + dv.ViewName : null
                       ).DefaultToNull());
        }
 public MazePlayerTrackAniControl(MazePlayer mazePlayer_)
 {
     m_mazePlayer = mazePlayer_;
     m_numAniParal = new NumAniParallel();
     m_numAniParal.setAniSeqEndDisp(onMoveEndHandle);
     m_ptList = new MList<MazePtBase>();
     m_bDiePt = false;
     m_bBombPt = false;
     m_BDiedPlayEffect = false;
 }
Esempio n. 20
0
        public static MList <T> CreateList <T>(params T[] items)
        {
            var acc = MList <T> .Empty;

            foreach (var value in items.Reverse())
            {
                acc = MList <T> .List(value, acc);
            }

            return(acc);
        }
Esempio n. 21
0
                public bool Non_empty_list(byte b1, byte b2)
                {
                    var v = MList <byte> .List(b1, MList <byte> .List(b2, MList <byte> .Empty));

                    var pureId = MList.Pure((Func <byte, byte>)Id);

                    var left  = pureId.Apply(v);
                    var right = v;

                    return(left.Equals(right));
                }
Esempio n. 22
0
    public static void print <T>(MList <T> l)
    {
        int    n = 0;
        string s = "";

        foreach (T i in l)
        {
            s += "([" + (n++) + "] " + i + " )";
        }
        UT.print(s);
    }
Esempio n. 23
0
            public void Concat_returns_concatenated_list()
            {
                var lists = CreateList(
                    CreateList(1, 2),
                    CreateList <int>(),
                    CreateList(3, 4, 5));

                Assert.Equal(
                    CreateList(1, 2, 3, 4, 5),
                    MList.Concat(lists));
            }
Esempio n. 24
0
            public void Non_empty_list_is_mapped()
            {
                Func <string, int> f = s => s.Length;

                var list = CreateList("a", "aa", "aaa");

                var expected = CreateList(f("a"), f("aa"), f("aaa"));

                var mappedF = MList.FMap(f);

                Assert.Equal(expected, mappedF(list));
            }
Esempio n. 25
0
            public void Bind_one_element_list_returns_result_of_bound_function()
            {
                var input = MList <string> .List("abc", MList <string> .Empty);

                Func <string, MList <int> > f = s => CreateList(s.Select(c => (int)c));

                var actual = input.Bind(f);

                var expected = CreateList((int)'a', 'b', 'c');

                Assert.Equal(expected, actual);
            }
Esempio n. 26
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_);
            }
        }
Esempio n. 27
0
        protected int m_uniqueId;           // 战斗回合唯一 Id

        public FightRound(SceneDZData data)
        {
            m_sceneDZData = data;
            m_curFightData = null;
            m_cacheList = new MList<FightRoundItemBase>();
            m_roundEndDisp = new AddOnceAndCallOnceEventDispatch();
            m_bSvrRoundEnd = false;

            m_uniqueId = ID_ALLOC_IDX;
            ++ID_ALLOC_IDX;

            FightRoundItemBase.CLEAR_ID_ALLOC_IDX();    // 需要重置每一个战斗 ID
        }
Esempio n. 28
0
        protected int m_uniqueId;                         // 战斗回合唯一 Id

        public FightRound(SceneDZData data)
        {
            m_sceneDZData  = data;
            m_curFightData = null;
            m_cacheList    = new MList <FightRoundItemBase>();
            m_roundEndDisp = new AddOnceAndCallOnceEventDispatch();
            m_bSvrRoundEnd = false;

            m_uniqueId = ID_ALLOC_IDX;
            ++ID_ALLOC_IDX;

            FightRoundItemBase.CLEAR_ID_ALLOC_IDX();    // 需要重置每一个战斗 ID
        }
Esempio n. 29
0
            public bool Left_identity(int a)
            {
                // return a >>= k  = k a
                // pure a >>= k    = k a
                // bind (pure a) k = k a

                Func <int, MList <int> > k = x => CreateList(x + 1, x + 2);

                var left  = MList.Pure(a).Bind(k);
                var right = k(a);

                return(left.Equals(right));
            }
Esempio n. 30
0
        public static MList <EmailTemplateMessageEmbedded> CreateMessages(Func <EmailTemplateMessageEmbedded> func)
        {
            var list = new MList <EmailTemplateMessageEmbedded>();

            foreach (var ci in CultureInfoLogic.ApplicationCultures)
            {
                using (CultureInfoUtils.ChangeBothCultures(ci))
                {
                    list.Add(func());
                }
            }
            return(list);
        }
Esempio n. 31
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);
            }
        }
Esempio n. 32
0
        protected MList <LinkEffect> m_linkEffectList; // 保存所有添加的连接特效

        public EffectControl(SceneCardBase 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);
            }
        }
Esempio n. 33
0
        public TypeRuleBuilder(TypeAllowedRule rule)
        {
            this.allowed             = new TypeAllowedBuilder(rule.Allowed.Fallback);
            this.conditions          = rule.Allowed.Conditions.Select(c => new TypeConditionRuleBuilder(c.TypeCondition, c.Allowed)).ToMList();
            this.availableConditions = rule.AvailableConditions;
            this.allowedBase         = rule.AllowedBase;
            this.resource            = rule.Resource;

            this.properties = rule.Properties;
            this.operations = rule.Operations;
            this.queries    = rule.Queries;

            this.RebindEvents();
        }
Esempio n. 34
0
                public bool Third_law(int y)
                {
                    var u = CreateList <Func <int, int> >(
                        i => i + 1,
                        i => i * 2);

                    var left = u.Apply(MList.Pure(y));

                    //                           \x -> x y
                    Func <Func <int, int>, int> f = h => h(y);
                    var right = MList.Pure(f).Apply(u);

                    return(left.Equals(right));
                }
Esempio n. 35
0
                public void Second_law()
                {
                    // pure f <*> pure x = pure (f x)
                    //   <=>
                    // apply (pure f) (pure x) = pure (f x)

                    Func <string, int> f = s => s.Length;
                    var x = "some string";

                    var left  = MList.Pure(f).Apply(MList.Pure(x));
                    var right = MList.Pure(f(x));

                    Assert.Equal(left, right);
                }
    private IMessageAttachmentsCollectionPage GetAttachments(MList <EmailAttachmentEmbedded> attachments)
    {
        var result = new MessageAttachmentsCollectionPage();

        foreach (var a in attachments)
        {
            result.Add(new FileAttachment
            {
                ContentId    = a.ContentId,
                Name         = a.File.FileName,
                ContentType  = MimeMapping.GetMimeType(a.File.FileName),
                ContentBytes = a.File.GetByteArray(),
            });
        }
        return(result);
    }
Esempio n. 37
0
                public bool Fourth_law(int i1, int i2, int i3)
                {
                    // u <*> (v <*> w) = pure (.) <*> u <*> v <*> w
                    // apply u (apply v w) = apply (apply (apply (pure (.)) u)) v) w

                    var u = CreateList <Func <int, int> >(x => x * 2, x => x * 3);
                    var v = CreateList <Func <int, int> >(x => x + 3, x => x + 4);
                    var w = CreateList(i1, i2, i3);

                    var pureComposeRight = MList.Pure(ComposeRight <int, int, int>());

                    var left  = u.Apply(v.Apply(w));
                    var right = pureComposeRight.Apply(u).Apply(v).Apply(w);

                    return(left.Equals(right));
                }
Esempio n. 38
0
        public override int GetHashCode(MList <T> obj)
        {
            if (obj == null)
            {
                return(0);
            }

            int result = 0;

            foreach (var p in obj)
            {
                result += this.ElementComparer.GetHashCode(p);
            }

            return(result);
        }
        public ActionResult TopRecommendations()
        {
            var results = from x in db.monitors
                          select x;
            int   pagesize = 9, pageindex = 1;
            MList temp = new MList();

            results = results.Where(x => x.Star_Rating >= 5).OrderBy(x => Guid.NewGuid()).Take(9);
            var list = results.ToList();

            temp.Monitors = list.ToPagedList(pageindex, pagesize);
            BreadCrumb.Clear();
            BreadCrumb.Add(Url.Action("Index", "Home"), "Home");
            BreadCrumb.Add(Url.Action("AppliancesType", "Home"), "Save Energy");
            BreadCrumb.Add(Url.Action("Index", "monitors"), "Monitor");
            BreadCrumb.Add("", "Top Recommendations");
            List <SelectListItem> Ratings_level = new List <SelectListItem>();

            Ratings_level.Add(new SelectListItem()
            {
                Text = "All Ratings", Value = "-1"
            });
            Ratings_level.Add(new SelectListItem()
            {
                Text = "1 Star", Value = "1"
            });
            Ratings_level.Add(new SelectListItem()
            {
                Text = "2 Star", Value = "2"
            });
            Ratings_level.Add(new SelectListItem()
            {
                Text = "3 Star", Value = "3"
            });
            Ratings_level.Add(new SelectListItem()
            {
                Text = "4 Star", Value = "4"
            });
            Ratings_level.Add(new SelectListItem()
            {
                Text = "5 Star", Value = "5"
            });
            this.ViewBag.Ratings = new SelectList(Ratings_level, "Value", "Text");
            return(View(temp));
        }
Esempio n. 40
0
 override public void initWayPtList()
 {
     for (int pathIdx = 0; pathIdx < (int)ePathIndex.eTotal; ++pathIdx)
     {
         if ((int)ePathIndex.eABC == pathIdx)
         {
             m_ptListArr[pathIdx] = new MList<MazePtBase>();
         }
         else if ((int)ePathIndex.eACB == pathIdx)
         {
             if ((int)eRoomIndex.eStart != m_fixIdx)
             {
                 m_ptListArr[pathIdx] = new MList<MazePtBase>();
             }
         }
         else if ((int)ePathIndex.eBAC == pathIdx)
         {
             if ((int)eRoomIndex.eB == m_fixIdx)
             {
                 m_ptListArr[pathIdx] = new MList<MazePtBase>();
             }
         }
         else if ((int)ePathIndex.eBCA == pathIdx)
         {
             if ((int)eRoomIndex.eB == m_fixIdx)
             {
                 m_ptListArr[pathIdx] = new MList<MazePtBase>();
             }
         }
         else if ((int)ePathIndex.eCAB == pathIdx)
         {
             if ((int)eRoomIndex.eStart != m_fixIdx)
             {
                 m_ptListArr[pathIdx] = new MList<MazePtBase>();
             }
         }
         else if ((int)ePathIndex.eCBA == pathIdx)
         {
             if ((int)eRoomIndex.eStart != m_fixIdx)
             {
                 m_ptListArr[pathIdx] = new MList<MazePtBase>();
             }
         }
     }
 }
Esempio n. 41
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_);
            }
        }
Esempio n. 42
0
    public static MList <Int2> getNeighbors(Int2 p, int max, int min)
    {
        UT.assert(max >= 1 && min >= 1 && max >= min);
        // get set of neighbors in min/max range
        MList <Int2> l = new MList <Int2>();

        for (int y = p.y - max; y <= p.y + max; y++)
        {
            for (int x = p.x - max; x <= p.x + max; x++)
            {
                if (p.chess(x, y) >= min)
                {
                    l.Add(new Int2(x, y));
                }
            }
        }
        return(l);
    }
Esempio n. 43
0
        /// <summary>
        /// 移除Key和Value
        /// </summary>
        /// <param name="removeKeys"></param>
        private void RemoveList(List <string> removeKeys)
        {
            if (removeKeys != null && removeKeys.Count > 0)
            {
                lock (lockObj)
                {
                    foreach (string key in removeKeys)
                    {
                        try
                        {
                            if (theCache.ContainsKey(key))
                            {
                                theCache.Remove(key);
                            }
                            if (theKeyTime.ContainsKey(key))
                            {
                                theKeyTime.Remove(key);
                            }
                            if (theFileName.ContainsKey(key))
                            {
                                string         folder = Path.GetDirectoryName(theFileName[key]);
                                MList <string> keys   = theFolderKeys[folder];
                                keys.Remove(key);
                                if (keys.Count == 0)
                                {
                                    theFolderWatcher[folder].Changed -= new FileSystemEventHandler(fsy_Changed); //取消事件
                                    theFolderWatcher.Remove(folder);                                             //文件夹下没有要监视的文件,取消事件和对象。
                                    theFolderKeys.Remove(folder);                                                //移除对象。
                                }

                                theFileName.Remove(key);//file
                            }
                            //file
                        }
                        catch
                        {
                            errorCount++;
                            break;
                        }
                    }
                }
            }
        }
Esempio n. 44
0
 public HurtSeqData()
 {
     m_hurtSeqList = new MList<OneHurtFlowSeq>();
 }
Esempio n. 45
0
        protected AttackItemBase m_curAttackItem;       // 当前攻击项,因为攻击不能打断,必须整个攻击流程结束才算是攻击结束

        public AttackData()
        {
            m_attackList = new MList<AttackItemBase>();
        }
Esempio n. 46
0
 public EventDispatch(int eventId_ = 0)
 {
     m_eventId = eventId_;
     m_handleList = new MList<EventDispatchFunctionObject>();
 }
Esempio n. 47
0
 public OneHurtFlowSeq()
 {
     m_hurtSeqItem = new MList<HurtSeqItem>();
 }
Esempio n. 48
0
 public OneAttackFlowSeq()
 {
     m_attackItemList = new MList<AttackSeqItem>();
 }
Esempio n. 49
0
        protected EventDispatch m_allHurtExecEndDisp;   // 所有 Hurt Item 执行结束事件分发

        public HurtData()
        {
            m_hurtList = new MList<HurtItemBase>();
            m_allHurtExecEndDisp = new AddOnceEventDispatch();
        }
        public TypeRuleBuilder(TypeAllowedRule rule)
        {
            this.allowed = new TypeAllowedBuilder(rule.Allowed.Fallback);
            this.conditions = rule.Allowed.Conditions.Select(c => new TypeConditionRuleBuilder(c.TypeCondition, c.Allowed)).ToMList();
            this.availableConditions = rule.AvailableConditions;
            this.allowedBase = rule.AllowedBase; 
            this.Resource = rule.Resource;

            this.Properties = rule.Properties;
            this.Operations = rule.Operations;
            this.Queries = rule.Queries;

            this.RebindEvents();
        }
Esempio n. 51
0
        protected int getValidElemCount(MList<GridElementBase> elemList_)
        {
            int count = 0;

            foreach (var item in elemList_.list)
            {
                if(item.bValid)
                {
                    ++count;
                }
            }

            return count;
        }
Esempio n. 52
0
        protected MList<uint> m_hurtIdList;     // 被击者 this id 列表

        public ImmeSkillAttackItem(EImmeAttackType attackType) :
            base(attackType)
        {
            m_hurtIdList = new MList<uint>();
        }
Esempio n. 53
0
 public DynSceneGrid()
 {
     m_elemList = new MList<GridElementBase>();
     m_bNeedUpdate = false;
     m_posList = new List<Vector3>();
 }
Esempio n. 54
0
 public RoomInfo()
 {
     m_mazeRoomList = new MList<MazeRoom>();
 }
Esempio n. 55
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;
                }
            }
        }
Esempio n. 56
0
        public void newRectSplit(Transform trans, float areaRadius, float fYDelta, MList<GridElementBase> elemList_, ref List<Vector3> posList)
        {
            float unitWidth = 0;
            int splitCnt = 0;
            Vector3 pos;
            int listIdx = 0;

            if (unitWidth * splitCnt > 2 * areaRadius)       // 如果当前区域不能完整放下所有的单元
            {
                float splitCellWidth = (areaRadius * 2) / splitCnt;
                while (listIdx < splitCnt)
                {
                    pos.x = trans.localPosition.x + splitCellWidth * listIdx - areaRadius;
                    pos.y = trans.localPosition.y + fYDelta * listIdx;
                    pos.z = trans.localPosition.z;
                    posList.Add(pos);

                    ++listIdx;
                }
            }
            else            // 全部能放下,就居中显示
            {
                float halfWidth = (float)((unitWidth * splitCnt) * 0.5);        // 占用的区域的一般宽度
                while (listIdx < splitCnt)
                {
                    pos.x = trans.localPosition.x + unitWidth * listIdx - halfWidth;
                    pos.y = trans.localPosition.y + fYDelta * listIdx;
                    pos.z = trans.localPosition.z;
                    posList.Add(pos);

                    ++listIdx;
                }
            }
        }
Esempio n. 57
0
        protected MList<OneAttackFlowSeq> m_attackSeqList;          // 攻击序列的列表

        public AttackSeqData()
        {
            m_attackSeqList = new MList<OneAttackFlowSeq>();
        }
Esempio n. 58
0
        public void getWayPtList(MList<MazePtBase> ptList)
        {
            int pathIdx = 0;
            if ((int)eRoomIndex.eA == m_mazeRoomList[1].fixIdx)
            {
                if ((int)eRoomIndex.eB == m_mazeRoomList[2].fixIdx)
                {
                    pathIdx = (int)ePathIndex.eABC;
                }
                else if((int)eRoomIndex.eC == m_mazeRoomList[2].fixIdx)
                {
                    pathIdx = (int)ePathIndex.eACB;
                }
            }
            else if ((int)eRoomIndex.eB == m_mazeRoomList[1].fixIdx)
            {
                if ((int)eRoomIndex.eA == m_mazeRoomList[2].fixIdx)
                {
                    pathIdx = (int)ePathIndex.eBAC;
                }
                else if ((int)eRoomIndex.eC == m_mazeRoomList[2].fixIdx)
                {
                    pathIdx = (int)ePathIndex.eBCA;
                }
            }
            else if ((int)eRoomIndex.eC == m_mazeRoomList[1].fixIdx)
            {
                if ((int)eRoomIndex.eB == m_mazeRoomList[2].fixIdx)
                {
                    pathIdx = (int)ePathIndex.eCBA;
                }
                else if ((int)eRoomIndex.eA == m_mazeRoomList[2].fixIdx)
                {
                    pathIdx = (int)ePathIndex.eCAB;
                }
            }

            //if (Ctx.m_instance.m_maze.mazeData.curSceneIdx == (int)eSceneIndex.eFirst)
            //{
                for (int idx = 0; idx < 5; ++idx)
                {
                    m_mazeRoomList[idx].getWayPtList(ptList, pathIdx);
                }
            //}
            //else
            //{
            //    for (int idx = 0; idx < 1; ++idx)
            //    {
            //        m_mazeRoomList[idx].getWayPtList(ptList, pathIdx);
            //    }
            //}
        }
Esempio n. 59
0
        protected ImmeAttackItemBase m_curAttackItem;       // 当前攻击项,因为攻击不能打断,必须整个攻击流程结束才算是攻击结束

        public ImmeAttackData()
        {
            m_attackList = new MList<ImmeAttackItemBase>();
        }