示例#1
0
        public bool TryPerform(Battle context)
        {
            Debug.Assert(!IsRunning);

            if (IsBeforeDelaying)
            {
                Debug.LogError("now before delaying.");
                return false;
            }

            if (_boss.IsDead)
                return false;

            if (_boss.Data.Skills.Empty())
            {
                Debug.LogError("has no skill.");
                return false;
            }

            var data = SampleOrGetDebugSkillData(context);
            if (data == null)
                return false;

            Running = _skillFactory.Create(data, context, _boss);
            Running.OnStop += OnStop;
            Running.Start();
            Events.Boss.OnSkillStart.CheckAndCall(_boss, Running);
            return true;
        }
 private void OnBossSkillStart(Boss boss, BossSkillActor skillActor)
 {
     BossView.PlaySkillStart(skillActor.Data, null);
 }
示例#3
0
 private void OnStop(BossSkillActor skill)
 {
     Debug.Assert(Running == skill);
     Running = null;
     ResetDelayTimers();
 }