private void OnAuto(int action)
        {
            int playerIndex = m_gameState.LocalToPlayerIndex(m_localPlayerIndex);

            SerializedNamedTaskLaunchInfo[] templatesInfo = m_gameState.GetTaskTemplateData(playerIndex);
            for (int i = 0; i < templatesInfo.Length; ++i)
            {
                SerializedNamedTaskLaunchInfo templateInfo = templatesInfo[i];
                int index = templateInfo.Index;
                if (index == action)
                {
                    SubmitTaskToClientTaskEngine(templateInfo.Type);
                    break;
                }
            }
        }
        public void SaveTaskTemplate(Guid clientId, Guid playerId, SerializedTask taskTemplate, SerializedNamedTaskLaunchInfo TaskTemplateData, ServerEventHandler callback)
        {
            Error error = new Error(StatusCode.OK);

            if (!m_initialized)
            {
                error.Code    = StatusCode.NotAllowed;
                error.Message = "Match was not initialized";
            }
            else
            {
                SerializedTask[] templates;
                if (!m_tasks.TryGetValue(playerId, out templates))
                {
                    templates = new SerializedTask[1];
                }
                else
                {
                    Array.Resize(ref templates, templates.Length + 1);
                }

                SerializedNamedTaskLaunchInfo[] templateInfos;
                if (!m_serializedTaskTemplates.TryGetValue(playerId, out templateInfos))
                {
                    templateInfos = new SerializedNamedTaskLaunchInfo[1];
                }
                else
                {
                    Array.Resize(ref templateInfos, templateInfos.Length + 1);
                }

                templates[templates.Length - 1]         = taskTemplate;
                templateInfos[templateInfos.Length - 1] = TaskTemplateData;
            }

            if (m_lag == 0)
            {
                callback(error);
            }
            else
            {
                m_job.Submit(() => { Thread.Sleep(m_lag); return(null); }, result =>
                {
                    callback(error);
                });
            }
        }
        public void SaveTaskTemplate(Guid clientId, Guid playerId, SerializedTask taskTemplate, SerializedNamedTaskLaunchInfo TaskTemplateData, ServerEventHandler callback)
        {
            RemoteCall rpc = new RemoteCall(
                RemoteCall.Proc.SaveTaskTemplate,
                clientId,
                RemoteArg.Create(playerId),
                RemoteArg.Create(taskTemplate),
                RemoteArg.Create(TaskTemplateData));

            Call(rpc, (error, result) => callback(error));
        }
示例#4
0
 public void SaveTaskTemplate(Guid clientId, Guid playerId, SerializedTask taskTemplate, SerializedNamedTaskLaunchInfo templateInfo, ServerEventHandler callback)
 {
     throw new NotImplementedException();
 }