示例#1
0
        private Action MoveCommandAction(List <string> args)
        {
            UInt32  id;
            Vector3 vector;

            if (args.Count < 4)
            {
                _logger.LogError($"Move command requires >= 4 args: EntityId XDelta YDelta ZDelta");
                return(null);
            }
            if (!ValidateId(args[0], out id))
            {
                return(null);
            }
            if (!ParseVector(args.GetRange(1, args.Count - 1), out vector))
            {
                return(null);
            }
            TransformComponentManager manager = _collection.GetManagerByName("transform") as TransformComponentManager;

            if (manager != null)
            {
                return(() => manager.Translate(Convert.ToInt32(args[0]), vector));
            }
            else
            {
                return(null);
            }
        }
示例#2
0
        private static void Main(string[] args)
        {
            var                       factory          = createLoggerFactory();
            EntityManager             entityManager    = new EntityManager(factory);
            TransformComponentManager transformManager = new TransformComponentManager(factory, entityManager);
            Entity                    entity0          = entityManager.Create();
            Entity                    entity1          = entityManager.Create();

            transformManager.RegisterComponent(entity0.Id);
            transformManager.Translate(0, new Vector3(1, 1, 1));
            transformManager.RegisterComponent(entity1.Id, transformManager.EntityToInstanceIndex(entity0.Id));
            transformManager.Translate(0, new Vector3(1, 1, 1));
            Console.ReadKey();
        }