Example #1
0
        // *** ADD TO THIS TEMPLATE AS WE GET NEW COMPONENTS ***
        public static Entity GetNewPlayerEntityTemplate(string username)
        {
            Entity newPlayer = new Entity();

            newPlayer.AddComponent(new Position(GameConstants.DefaultStartPosition));
            newPlayer.AddComponent(new Username(username));
            newPlayer.AddComponent(new PreviousPosition(GameConstants.DefaultStartPosition));
            newPlayer.AddComponent(new InputSequence());

            newPlayer.AddAction(new ChangeDeltaPosition());
            newPlayer.AddAction(new ChangeAbsPosition());
            newPlayer.AddAction(new ChangeInputSequence());
            newPlayer.AddAction(new ChangeAbsPreviousPosition());
            newPlayer.AddAction(new ChangeCurrentSmoothing());

            return(newPlayer);
        }
Example #2
0
        private static void AddActions(Table table, Filter filter, Entity entity, UriString apiBase)
        {
            var tableInfo  = table._Get <TableInfo>("TableInfo");
            var filterInfo = table._Get <FilterInfo>("FilterInfo");

            var id   = table._Get(tableInfo.PkName);
            var href = MakeDomainRoute(apiBase, table, id);

            entity.AddAction("new", action =>
            {
                action.AddTitle("Criar");
                action.AddRel(Rel.SecondaryLink);
                action.AddHref(href);
                action.AddMethod(Method.Post);
            });

            entity.AddAction("edit", action =>
            {
                action.AddTitle("Editar");
                action.AddHref(href);
                action.AddRel(Rel.PrimaryLink);
                action.AddMethod(Method.Put);
            });

            entity.AddAction("delete", action =>
            {
                action.AddTitle("Remover");
                action.AddHref(href);
                action.AddMethod(Method.Delete);

                action.AddField("question", field =>
                {
                    field.AddDataType(DataType.Label);
                    field.AddTitle("Confirmação de Remoção");
                    field.AddValue("O registro será removido definitivamente.\nTem certeza que deseja continuar?");
                    field.AddMultiline(true);
                });
            });
        }
        public User LoginSMUSer(String user, String password)
        {
            User loggedUser = new User();

            try
            {
                RichDocument document = new RichDocument();

                document.SetResponseType(ResponseType.Data);

                document.AddUserLogin(user, password);
                document.EncryptAuthentication = false;
                //document.AddHeader("USER", "SYSTEM");
                //document.AddHeader("PASSWORD", "");

                Entity entity = document.AddEntity("USER");
                Thermo.SM.LIMSML.Helper.Low.Action action = entity.AddAction("LOGIN");

                Limsml response = callService(document.Xml);

                if (response != null)
                {
                    if (response.NumberOfErrors() > 0)
                    {
                        for (int i = 0; i < response.Errors.Count; i++)
                        {
                            log.Error(response.GetError(i).ToString());
                        }
                        //throw new ReportGeneratorException();
                    }
                    else
                    {
                        //success
                        if (response.GetData("").Tables.Count == 0)
                        {
                            throw new Exception("Unexpected return");
                        }

                        loggedUser.Login    = user;
                        loggedUser.Password = password;
                    }
                }
            }
            catch (Exception e)
            {
                log.Error("Erro ao processar o Web Service", e);
            }
            return(loggedUser);
        }
Example #4
0
        public static Entity GetNewMobEntityTemplate(int ID)
        {
            Entity newMob = new Entity();

            newMob.AddComponent(new Position(GameConstants.DefaultStartPosition));
            newMob.AddComponent(new PreviousPosition(GameConstants.DefaultStartPosition));

            if (ID == -1)
            {
                newMob.AddComponent(new MobID(UMID));
            }
            else
            {
                newMob.AddComponent(new MobID(ID));
            }

            newMob.AddAction(new ChangeDeltaPosition());
            newMob.AddAction(new ChangeAbsPosition());
            newMob.AddAction(new ChangeInputSequence());
            newMob.AddAction(new ChangeAbsPreviousPosition());
            newMob.AddAction(new ChangeCurrentSmoothing());

            return(newMob);
        }
