// Start is called before the first frame update
    void Start()
    {
        instantiateNewFormation(null);

        gridState    = GridState.GetComponent <BuildGridState>();
        playerScript = Player.GetComponent <BuilderController>();
    }
Exemple #2
0
    // Use this for initialization
    void Start()
    {
        BuilderController buildController = GetComponentInParent <BuilderController>();
        //CameraController gimble = FindObjectOfType<CameraController>();

        GameObject well = buildController.BuildStructure(new Vector2Int((int)(GameGlobals.CHUNK_SIZE / 2), (int)(GameGlobals.CHUNK_SIZE / 2)), GameGlobals.WELL_PREFAB_NAME);
    }
Exemple #3
0
    private void Update()
    {
        if (build)
        {
            if (sessionTime > 0)
            {
                sessionTime -= Time.deltaTime;
            }
            else
            {
                build       = false;
                sessionTime = sessionTimeMax;
                amountOfSessions--;

                if (amountOfSessions <= 0)
                {
                    builder.buildingInConstruction = null;
                    builder.CompleteBuilding();
                    CompleteBuilding();
                }

                builder.hc.task.TaskComplete();
                builder = null;
            }
        }
    }
Exemple #4
0
    /// <summary>
    /// Обрабатывает клики по земле
    /// </summary>

    private void OnMouseDown()
    {
        if (!EventSystem.current.IsPointerOverGameObject()) //запрет клика по земле сквозь кнопки GUI
        {
            BuilderController.DeSelectLastBuilder();        //снять выделение со строителя, если клик по земле
        }
    }
Exemple #5
0
    public bool CallConstruct()
    {
        var possiblities = GameController.instance.GetEnemiesByType(EnemyTypes.Mechanic);

        possiblities.Sort(ClosestDistanceSort);
        bool hasFoundOne = false;

        if (possiblities.Count > 0)
        {
            foreach (AllyController ally in possiblities)
            {
                if (ally.GetAvailability)
                {
                    BuilderController b = ally.GetComponent <BuilderController>();

                    if (b != null)
                    {
                        b.SetConstruction(realObject, transform);
                        hasFoundOne = true;
                        break;
                    }
                }
            }
            // if (!hasFoundOne)
            //  possiblities[0].GetComponent<BuilderController>().SetConstruction(realObject, transform.position);
        }
        Destroy(gameObject);
        return(hasFoundOne);
    }
Exemple #6
0
        static void Main(string[] inputArgs)
        {
            if (inputArgs.Length > 0)
            {
                Settings.Initialize(string.Join(" ", inputArgs), Environment.MachineName);
            }
            else
            {
                Settings.Initialize(ConfigurationManager.ConnectionStrings["Builder"].ConnectionString, Environment.MachineName);
            }

            var builderController = new BuilderController();

            try
            {
                var vocabulary = new Vocabulary();
                vocabulary.Initialize();

                Build(builderController);
                Task.WaitAll(tasks.ToArray());
            }
            catch (Exception e)
            {
                Logger.WriteError(e);

                builderController.UpdateState(BuilderState.Error);
            }
        }
