예제 #1
0
    public void AddPhase(WHO who, string _s)
    {
        if (nowY < maxY)
        {
            var gb = phases[0];
            phases.RemoveAt(0);
            Destroy(gb);

            foreach (var phase in phases)
            {
                var rt = phase.GetComponent <RectTransform>();
                rt.anchoredPosition = new Vector2(rt.anchoredPosition.x, rt.anchoredPosition.y + step);
            }
            nowY += step;
        }

        var p = Instantiate(
            ((who == WHO.ME)?phaseR:phaseL),
            Vector2.zero,
            Quaternion.identity,
            phaseContainer.transform
            );

        p.GetComponent <RectTransform>().anchoredPosition = new Vector2(((who == WHO.ME) ? posRx : posLx), nowY);
        nowY -= step;

        p.GetComponent <WordSetter>().SetText(_s);
        phases.Add(p);
    }
예제 #2
0
        public override void SendCommand(WHO chi, string cosa, string dove)
        {
            if (socketType == OpenSocketType.Monitor)
            {
                throw new NotSupportedException("Non e' possibile inviare comandi in una sessione Monitor");
            }

            status = Status.CommandProcessing;

            if (chi == WHO.OutsideInterface)
            {
                SendData(string.Format(CMD_EXT_IFACE, chiValues[chi.ToString()], cosa));
            }
            else
            {
                if (dove == string.Empty)
                {
                    SendData(string.Format(CMD_BUS_NO_WHERE, chiValues[chi.ToString()], cosa));
                }
                else
                {
                    SendData(string.Format(CMD_BUS, chiValues[chi.ToString()], cosa, dove));
                }
            }
        }
예제 #3
0
 public Message()
 {
     who        = WHO.None;
     what       = WHAT.None;
     type       = MessageType.None;
     where      = string.Empty;
     parameters = null;
 }
예제 #4
0
        public void SendDimensionCommand(WHO chi, string dove, string grandezza, params string[] valori)
        {
            StringBuilder sb = new StringBuilder();

            foreach (var item in valori)
            {
                sb.AppendFormat("{0}*", item);
            }
            sb.Remove(sb.Length - 1, 1);
            SendData(string.Format(CMD_SET_DIMENSION, chi, grandezza, sb.ToString()));
        }
예제 #5
0
 public void GetDimensionCommand(WHO chi, string dove, string grandezza)
 {
     if (string.IsNullOrEmpty(dove))
     {
         SendData(string.Format(GET_DIMENSION, chi, string.Empty, grandezza));
     }
     else
     {
         SendData(string.Format(GET_DIMENSION, chi, dove, grandezza));
     }
 }
예제 #6
0
 public override void SendCommand(WHO chi, string cosa, string dove)
 {
     if (dove == string.Empty)
     {
         SendData(string.Format(CMD_BUS_NO_WHERE, chiValues[chi.ToString()], cosa));
     }
     else
     {
         SendData(string.Format(CMD_BUS, chiValues[chi.ToString()], cosa, dove));
     }
 }
예제 #7
0
 public override void GetStateCommand(WHO chi, string dove)
 {
     if (string.IsNullOrEmpty(dove))
     {
         SendData(string.Format(GET_STATE_NO_WHERE, chiValues[chi.ToString()]));
     }
     else
     {
         SendData(string.Format(GET_STATE, chiValues[chi.ToString()], dove));
     }
 }
예제 #8
0
        private static WHAT GetWhat(string what, WHO who, out string[] parameters)
        {
            WHAT retWhat;

            retWhat    = WHAT.None;
            parameters = null;

            switch (who)
            {
            case WHO.Lighting:
                retWhat = GetLightingWhat(what, out parameters);
                break;

            case WHO.Automation:
                retWhat = GetAutomationWhat(what, out parameters);
                break;

            case WHO.Scenarios:
                retWhat = GetScenariosWhat(what, out parameters);
                break;

            case WHO.PowerManagement:
                retWhat = GetPowerManagementWhat(what, out parameters);
                break;

            case WHO.Heating:
                retWhat = GetHeatingWhat(what, out parameters);
                break;

            case WHO.Alarm:
                retWhat = GetAlarmWhat(what, out parameters);
                break;

            case WHO.SoundSystem:
                retWhat = GetSoundSystemWhat(what, out parameters);
                break;

            case WHO.OutsideInterface:
                retWhat = GetOutsideInterfaceWhat(what, out parameters);
                break;
            }

            return(retWhat);
        }
예제 #9
0
        private static BaseMessage GetMessageFromWHO(WHO who, string data)
        {
            BaseMessage message = null;

            switch (who)
            {
            case WHO.Alarm:
                message = Alarm.GetMessage(data);
                break;

            case WHO.Automation:
                message = Automation.GetMessage(data);
                break;

            case WHO.Lighting:
                message = Lighting.GetMessage(data);
                break;

            case WHO.Multimedia:
                message = Multimedia.GetMessage(data);
                break;

            case WHO.OutsideInterface:
                message = ExternalInterfaceDevice.GetMessage(data);
                break;

            case WHO.PowerManagement:
                message = PowerManagement.GetMessage(data);
                break;

            case WHO.Scenarios:
                message = Scenarios.GetMessage(data);
                break;
            }

            return(message);
        }
예제 #10
0
 public abstract void SendCommand(WHO chi, string cosa, string dove);
예제 #11
0
 public abstract void GetStateCommand(WHO chi, string dove);
예제 #12
0
 public WHOHandler(ISession session, ChatCommandBase cmd) : base(session, cmd)
 {
     _cmd = (WHO)cmd;
 }