示例#1
0
 public void Resume()
 {
     for (int i = _buffEntityList.Count - 1; i >= 0; --i)
     {
         ActionBuff se = _buffEntityList[i];
         se.Resume();
     }
 }
示例#2
0
 public override void Reset()
 {
     for (int i = _buffEntityList.Count - 1; i >= 0; --i)
     {
         ActionBuff se = _buffEntityList[i];
         se.OnEnd();
     }
     _buffEntityList.Clear();
 }
示例#3
0
        public ActionBuff CastBuff(string name)
        {
            MetaBuff buffData = BuffMgr.Instance.GetBuff(name);

            if (buffData == null)
            {
                buffData = new MetaBuff();
            }
            ActionBuff buffEntity = new ActionBuff();

            buffEntity.BuffData = buffData;
            _buffEntityList.Add(buffEntity);
            return(buffEntity);
        }
示例#4
0
 public override void Update()
 {
     for (int i = _buffEntityList.Count - 1; i >= 0; --i)
     {
         ActionBuff se = _buffEntityList[i];
         se.Update();
         if (se.WaitDestroy)
         {
             se.OnDestroy();
             se = null;
             _buffEntityList.RemoveAt(i);
         }
     }
 }
示例#5
0
 public void AddBuffEntity(ActionBuff be)
 {
     _buffEntityList.Add(be);
 }
示例#6
0
        public override void playStage()
        {
            base.playStage();
            if (Selection.activeGameObject == null)
            {
                return;
            }
            TreeNode node = _treeView.SelectedNode;

            if (node == null)
            {
                return;
            }
            NodeData data = node.Data as NodeData;

            if (data == null)
            {
                return;
            }
            MetaBuff buff   = null;
            bool     single = false;

            if (data.Type == NodeData.eType.Entity)
            {
                buff = node.ExtraData as MetaBuff;
            }
            else if (data.Type == NodeData.eType.Stage)
            {
                single = true;
                buff   = new MetaBuff();
                if (node.Text == "CastStage")
                {
                    buff.CastStage = node.ExtraData as MetaStage;
                }
                else if (node.Text == "FireStage")
                {
                    buff.FireStage = node.ExtraData as MetaStage;
                }
                else if (node.Text == "EndStage")
                {
                    buff.EndStage = node.ExtraData as MetaStage;
                }
            }
            if (buff == null)
            {
                return;
            }

            ActionBuff buffEntity = new ActionBuff();

            BuffMgr.Instance.AddBuffEntity(buffEntity);
            buffEntity.BuffData = buff;
            //ActorTemplate act = Selection.activeGameObject.GetComponent<ActorTemplate>();
            //foreach (Actor actor in ActorMgr.Instance.Actors.Values)
            //{
            //    ActorTemplate at = actor.Template;
            //    if (at == null)
            //    {
            //        continue;
            //    }
            //    if (act == at)
            //    {
            //        continue;
            //    }
            //    buffEntity.Targeters.Add(at.ID);
            //}
            buffEntity.Attacker = (ulong)Selection.activeGameObject.GetInstanceID();
            if (single)
            {
                buffEntity.FireTime = 1.0f;
                buffEntity.LifeTime = 3.0f;
            }
            else
            {
                buffEntity.FireTime = 1.0f;
                buffEntity.LifeTime = 10.0f;
            }

            //buffEntity.ProcessInterface = ScriptMgr.Instance.GetGlobalTable("IBuff_default");

            buffEntity.Start();
        }