예제 #1
0
 protected virtual void OnInterval()
 {
     if (IntervalAttr != null)
     {
         AttrMgr.Add(IntervalAttr);
     }
 }
예제 #2
0
 /// <summary>
 /// obj1:来源对象
 /// obj2:来源技能
 /// </summary>
 /// <param name="mono"></param>
 /// <param name="obj"></param>
 public override void OnBeAdded(BaseCoreMono mono, params object[] obj)
 {
     base.OnBeAdded(mono, obj);
     R_Caster  = GetAddedObjData <BaseUnit>(0);
     R_Skill   = GetAddedObjData <TDBaseSkillData>(1);
     R_Attr    = AttrMgr.Add(Attr);
     R_Convert = AttrMgr.Add(Convert);
     CurTime   = 0;
 }
예제 #3
0
 public override void OnBeRemoved()
 {
     base.OnBeRemoved();
     AttrMgr.Remove(R_Attr);
     AttrMgr.Remove(R_Convert);
     if (PerformMgr != null)
     {
         foreach (var item in R_Performs)
         {
             PerformMgr.Despawn(item);
         }
     }
 }
예제 #4
0
 /// <summary>
 /// 设置属性修改因子
 /// </summary>
 /// <param name="step"></param>
 public virtual void SetStep(float step)
 {
     if (R_Attr == null)
     {
         return;
     }
     Step = step;
     foreach (var item in R_Attr)
     {
         item.SetStep(step);
     }
     AttrMgr.SetDirty();
 }
예제 #5
0
        public static void  Start()
        {
            lock (thisLock)
            {
                m_IsRunning = false;
            }
            Stopwatch allWatch = new Stopwatch();

            allWatch.Start();

            {
                Stopwatch stopwatch = new Stopwatch();
                //加载配置
                stopwatch.Start();
                AttrMgr.Init();
                ConfigMgr.Inst().InitConfigMgr();
                stopwatch.Stop();

                TraceLog.ReleaseWrite("加载游戏execl配置文件完成,共花费时间 {0} ms", stopwatch.Elapsed.TotalMilliseconds);
            }

            {
                Stopwatch stopwatch = new Stopwatch();
                stopwatch.Start();
                MapMgr.Inst().Init();
                stopwatch.Stop();
                TraceLog.ReleaseWrite("加载游戏地图数据完成,共花费时间 {0} ms", stopwatch.Elapsed.TotalMilliseconds);
            }

            {
                Stopwatch stopwatch = new Stopwatch();
                stopwatch.Start();
                SceneMgr.Inst().Init();
                stopwatch.Stop();
                TraceLog.ReleaseWrite("创建场景完成,共花费时间 {0} ms", stopwatch.Elapsed.TotalMilliseconds);
            }


            allWatch.Stop();
            TraceLog.ReleaseWrite("加载全部配置,共花费时间 {0} ms", allWatch.Elapsed.TotalMilliseconds);

            lock (thisLock)
            {
                m_IsRunning = true;
            }
        }
예제 #6
0
 // obj1:来源对象
 // obj2:来源技能
 public override void OnBeAdded(BaseCoreMono mono, params object[] obj)
 {
     base.OnBeAdded(mono, obj);
     R_Caster   = GetAddedObjData <BaseUnit>(0);
     R_Skill    = GetAddedObjData <TDBaseSkillData>(1);
     R_Attr     = AttrMgr.Add(Attr);
     R_Convert  = AttrMgr.Add(Convert);
     R_Performs = new List <BasePerform>();
     CurTime    = 0;
     RTMaxTime  = MaxTime;
     Valid      = true;
     if (PerformMgr != null)
     {
         foreach (var item in Performs)
         {
             R_Performs.Add(PerformMgr.Spawn(item));
         }
     }
 }
예제 #7
0
 public virtual void SetValid(bool b)
 {
     //使用InputVal必须设置为DeepCopy
     if (b == false && CloneType != CloneType.Deep)
     {
         CLog.Error("使用SetValid必须设置为DeepCopy");
         return;
     }
     Valid = b;
     if (R_Attr == null)
     {
         CLog.Error("错误!SetValid,R_Attr == null,{0}", TDID);
         return;
     }
     foreach (var item in R_Attr)
     {
         item.SetValid(b);
     }
     AttrMgr.SetDirty();
 }
예제 #8
0
        // 设置属性修改因子
        public virtual void SetInput(float input)
        {
            //使用InputVal必须设置为DeepCopy
            if (input != 0 && CloneType != CloneType.Deep)
            {
                CLog.Error("使用InputVal必须设置为DeepCopy");
                return;
            }

            Input = input;
            var realInputVal = Input - InputValStart;

            if (R_Attr == null)
            {
                CLog.Error("错误!SetInput,R_Attr == null,{0}", TDID);
                return;
            }
            foreach (var item in R_Attr)
            {
                item.SetInput(realInputVal);
            }
            AttrMgr.SetDirty();
        }
예제 #9
0
 public override void OnBeRemoved()
 {
     base.OnBeRemoved();
     AttrMgr.Remove(R_Attr);
     AttrMgr.Remove(R_Convert);
 }