Ejemplo n.º 1
0
        /* --- Instance Methods (Auxiliary) --- */
        private void OnMsgOptions(Message msg)
        {
            var             options = (MsgOptions)msg;
            MsgChooseOption response;

            if (options.Options.Count == 1)
            {
                response = new MsgChooseOption(0, 0, 0, -1);
            }
            else
            {
                var r = new Random();
                int i = 1 + (r.Next() % (options.Options.Count - 1));
                var o = options.Options[i];

                response          = new MsgChooseOption();
                response.Main     = i;
                response.Position = 0;
                response.Target   = o.Main.Targets == null ? 0 : o.Main.Targets[r.Next() % o.Main.Targets.Count];
                response.Sub      = -1;
                if (o.Subs != null && o.Subs.Count > 0)
                {
                    response.Sub = r.Next() % o.Subs.Count;
                    if (o.Subs[response.Sub].Targets != null && o.Subs[response.Sub].Targets.Count > 0)
                    {
                        response.Target = o.Subs[response.Sub].Targets[r.Next() % o.Subs[response.Sub].Targets.Count];
                    }
                }
            }

            HSMPServer.Get().Send(response);
        }
Ejemplo n.º 2
0
        private void SendOption(MsgChooseOption o)
        {
            var gs = GameState.Get();

            gs.SetSelectedOption(o.Main);
            gs.SetSelectedOptionPosition(o.Position);
            gs.SetSelectedOptionTarget(o.Target);
            gs.SetSelectedSubOption(o.Sub);
            gs.SendOption();
        }
Ejemplo n.º 3
0
 private void SetNextOption(MsgChooseOption o)
 {
     m_nextChooseOption = o;
 }