Exemple #7
0
        static void Main(string[] inputArgs)
        {
            Console.WriteLine("Process has started, please do not close the window...");
            if (inputArgs.Length > 0)
            {
                var args = string.Join(" ", inputArgs);
                var builderConnectionString = Regex.Match(args, @"(?s)(?<=\<cs\>).*?(?=\<\/cs\>)", RegexOptions.IgnoreCase).Value;
                var s3awsAccessKeyId        = Regex.Match(args, @"(?s)(?<=\<s3keyid\>).*?(?=\<\/s3keyid\>)", RegexOptions.IgnoreCase).Value;
                var s3awsSecretAccessKey    = Regex.Match(args, @"(?s)(?<=\<s3accesskey\>).*?(?=\<\/s3accesskey\>)", RegexOptions.IgnoreCase).Value;
                var ec2awsAccessKeyId       = Regex.Match(args, @"(?s)(?<=\<ec2keyid\>).*?(?=\<\/ec2keyid\>)", RegexOptions.IgnoreCase).Value;
                var ec2awsSecretAccessKey   = Regex.Match(args, @"(?s)(?<=\<ec2accesskey\>).*?(?=\<\/ec2accesskey\>)", RegexOptions.IgnoreCase).Value;
                var bucket = Regex.Match(args, @"(?s)(?<=\<bucket\>).*?(?=\<\/bucket\>)", RegexOptions.IgnoreCase).Value;

                var cdmFolder    = Regex.Match(args, @"(?s)(?<=\<cdmFolder\>).*?(?=\<\/cdmFolder\>)", RegexOptions.IgnoreCase).Value;
                var saveOnlyToS3 = Regex.Match(args, @"(?s)(?<=\<saveOnlyToS3\>).*?(?=\<\/saveOnlyToS3\>)", RegexOptions.IgnoreCase).Value;
                var storageType  = Regex.Match(args, @"(?s)(?<=\<storageType\>).*?(?=\<\/storageType\>)", RegexOptions.IgnoreCase).Value;

                Settings.Initialize(builderConnectionString, Environment.MachineName);
                Settings.Current.S3AwsAccessKeyId      = s3awsAccessKeyId;
                Settings.Current.S3AwsSecretAccessKey  = s3awsSecretAccessKey;
                Settings.Current.Ec2AwsAccessKeyId     = ec2awsAccessKeyId;
                Settings.Current.Ec2AwsSecretAccessKey = ec2awsSecretAccessKey;
                Settings.Current.Bucket = bucket;

                Settings.Current.CDMFolder    = cdmFolder;
                Settings.Current.SaveOnlyToS3 = Parse(saveOnlyToS3);
                if (Enum.TryParse(storageType, out S3StorageType type))
                {
                    Settings.Current.StorageType = type;
                }

                Console.WriteLine($"Bucket ={Settings.Current.Bucket};CDMFolder={Settings.Current.CDMFolder}");
                Console.WriteLine($"SaveOnlyToS3={Settings.Current.SaveOnlyToS3}; StorageType={Settings.Current.StorageType};");
            }
            else
            {
                Settings.Initialize(ConfigurationManager.ConnectionStrings["Builder"].ConnectionString, Environment.MachineName);
            }

            Console.WriteLine("Settings initialized");

            Console.WriteLine($"MachineName={Environment.MachineName}; Vendor={Settings.Current.Building.Vendor}");
            var builderController = new BuilderController();

            try
            {
                Console.WriteLine("Loading vocabulary...");
                var vocabulary = new Vocabulary();
                vocabulary.Fill(false);
                Console.WriteLine("Vocabulary was loaded");
                Build(builderController);
            }
            catch (Exception e)
            {
                Logger.WriteError(e);

                builderController.UpdateState(BuilderState.Error);
            }
        }
Exemple #8
0
        public void GET_NewOvertime_Return_ViewName_AreEqual_NewOvertime_Test()
        {
            BuilderController traget = new BuilderController();

            ViewResult actual = (ViewResult)traget.NewOvertime();

            const string expected = "NewOvertime";

            Assert.AreEqual(expected, actual.ViewName);
        }
Exemple #9
0
        public void ControllerSetup()
        {
            DataMother = new DataMother(session);
            ForTest.InitializeMailer();
            controller           = new BuilderController();
            controller.DbSession = session;
            var context = new StubContext();

            context.StubRequest.StubHttpMethod = "POST";
            controller.ControllerContext       = new ControllerContext(context, new RouteData(), controller);
            controller.ValueProvider           = new FormCollection().ToValueProvider();
        }
