コード例 #1
0
    public static void DoLoopEvent(SkillStage stage, int curTick)
    {
        excel_skill_stage stageInfo = stage.mStageInfo;

        if (stageInfo.events == null)
        {
            return;
        }
        for (int i = 0; i < stageInfo.events.Length; ++i)
        {
            int eventID = stageInfo.events[i];
            excel_skill_event eventInfo = excel_skill_event.Find(eventID);
            if ((int)SkillEventTriggerType.Loop != eventInfo.triggerType)
            {
                continue;
            }
            if (!IsEventTrait(SkillEventTrait.Server, eventInfo))
            {
                continue;
            }
            int tick = curTick - eventInfo.triggerParam1;
            if (tick >= 0 && eventInfo.triggerParam2 > 0 && tick % eventInfo.triggerParam2 == 0)
            {
                SkillEventRegister.SkillEventMethod e = null;
                SkillEventType type = (SkillEventType)eventInfo.eventType;
                if (!SkillEventRegister.events.TryGetValue(type, out e))
                {
                    continue;
                }
                e(stage.mSkillContext.mOwner, null, stage.mSkillContext, eventInfo);
            }
        }
    }
コード例 #2
0
        public async Task <RunEvaluationsResponse> Run(string skillId, SkillStage stage, string locale, string annotationSetId)
        {
            var response = await Client.Create(skillId, new Asr.Evaluations.RunEvaluationsRequest
            {
                Skill = new SkillInformation {
                    Stage = stage, Locale = locale
                },
                AnnotationSetId = annotationSetId
            });

            var body = string.Empty;

            if (response.Content != null)
            {
                body = await response.Content.ReadAsStringAsync();
            }

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new InvalidOperationException(
                          $"Expected Status Code 200. Received {(int)response.StatusCode}. Response Body: {body}");
            }

            var json = JObject.Parse(body);

            return(new RunEvaluationsResponse
            {
                Id = json.Value <string>("id"),
                Location = response.Headers.Location
            });
        }
コード例 #3
0
        public Task <SkillValidationResponse> Submit(string skillId, SkillStage stage, params string[] locales)
        {
            var request = new SkillValidationRequest {
                Locales = locales
            };

            return(Client.Submit(skillId, stage, request));
        }
コード例 #4
0
ファイル: Skill.cs プロジェクト: midgithub/ProjectC
    public void BeginSkill()
    {
        int firstStageID = -1;

        for (int i = 0; i < mSkillInfo.stages.Length; ++i)
        {
            int stageID = mSkillInfo.stages[i];
            excel_skill_stage stageInfo = excel_skill_stage.Find(stageID);
            if (stageInfo == null)
            {
                Debug.LogErrorFormat("Error: 找不到技能段{0},技能ID:{1}", stageID, mSkillInfo.id);
                continue;
            }
            if (SkillStage.IsStageTrait(SkillStageTrait.FirstStage, stageInfo))
            {
                firstStageID = stageInfo.id;
                break;
            }
        }
        if (firstStageID < 0)
        {
            Debug.LogErrorFormat("Error: 找不到初始技能段,技能ID:{0}", mSkillInfo.id);
            return;
        }
        SetStage(firstStageID);
        if (mCurStage == null)
        {
            mSkillState = SkillState.Break;
            return;
        }

        Character skillTarget = mSkillContext.SkillTarget;

        if (mSkillInfo.targetType != (int)SkillTargetType.All && skillTarget != null)
        {
            Vector3 dir = skillTarget.Position - Owner.Position;
            Owner.Direction = dir;
        }

        if (!SkillStage.IsStageTrait(SkillStageTrait.AllowMove, mCurStage.mStageInfo) ||
            SkillStage.IsStageTrait(SkillStageTrait.MoveBreak, mCurStage.mStageInfo))
        {
            //Owner.StopMove(false);
        }

        mSkillState = SkillState.Using;

        // 自己客户端放技能通知服务器开始放技能;
        if (GameController.IsConntrller(Owner))
        {
            SkillBegin req = new SkillBegin();
            req.uid       = Owner.gid;
            req.skillID   = mSkillInfo.id;
            req.position  = Vector3Packat.FromVector3(Owner.Position);
            req.direction = Vector3Packat.FromVector3(Owner.Direction);
            NetWork.SendPacket(CTS.CTS_SkillBegin, req, null);
        }
    }
