예제 #1
0
        public override void OnFinished()
        {
            BindStateBuffData tempData = this.BuffData as BindStateBuffData;

            if (tempData.OriState != null)
            {
                this.GetBuffTarget().GetComponent <StackFsmComponent>().RemoveState(tempData.OriState.StateName);
            }
        }
예제 #2
0
        private void ExcuteInternal()
        {
            BindStateBuffData tempData = this.BuffData as BindStateBuffData;

            foreach (var buffData in tempData.OriBuff)
            {
                buffData.AutoAddBuff(this.BuffData.BelongToBuffDataSupportorId, buffData.BuffNodeId.Value,
                                     this.TheUnitFrom, this.TheUnitBelongto, this.BelongtoRuntimeTree);
            }

            if (this.BuffData.EventIds != null)
            {
                foreach (var eventId in this.BuffData.EventIds)
                {
                    Game.Scene.GetComponent <BattleEventSystem>().Run($"{eventId}{this.TheUnitFrom.Id}", this);
                    //Log.Info($"抛出了{this.MSkillBuffDataBase.theEventID}{this.theUnitFrom.Id}");
                }
            }

            if (tempData.OriState != null)
            {
                this.GetBuffTarget().GetComponent <StackFsmComponent>().ChangeState(tempData.OriState);
            }
        }