Example #5
0
        private static void AddFilter(Table table, Filter filter, Entity entity, UriString apiBase)
        {
            var tableInfo  = table._Get <TableInfo>("TableInfo");
            var filterInfo = table._Get <FilterInfo>("FilterInfo");

            var id = table._Get(tableInfo.PkName);

            entity.AddAction("filter", action =>
            {
                var href = apiBase;

                foreach (var fieldName in filterInfo.FieldNames)
                {
                    var property      = filterInfo.FilterType._GetPropertyInfo(fieldName);
                    var propertyValue = filter?._Get(fieldName);

                    var fkAttr =
                        filterInfo.FilterType._GetAttribute <FkAttribute>(fieldName)
                        ?? table._GetAttribute <FkAttribute>(fieldName);
                    var titleAttr =
                        filterInfo.FilterType._GetAttribute <TitleAttribute>(fieldName)
                        ?? table._GetAttribute <TitleAttribute>(fieldName);

                    var name  = Conventions.MakeName(property);
                    var type  = Conventions.MakeDataType(property);
                    var title = titleAttr?.Title ?? Conventions.MakeTitle(property);

                    action.AddField(name, field =>
                    {
                        field.AddTitle(title);
                        field.AddDataType(type);
                        field.AddValue(propertyValue);
                    });

                    if (propertyValue != null)
                    {
                        var argName = name.ChangeCase(TextCase.CamelCase);
                        href        = href.SetArg(argName, propertyValue);
                    }
                }

                action.AddHref(MakeDomainRoute(href, table, id));
                action.AddMethod(Method.Get);
                action.AddTitle("Filtro");
            });
        }
    void stateBehaviour()
    {
        switch (currentState)
        {
        case state.searching_for_water:
            GameObject water = FirstWithTagInSenseRange("Water");
            if (water != null)
            {
                MoveTowards(water);
                DrinkWater(water);
                currentState = state.drinking;
            }
            else
            {
                if (!entity.HasActionsQueued())
                {
                    WanderAround();
                }
            }
            break;

        case state.searching_for_food:
            GameObject food = FirstWithTagInSenseRange("Food");
            if (food != null)
            {
                MoveTowards(food);
                EatFood(food);
                currentState = state.feeding;
            }
            else
            {
                if (!entity.HasActionsQueued())
                {
                    WanderAround();
                }
            }
            break;

        case state.going_to_sleep:
            entity.AddAction(new ActionGetAsleep(this));
            entity.AddAction(new ActionSleep(this));
            currentState = state.sleeping;
            break;

        default:
            break;
        }
    }
Example #7
0
        public override IEnumerator Action()
        {
            Entity.AddAction(new AnimateAction("run"), true);

            var moveComponent = Entity.GetComponent <Move>();

            _speed = moveComponent.Speed;

            var transform    = Entity.transform;
            var stepPosition = transform.position + _direction;

            var entity = Entity.ActionManager.Entities.FirstOrDefault(x => x.transform.position == stepPosition);

            if (entity != null)
            {
                var moveEntity = entity.GetComponent <Move>();
                if (moveEntity)
                {
                    _speed = Mathf.Min(moveEntity.Speed, _speed);
                    entity.AddAction(new MoveAction(_direction), true);
                }
                else
                {
                    yield break;
                }
            }

            while (!stepPosition.Equals(transform.position))
            {
                transform.position = Vector3.MoveTowards(transform.position, stepPosition, Time.deltaTime * _speed);
                yield return(null);
            }

            Entity.transform.position = stepPosition;

            Entity.AddAction(new AnimateAction("idle"), true);

            Reset();
        }
