Example #1
0
        public void Execute(object parameter)
        {
            var program = (string)parameter;

            try
            {
                ICollection <BaseLogoCommand> commands = LogoController.CreateAndParse(program);
                foreach (BaseLogoCommand logoCommand in commands)
                {
                    logoCommand.Execute();
                }
                FireParseResult(new ParseErrorEventArgs(false));
            }
            catch (Exception ex)
            {
                if (ex is LogoScannerException || ex is LogoSyntaxErrorException)
                {
                    FireParseResult(new ParseErrorEventArgs(true, ex.Message, program));
                }
                else
                {
                    throw;
                }
            }
        }
Example #2
0
 // Use this for initialization
 void Start()
 {
     logoController  = GameObject.FindObjectOfType <LogoController>();
     orderController = GameObject.FindObjectOfType <OrderController>();
     restController  = GameObject.FindObjectOfType <RestController>();
     button.onClick.AddListener(delegate { onClick(id); });
 }
Example #3
0
        public void CanUseLogoRoutine()
        {
            ICollection <BaseLogoCommand> programCommands =
                LogoController.CreateAndParse("TO RECTANGLE REPEAT 4 [ FORWARD 100 LEFT 90 ] END RECTANGLE");
            var routineCallCommand = programCommands.ElementAt(0) as LogoRoutineCallCommand;

            Assert.IsNotNull(routineCallCommand);
        }
Example #4
0
        public void CanCreateRepeatLogoProgram()
        {
            ICollection <BaseLogoCommand> programCommands = LogoController.CreateAndParse("REPEAT 4 [ FORWARD 100 LEFT 90 ]");
            var firstCommand = programCommands.ElementAt(0) as LogoRepeatCommand;

            Assert.IsNotNull(firstCommand);
            Assert.AreEqual(4, firstCommand.Repeat);
            Assert.AreEqual(2, firstCommand.Commands.Count);
        }
    public void CreateDynamicNav()
    {
        LogoController objController = new LogoController();
        LogoEntity     objLogo       = objController.GetLogoData(moduleID, portalID, GetCurrentCulture());
        string         navUrl        = string.Empty;
        string         imagePath     = string.Empty;
        StringBuilder  elem          = new StringBuilder();

        if (objLogo != null)
        {
            {
                if (objLogo.url == "http://" || objLogo.url == "")
                {
                    navUrl = "";
                }
                else
                {
                    navUrl = "href= '" + GetHostURL() + "/" + objLogo.url + "'";
                }
                if (objLogo.LogoPath != "")
                {
                    imagePath = GetApplicationName + "/" + objLogo.LogoPath;
                }
                ContainerClientID = "divNav_" + moduleID;
                elem.Append("<div class='sfLogo' id='");
                elem.Append(ContainerClientID);
                elem.Append("'>");
                elem.Append("<a ");
                elem.Append(navUrl);
                elem.Append(">");
                if (imagePath != string.Empty)
                {
                    elem.Append("<img id='imgLogo' class='sfLogoimg' src='");
                    elem.Append(imagePath);
                    elem.Append("' alt=''/>");
                }
                elem.Append("<span>");
                elem.Append(objLogo.LogoText);
                elem.Append("</span></a>");
                if (objLogo.Slogan.Trim() != string.Empty)
                {
                    elem.Append("<span>");
                    elem.Append(objLogo.Slogan);
                    elem.Append("</span>");
                }
                elem.Append("</div>");
                ltrLogo.Text = elem.ToString();
            }
        }
    }
 public void CreateDynamicNav()
 {
     LogoController objController = new LogoController();
     LogoEntity objLogo = objController.GetLogoData(moduleID, portalID, GetCurrentCulture());
     string navUrl = string.Empty;
     string imagePath = string.Empty;
     StringBuilder elem = new StringBuilder();
     if (objLogo != null)
     {
         {
             if (objLogo.url == "http://" || objLogo.url == "")
             {
                 navUrl = "";
             }
             else
             {
                 navUrl = "href= '"+ GetHostURL() +"/"+ objLogo.url + "'";
             }
             if (objLogo.LogoPath != "")
             {
                 imagePath = GetApplicationName + "/" + objLogo.LogoPath;
             }
             ContainerClientID = "divNav_" + moduleID;
             elem.Append("<div class='sfLogo' id='");
             elem.Append(ContainerClientID);
             elem.Append("'>");
             elem.Append("<a ");
             elem.Append(navUrl);
             elem.Append(">");
             if (imagePath != string.Empty)
             {
                 elem.Append("<img id='imgLogo' class='sfLogoimg' src='");
                 elem.Append(imagePath);
                 elem.Append("' alt=''/>");
             }
             elem.Append("<span>");
             elem.Append(objLogo.LogoText);
             elem.Append("</span></a>");
             if (objLogo.Slogan.Trim() != string.Empty)
             {
                 elem.Append("<span>");
                 elem.Append(objLogo.Slogan);
                 elem.Append("</span>");
             }
             elem.Append("</div>");
             ltrLogo.Text = elem.ToString();
         }
     }
 }