コード例 #5
0
        public async Task <Uri> CreateExportRequest(string skillId, SkillStage stage)
        {
            if (string.IsNullOrWhiteSpace(skillId))
            {
                throw new ArgumentNullException(nameof(skillId));
            }

            var message = await Client.CreateExportRequest(skillId, stage);

            return(await AcceptedLocationOrError(message));
        }
コード例 #6
0
    public void Exit()
    {
        if (!IsBreak())
        {
            DoEvent(this, SkillEventTriggerType.NormalEnd);
        }
        DoEvent(this, SkillEventTriggerType.FinalEnd);

        if (!SkillStage.IsStageTrait(SkillStageTrait.AllowMove, mStageInfo))
        {
            Owner.SetCannotFlag(CannotFlag.CannotControl, OptType.Skill, false);
            Owner.SetCannotFlag(CannotFlag.CannotMove, OptType.Skill, false);
        }
    }
コード例 #7
0
        private SkillSet GetSkillSet(SkillStage stage, string preferredLocale)
        {
            var skill1 = new SkillSummary
            {
                SkillId      = "skill1",
                Stage        = stage,
                NameByLocale = new Dictionary <string, string>
                {
                    { "de-DE", "german" },
                    { "en-GB", "british" }
                }
            };

            return(SkillSet.From(null, new SkillSetOptions(preferredLocale), skill1).First());
        }
コード例 #8
0
ファイル: Skill.cs プロジェクト: midgithub/ProjectC
 public void OnMove()
 {
     if (mCurStage != null)
     {
         if (SkillStage.IsStageTrait(SkillStageTrait.MoveBreak, mCurStage.mStageInfo))
         {
             mCurStage.SetBreak(SkillBreakType.Move, true);
         }
     }
     else
     {
         if (mSkillState == SkillState.TrackEnemy)
         {
             Owner.StopMove();
         }
         mSkillState = SkillState.Break;
     }
 }
コード例 #9
0
    public void Enter()
    {
        mVanish = false;

        mJumpType = SkillJumpType.None;
        mJumpID   = 0;
        mJumpTick = 0;
        mBreak    = 0;

        if (!SkillStage.IsStageTrait(SkillStageTrait.AllowMove, mStageInfo))
        {
            Owner.SetCannotFlag(CannotFlag.CannotControl, OptType.Skill, true);
            Owner.SetCannotFlag(CannotFlag.CannotMove, OptType.Skill, true);
        }

        mTick = 0;
        DoEvent(this, SkillEventTriggerType.StageBegin);
    }
コード例 #10
0
 public MetricsRequest(DateTime startTime,
                       DateTime endTime,
                       MetricPeriod period,
                       string metric,
                       SkillStage stage,
                       SkillType skillType,
                       string intent = null,
                       string locale = null)
 {
     StartTime = startTime;
     EndTime   = endTime;
     Period    = period;
     Metric    = metric;
     Stage     = stage;
     SkillType = skillType;
     Intent    = intent;
     Locale    = locale;
 }
コード例 #11
0
ファイル: Skill.cs プロジェクト: midgithub/ProjectC
    public void SetStage(int stageID)
    {
        SkillStage stage = null;

        if (stageID != 0)
        {
            stage = new SkillStage(this, stageID, mSkillContext);
        }

        SkillStage lastStage = mCurStage;

        mCurStage = stage;
        if (lastStage != null)
        {
            lastStage.Exit();
        }

        if (mCurStage != null)
        {
            mCurStage.Enter();
        }
    }
