Esempio n. 1
0
        // 此函数由场景物体类调用,因此函数中要判断主从关系,发包频率
        static public void SubmitNewStatus(string objMgPath, string statueName, SyncImportant improtant, params object[] values)
        {

            if (improtant == SyncImportant.Immediate)
            {
                PushNewStatus(objMgPath, statueName, values);
            }
            else
            {
                string key = objMgPath + statueName;
                if (Timer.ContainsKey(key))
                {
                    float leftTime = Timer[key];
                    switch (improtant)
                    {
                        case SyncImportant.HighFrequency:
                            if (leftTime > 0)
                            {
                                PushNewStatus(objMgPath, statueName, values);
                                Timer[key] = -highSpace;
                            }
                            break;
                        case SyncImportant.MidFrequency:
                            if (leftTime > 0)
                            {
                                PushNewStatus(objMgPath, statueName, values);
                                Timer[key] = -midSpace;
                            }
                            break;
                        case SyncImportant.LowFrequency:
                            if (leftTime > 0)
                            {
                                PushNewStatus(objMgPath, statueName, values);
                                Timer[key] = -lowSpace;
                            }
                            break;
                        default:
                            break;
                    }
                }
                else
                {
                    switch (improtant)
                    {
                        case SyncImportant.HighFrequency:
                            Timer.Add(key, -highSpace);
                            break;
                        case SyncImportant.MidFrequency:
                            Timer.Add(key, -midSpace);
                            break;
                        case SyncImportant.LowFrequency:
                            Timer.Add(key, -lowSpace);
                            break;
                        default:
                            break;
                    }
                }
            }

        }
Esempio n. 2
0
        // 此函数由场景物体类调用,因此函数中要判断主从关系,发包频率
        static public void SubmitNewStatus(string objMgPath, string statueName, SyncImportant improtant, params object[] values)
        {
            if (improtant == SyncImportant.Immediate)
            {
                PushNewStatus(objMgPath, statueName, values);
            }
            else
            {
                string key = objMgPath + statueName;
                if (Timer.ContainsKey(key))
                {
                    float leftTime = Timer[key];
                    switch (improtant)
                    {
                    case SyncImportant.HighFrequency:
                        if (leftTime > 0)
                        {
                            PushNewStatus(objMgPath, statueName, values);
                            Timer[key] = -highSpace;
                        }
                        break;

                    case SyncImportant.MidFrequency:
                        if (leftTime > 0)
                        {
                            PushNewStatus(objMgPath, statueName, values);
                            Timer[key] = -midSpace;
                        }
                        break;

                    case SyncImportant.LowFrequency:
                        if (leftTime > 0)
                        {
                            PushNewStatus(objMgPath, statueName, values);
                            Timer[key] = -lowSpace;
                        }
                        break;

                    default:
                        break;
                    }
                }
                else
                {
                    switch (improtant)
                    {
                    case SyncImportant.HighFrequency:
                        Timer.Add(key, -highSpace);
                        break;

                    case SyncImportant.MidFrequency:
                        Timer.Add(key, -midSpace);
                        break;

                    case SyncImportant.LowFrequency:
                        Timer.Add(key, -lowSpace);
                        break;

                    default:
                        break;
                    }
                }
            }
        }