Example #7
0
        public void CanRepeatRepeatLogoProgram()
        {
            ICollection <BaseLogoCommand> programCommands =
                LogoController.CreateAndParse("REPEAT 3 [ FORWARD 1 REPEAT 2 [ FORWARD 1 ] ]");
            var firstRepeat = programCommands.ElementAt(0) as LogoRepeatCommand;

            Assert.IsNotNull(firstRepeat);
            Assert.AreEqual(3, firstRepeat.Repeat);
            var secondCommand = firstRepeat.Commands.ElementAt(0) as LogoMoveCommand;

            Assert.IsNotNull(secondCommand);
            var secondRepeat = firstRepeat.Commands.ElementAt(1) as LogoRepeatCommand;

            Assert.IsNotNull(secondRepeat);
            Assert.AreEqual(2, secondRepeat.Repeat);
        }
Example #8
0
        public void CanCreateLogoRoutine()
        {
            LogoController.CreateAndParse("TO RECTANGLE REPEAT 4 [ FORWARD 100 LEFT 90 ] END");
            SymbolTableEntry routine = LogoController.LookupRoutine("RECTANGLE");

            Assert.IsNotNull(routine);
            Assert.AreEqual("RECTANGLE", routine.Name);
            var routineAttribute = routine.Attributes[0] as SymbolTableRoutineAttribute;

            Assert.IsNotNull(routineAttribute);
            var firstCommand = routineAttribute.Commands[0] as LogoRepeatCommand;

            Assert.IsNotNull(firstCommand);
            Assert.AreEqual(4, firstCommand.Repeat);
            Assert.AreEqual(2, firstCommand.Commands.Count());
        }
Example #9
0
        public void CanCreateTwoSentenceLogoProgram()
        {
            ICollection <BaseLogoCommand> programCommands = LogoController.CreateAndParse("FORWARD 100 LEFT 90");
            var firstCommand = programCommands.ElementAt(0) as LogoMoveCommand;

            Assert.IsNotNull(firstCommand);
            Assert.AreEqual(100, firstCommand.Distance);
            TurtleSituation forwardSituation = firstCommand.CalculateSituation(TurtleSituation.DefaultSituation);

            Assert.AreEqual(TurtleSituation.DefaultSituation.Angle, forwardSituation.Angle);
            var secondCommand = programCommands.ElementAt(1) as LogoTurnCommand;

            Assert.IsNotNull(secondCommand);
            Assert.AreEqual(90, secondCommand.TurnAngle);
            TurtleSituation leftSituation = secondCommand.CalculateSituation(forwardSituation);

            Assert.AreEqual(TurtleSituation.DefaultSituation.Angle + 90, leftSituation.Angle);
        }
Example #10
0
 public void StartPreloading(LogoController _lo)
 {
     _logo       = _lo;
     _loadStatus = 3;
     StartCoroutine(PreloadBundle());
 }
Example #11
0
 public void StartPreloading(LogoController _lo)
 {
     _logo = _lo;
     _loadStatus = 3;
     StartCoroutine(PreloadBundle());
 }