Example #8
0
        internal static void Render(IPaper paper, Entity entity, PaperContext ctx)
        {
            if (!paper._Has("Filter"))
            {
                return;
            }

            var filter = paper._Get <IFilter>("Filter");

            if (filter == null)
            {
                return;
            }

            var action = EntityActionConverter.ConvertToEntityAction(filter, ctx);

            action.Name   = "__filter";
            action.Title  = "Filtro";
            action.Method = MethodNames.Get;
            action.Href   = ".";
            entity.AddAction(action);
        }
        //private readonly String smURL = Properties.Settings.Default.samplemanager_url;

        public List <Report> ListAllReports(String user, String password)
        {
            List <Report> reportsList = new List <Report>();

            try
            {
                RichDocument document = new RichDocument();
                document.SetResponseType(ResponseType.Data);

                document.AddUserLogin(user, password);
                document.EncryptAuthentication = false;
                //document.AddHeader("USER", "SYSTEM");
                //document.AddHeader("PASSWORD", "");

                Entity entity = document.AddEntity("INFOMAKER_LINK");
                Thermo.SM.LIMSML.Helper.Low.Action action = entity.AddAction("BROWSE");

                action.AddParameter("CRITERIA", "INFOMAKER_LINKS");
                action.AddParameter("FIELD", "IDENTITY");
                //action.AddParameter("ALL_VERSIONS", "FALSE");

                Limsml response = callService(document.Xml);

                if (response != null)
                {
                    if (response.NumberOfErrors() > 0)
                    {
                        for (int i = 0; i < response.Errors.Count; i++)
                        {
                            log.Error(response.GetError(i).ToString());
                        }
                        //throw new ReportGeneratorException();
                    }
                    else
                    {
                        //success
                        if (response.GetData("").Tables.Count == 0)
                        {
                            throw new Exception("Unexpected return");
                        }

                        int rows = response.GetData("").Tables[0].Rows.Count;

                        for (int i = 0; i < rows; i++)
                        {
                            //ReportParameter parameter = new ReportParameter();
                            Report rep = new Report();
                            rep.Id          = response.GetData("").Tables[0].Rows[i][0].ToString();
                            rep.Name        = response.GetData("").Tables[0].Rows[i][6].ToString();
                            rep.Description = response.GetData("").Tables[0].Rows[i][7].ToString();
                            rep.Library     = response.GetData("").Tables[0].Rows[i][8].ToString();
                            rep.IM_Report   = response.GetData("").Tables[0].Rows[i][9].ToString();
                            reportsList.Add(rep);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                log.Error("Erro ao processar o Web Service", e);
            }


            return(reportsList);
        }
Example #10
0
        private void RenderForm(Caller caller, PaperContext context, Entity entity, object[] args, object graph = null)
        {
            var href = new UriString(context.Path.Substring(1)).Append($"-{caller.Method.Name}");

            var action = new EntityAction();

            action.Name   = caller.Method.Name;
            action.Title  = caller.Method.Name.ChangeCase(TextCase.ProperCase);
            action.Href   = href;
            action.Method = MethodNames.Post;

            var parameters = caller.Method.GetParameters();

            for (var i = 0; i < parameters.Length; i++)
            {
                var parameter      = parameters[i];
                var parameterValue = caller.Args[i];

                var name = Conventions.MakeName(parameter.Name);

                var isValue = IsValue(parameter.ParameterType);
                var isArray = !isValue && typeof(IEnumerable).IsAssignableFrom(parameter.ParameterType);
                var isForm  = !isValue && !isArray && typeof(IForm).IsAssignableFrom(parameter.ParameterType);

                if (isValue)
                {
                    action.AddField($"Form.{name}", opt =>
                    {
                        opt.SetDefaults(parameter);
                        opt.SetHidden(true);
                        if (parameterValue != null)
                        {
                            opt.SetValue(parameterValue);
                        }
                    });
                }
                else if (isForm)
                {
                    var properties = parameter.ParameterType.GetProperties(BindingFlags.Public | BindingFlags.Instance);
                    foreach (var property in properties)
                    {
                        var fieldName  = Conventions.MakeName(property.Name);
                        var fieldValue = (parameterValue != null) ? property.GetValue(parameterValue) : null;
                        action.AddField($"Form.{name}.{fieldName}", opt =>
                        {
                            opt.SetDefaults(property);
                            if (fieldValue != null)
                            {
                                opt.SetValue(fieldValue);
                            }
                        });
                    }
                }
                else if (isArray)
                {
                    var elementType = TypeOf.CollectionElement(parameter.ParameterType);
                    var properties  = elementType.GetProperties(BindingFlags.Public | BindingFlags.Instance);
                    var keys        = (
                        from property in properties
                        select Conventions.MakeName(property.Name)
                        ).ToArray();

                    action.AddField("Records", opt => opt

                                    // XXX: FIXME: Esta propriedade agora deve pertencer a uma entidade.
                                    //.SetTitle("Registros Afetados")

                                    .SetPlaceholder("Selecione os registros afetados")
                                    .SetType(FieldTypeNames.SelectRecord)
                                    .SetDataType(DataTypeNames.Record)
                                    .SetMultiline(true)
                                    .SetProvider(provider => provider
                                                 .AddRel(RelNames.Self)
                                                 .SetKeys(keys)
                                                 )
                                    .SetAllowMany()
                                    .SetRequired()
                                    );
                }
                else
                {
                    foreach (var propertyName in parameterValue._GetPropertyNames())
                    {
                        var property   = parameterValue._GetPropertyInfo(propertyName);
                        var fieldName  = Conventions.MakeName(propertyName);
                        var fieldValue = parameterValue._Get(propertyName);
                        action.AddField($"Record.{fieldName}", opt =>
                        {
                            opt.SetDefaults(property);
                            opt.SetHidden(true);
                            if (fieldValue != null)
                            {
                                opt.SetValue(fieldValue);
                            }
                        });
                    }
                }
            }

            entity.AddAction(action);
        }
Example #11
0
 public MainGameScreen()
 {
     player = new Entity();
     player.AddComponent(new Movement(20, 0, new Vector2(10, 10)));
     player.AddAction(new Move());
 }