コード例 #12
0
    public static void DoEvent(SkillStage stage, SkillEventTriggerType triggerType, int param1 = -1, int param2 = -1)
    {
        excel_skill_stage stageInfo = stage.mStageInfo;

        if (stageInfo.events == null)
        {
            return;
        }
        for (int i = 0; i < stageInfo.events.Length; ++i)
        {
            int eventID = stageInfo.events[i];
            excel_skill_event eventInfo = excel_skill_event.Find(eventID);
            if ((int)triggerType != eventInfo.triggerType)
            {
                continue;
            }
            if (!IsEventTrait(SkillEventTrait.Server, eventInfo))
            {
                continue;
            }
            if (param1 != -1 && param1 != eventInfo.triggerParam1)
            {
                continue;
            }
            if (param2 != -1 && param2 != eventInfo.triggerParam2)
            {
                continue;
            }

            SkillEventRegister.SkillEventMethod e = null;
            SkillEventType type = (SkillEventType)eventInfo.eventType;
            if (!SkillEventRegister.events.TryGetValue(type, out e))
            {
                continue;
            }
            e(stage.Owner, null, stage.mSkillContext, eventInfo);
        }
    }
コード例 #13
0
 public Task <SkillValidationResponse> Get(string skillId, SkillStage stage, string validationId)
 {
     return(Client.Get(skillId, stage, validationId));
 }
コード例 #14
0
 public async Task <AccountLinkData> Get(string skillId, SkillStage stage)
 {
     return((await Client.Get(skillId, stage)).Response);
 }
コード例 #15
0
 public Task <SkillValidationResponse> Submit(string skillId, SkillStage stage)
 {
     return(Client.Submit(skillId, stage));
 }
コード例 #16
0
 public Task <Skill> Get(string skillId, SkillStage stage)
 {
     return(Inner.Get(skillId, stage));
 }
コード例 #17
0
 public Task <CreateEvaluationResponse> Create(string skillId, SkillStage stage, string locale, string annotationId)
 {
     return(Create(skillId, new CreateEvaluationRequest(stage, locale, annotationId)));
 }
コード例 #18
0
 public Task Update(string skillId, SkillStage stage, string locale, SkillInteractionContainer interaction)
 {
     return(Client.Update(skillId, stage, locale, interaction));
 }
コード例 #19
0
 public Task <SkillInteractionContainer> Get(string skillId, SkillStage stage, string locale)
 {
     return(Client.Get(skillId, stage, locale));
 }
コード例 #20
0
 public Task <ProductListResponse> GetSkillProducts(string skillId, SkillStage stage)
 {
     return(Client.GetSkillProducts(skillId, stage));
 }
コード例 #21
0
        public async Task <bool> Delete(string productId, SkillStage stage)
        {
            var response = await Client.Delete(productId, stage);

            return(response.StatusCode == HttpStatusCode.NoContent);
        }
コード例 #22
0
 public Task <Product> Update(string productId, SkillStage stage, Product product)
 {
     return(Client.Update(productId, stage, product));
 }
コード例 #23
0
 public Task <ProductSummary> GetSummary(string productId, SkillStage stage)
 {
     return(Client.GetSummary(productId, stage));
 }
コード例 #24
0
 public Task <Product> Get(string productId, SkillStage stage)
 {
     return(Client.Get(productId, stage));
 }
コード例 #25
0
 public Task <UtteranceProfilerResponse> Analyze(string skillId, SkillStage stage, string locale, string utterance, string multiTurnToken = null)
 {
     return(Client.Analyze(skillId, stage, locale, new UtteranceProfilerRequest(utterance, multiTurnToken)));
 }
コード例 #26
0
 public Task <SkillId> Update(string skillId, SkillStage stage, Skill skill)
 {
     return(Inner.Update(skillId, stage, skill));
 }
コード例 #27
0
        public async Task <string> GetTag(string skillId, SkillStage stage, string locale)
        {
            var message = await Client.GetTag(skillId, stage, locale);

            return(message.Headers.ETag.Tag);
        }
コード例 #28
0
 public Task <RelatedSkillResponse> GetProductSkills(string productId, SkillStage stage)
 {
     return(Client.GetProductSkills(productId, stage));
 }
コード例 #29
0
 public Task <ProductListResponse> GetSkillProducts(string skillId, SkillStage stage, int maxResults, string nextToken)
 {
     return(Client.GetSkillProducts(skillId, stage, maxResults, nextToken));
 }
コード例 #30
0
 public Task <RelatedSkillResponse> GetProductSkills(string productId, SkillStage stage, int maxResults, string nextToken)
 {
     return(Client.GetProductSkills(productId, stage, maxResults, nextToken));
 }