Exemple #10
0
 void Awake()
 {
     RoadBuilder     = GameObject.Find("BuilderPlayer(Clone)").GetComponent <RoadBuilder>();
     _bc             = RoadBuilder.GetComponent <BuilderController>();
     DroppedPosition = transform.position;
     Gizmo           = transform.Find("RoadMarkerGizmo").gameObject;
     Gizmo.SetActive(false);
     GizmoBankR = transform.Find("GizmoBankR").gameObject;
     GizmoBankR.SetActive(false);
     GizmoBankL = transform.Find("GizmoBankL").gameObject;
     GizmoBankL.SetActive(false);
 }
    private void Select()
    //выбрать и подсветить рабочего по щелчку мыши
    {
        if (SelectedBuilder == this)
        {
            return;
        }

        DeSelectLastBuilder();

        SelectedBuilder = this;
        Selection.SetActive(true);
        Debug.Log(Name + ": выбран");
    }
    public static void DeSelectLastBuilder()
    //снять выделение с последнего выбранного рабочего
    {
        if (SelectedBuilder == null)
        {
            return;
        }

        string name = SelectedBuilder.Name;

        SelectedBuilder.Selection.SetActive(false);
        SelectedBuilder = null;

        Debug.Log(name + ": выбор отменён");
    }
    // Start is called before the first frame update
    void Start()
    {
        GameState = new GameState(this);

        GameController      = new GameController(this);
        MapController       = new MapController(this);
        BuilderController   = new BuilderController(this);
        EnemyController     = new EnemyController(this);
        UIController        = new UIController(this);
        ParticlesController = new ParticlesController(this, Particles, ParticlesParent);


        Scheduler.SetGameSystem(this);

        GameController.Start();
    }
Exemple #14
0
        static void Main(string[] inputArgs)
        {
            if (inputArgs.Length > 0)
            {
                var args = string.Join(" ", inputArgs);
                var builderConnectionString = Regex.Match(args, @"(?s)(?<=\<cs\>).*?(?=\<\/cs\>)", RegexOptions.IgnoreCase).Value;
                var s3awsAccessKeyId        = Regex.Match(args, @"(?s)(?<=\<s3keyid\>).*?(?=\<\/s3keyid\>)", RegexOptions.IgnoreCase).Value;
                var s3awsSecretAccessKey    = Regex.Match(args, @"(?s)(?<=\<s3accesskey\>).*?(?=\<\/s3accesskey\>)", RegexOptions.IgnoreCase).Value;
                var ec2awsAccessKeyId       = Regex.Match(args, @"(?s)(?<=\<ec2keyid\>).*?(?=\<\/ec2keyid\>)", RegexOptions.IgnoreCase).Value;
                var ec2awsSecretAccessKey   = Regex.Match(args, @"(?s)(?<=\<ec2accesskey\>).*?(?=\<\/ec2accesskey\>)", RegexOptions.IgnoreCase).Value;
                var bucket = Regex.Match(args, @"(?s)(?<=\<bucket\>).*?(?=\<\/bucket\>)", RegexOptions.IgnoreCase).Value;

                Settings.Initialize(builderConnectionString, Environment.MachineName);
                Settings.Current.S3AwsAccessKeyId      = s3awsAccessKeyId;
                Settings.Current.S3AwsSecretAccessKey  = s3awsSecretAccessKey;
                Settings.Current.Ec2AwsAccessKeyId     = ec2awsAccessKeyId;
                Settings.Current.Ec2AwsSecretAccessKey = ec2awsSecretAccessKey;
                Settings.Current.Bucket = bucket;
            }
            else
            {
                Settings.Initialize(ConfigurationManager.ConnectionStrings["Builder"].ConnectionString, Environment.MachineName);
            }

            var builderController = new BuilderController();

            try
            {
                var vocabulary = new Vocabulary();
                vocabulary.Initialize();

                Build(builderController);
            }
            catch (Exception e)
            {
                Logger.WriteError(e);

                builderController.UpdateState(BuilderState.Error);
            }
        }
Exemple #15
0
        public void PSOT_NewOvertime_ViewModel_AreEqual_Expected_Test()
        {
            NewOverTimeViewModel vm = new NewOverTimeViewModel
            {
                Applier       = "Rex",
                ApplyDateTime = DateTime.Now.Date,
                OverTimeHour  = 3,
            };

            BuilderController traget = new BuilderController();

            ViewResult actual = (ViewResult)traget.NewOvertime(vm);

            var expected = new
            {
                Applier       = "Rex",
                ApplyDateTime = DateTime.Now.Date,
                OverTimeHour  = 3,
            }.ToExpectedObject();

            expected.ShouldMatch(actual.Model);
        }
Exemple #16
0
 public void StartSession(BuilderController b)
 {
     builder = b;
     build   = true;
     anim.SetTrigger("StartSession");
 }
Exemple #17
0
        private static void Build(BuilderController builderController)
        {
            var dbChunk = new DbChunk(Settings.Current.Building.BuilderConnectionString);
            int?chunkId = null;

            while (true)
            {
                try
                {
                    builderController.RefreshState();
                    if (builderController.Builder.State == BuilderState.Stopping)
                    {
                        break;
                    }

                    if (builderController.Builder.State == BuilderState.Stopped)
                    {
                        break;
                    }

                    if (builderController.Builder.State == BuilderState.Error)
                    {
                        break;
                    }

                    if (builderController.Builder.State == BuilderState.Unknown || builderController.Builder.State == BuilderState.Idle)
                    {
                        continue;
                    }


                    chunkId = dbChunk.TakeChunk(Settings.Current.Building.Id.Value);
                    if (!chunkId.HasValue)
                    {
                        break;
                    }

                    var builder = new ChunkBuilder(new ChunkData {
                        Id = chunkId.Value
                    }, GetBuilderType(Settings.Current.Building.Vendor));
                    var loaded_chunk = builder.Load();
                    var built_chunk  = loaded_chunk.Build();
                    var task         = built_chunk.Save();
                    tasks.Add(task);
                }
                catch (Exception e)
                {
                    if (chunkId.HasValue)
                    {
                        Logger.WriteError(chunkId, e);
                    }
                    else
                    {
                        Logger.Write(null, Settings.Current.Building.Id.Value, null, LogMessageTypes.Error, Logger.CreateExceptionString(e));
                    }


                    builderController.UpdateState(BuilderState.Error);
                }
            }
        }
Exemple #18
0
        private static void Build(BuilderController builderController)
        {
            var dbChunk = new DbChunk(Settings.Current.Building.BuilderConnectionString);
            int?chunkId = null;

            while (true)
            {
                try
                {
                    builderController.RefreshState();
                    if (builderController.Builder.State == BuilderState.Stopping)
                    {
                        break;
                    }

                    if (builderController.Builder.State == BuilderState.Stopped)
                    {
                        break;
                    }

                    if (builderController.Builder.State == BuilderState.Error)
                    {
                        break;
                    }

                    if (builderController.Builder.State == BuilderState.Unknown ||
                        builderController.Builder.State == BuilderState.Idle)
                    {
                        continue;
                    }

                    chunkId = dbChunk.TakeChunk(Settings.Current.Building.Id.Value, Settings.Current.Builder.Id.Value, GetRandomBoolean());
                    if (!chunkId.HasValue)
                    {
                        break;
                    }

                    Console.WriteLine($"ChunkId={chunkId} in progress...");

                    var attempt    = 0;
                    var processing = false;
                    var chunk      = Settings.Current.Building.SourceEngine.GetChunkBuilder(chunkId.Value, CreatePersonBuilder);
                    while (!processing)
                    {
                        try
                        {
                            attempt++;
                            chunk.Process();
                            processing = true;
                        }
                        catch (Exception ex)
                        {
                            if (attempt <= 3)
                            {
                                Logger.Write(chunkId, LogMessageTypes.Warning, "chunk.Process attempt=" + attempt + ") " + Logger.CreateExceptionString(ex));
                                chunk = Settings.Current.Building.SourceEngine.GetChunkBuilder(chunkId.Value, CreatePersonBuilder);
                            }
                            else
                            {
                                throw;
                            }
                        }
                    }
                    chunkId = null;
                }
                catch (Exception e)
                {
                    if (chunkId.HasValue)
                    {
                        Logger.WriteError(chunkId, e);
                        dbChunk.ChunkFailed(chunkId.Value, Settings.Current.Building.Id.Value);
                    }
                    else
                    {
                        Logger.Write(null, Settings.Current.Building.Id.Value, null, LogMessageTypes.Error,
                                     Logger.CreateExceptionString(e));
                    }


                    builderController.UpdateState(BuilderState.Error);
                }
            }
        }