private void updateBtnList() { // Remove buttons for Workers that no longer exist. for (int i = this.workerButtons.Count - 1; i >= 0; i--) { WorkerListButton btn = this.workerButtons[i]; if (btn.worker == null) // || btn.worker.isDead) { // Worker is either gone or dead { this.workerButtons.RemoveAt(i); GameObject.Destroy(btn.gameObject); } } // Create buttons for Worker's not in the list. foreach (EntityBase e in this.world.entities.list) { if (e is EntityWorker) { EntityWorker worker = (EntityWorker)e; if (!this.workerButtons.Any(btn => btn.worker == worker)) { WorkerListButton newButton = GameObject.Instantiate(this.btnPrefab, this.btnArea).GetComponent <WorkerListButton>(); newButton.setWorker(worker); this.workerButtons.Add(newButton); } } } }
public override void onTaskStop() { base.onTaskStop(); this.navPath = null; this.target = null; this.attackTimer = 0; }
private void Start() { EntityWorker worker = this.GetComponentInParent <EntityWorker>(); int style = worker.info.hairStyle; this.GetComponent <DirectionalSpriteSwapper>().sprites = Main.instance.workerFactory.getHairSpritesFromId(style); }
private void Start() { EntityWorker worker = this.GetComponentInParent <EntityWorker>(); int skinTone = worker.info.skinTone; this.GetComponent <SpriteRenderer>().color = Main.instance.workerFactory.getSkinColorFromTone(skinTone); }
public void setWorker(EntityWorker worker) { this.worker = worker; this.textName.text = worker.info.fullName; if (this.preview != null) { this.preview.setTarget(worker); } }
public void setWorker(EntityWorker worker) { this.worker = worker; WorkerInfo info = this.worker.info; this._headerText.text = info.lastName.ToLower(); this.infoText.text = string.Format(this.infoTextTemplate, this.worker.info.fullName, // Name this.worker.type.typeName, // Job info.pay, // Pay info.personality.displayName); // Personality this.preview.setTarget(this.worker); }
public (bool, int) Commit() { bool res = false; int num = 0; try { using (var con = _conFactory.CreateCon()) { con.Open(); IDbTransaction trans = con.BeginTransaction(); try { if (this.Workers.Count > 0) { while (Workers.Count > 0) { EntityWorker worker = Workers.Dequeue(); con.Execute(worker.SqlBuilder.Invoke(worker.Data), worker.Data, trans); num++; } trans.Commit(); this.Workers.Clear(); } res = true; } catch (Exception ex) { trans.Rollback(); num = 0; } finally { if (con.State != ConnectionState.Closed) { con.Close(); } } } } catch (Exception ex) { } return(res, num); }
public EntityWorker spawnWorker(World world, Position pos, WorkerInfo info, WorkerType type) { EntityBase e = world.entities.spawn( pos, this._workerEntityId); if (e is EntityWorker) { EntityWorker worker = (EntityWorker)e; worker.info = info; worker.setType(type); return(worker); } else { return(null); } }
private void updateTopText() { // Update Text int workerCount = 0; int totalCost = 0; foreach (EntityBase e in this.world.entities.list) { if (e is EntityWorker) { EntityWorker worker = (EntityWorker)e; if (!worker.isDead) { workerCount++; totalCost += worker.info.pay; } } } this.textWorkerCount.text = "Workers: " + workerCount; this.textWorkerCost.text = "Cost Per Day: $" + totalCost; }
private void Update() { if (!Pause.isPaused()) { if (this._world.time.time > this.lastPayTime + _payRate) { // Pay Workers. if (!CameraController.instance.inCreativeMode) { IntVariable money = this._world.money; foreach (EntityBase e in this._world.entities.list) { if (e is EntityWorker) { EntityWorker worker = (EntityWorker)e; if (!worker.isDead) { if (money.value < worker.info.pay) { money.value = 0; // Play unhappy effect. worker.emote.startEmote(new Emote("angry", 2f).setTooltip("Didn't get paid")); } else { money.value -= worker.info.pay; } } } } } this.lastPayTime = this._world.time.time; } } }
public override bool shouldExecute() { foreach (EntityBase e in this.owner.world.entities.list) { if (e is EntityWorker) { if (e.depth == this.owner.depth && Vector2.Distance(e.worldPos, this.owner.worldPos) < this._workerSpotRange) { NavPath p = this.agent.calculatePath(e.position); if (p != null) { this.navPath = p; this.agent.setPath(p); this.target = (EntityWorker)e; return(true); } } } } return(false); }
/// <summary> /// Initialized a new World. /// </summary> public void initialize(string saveName, NewWorldSettings settings) { this.saveName = saveName; this.seed = settings.getSeed(); this.preInitialization(); // Create land plots this.plotManager.initializeFirstTime(this.seed); // Generate the map. for (int depth = 0; depth < this.storage.layerCount; depth++) { this.mapGenerator.generateLayer(this, depth); } // Unlock the plot that contains the Dumptruck and set the // Worker spawn point. List <CellBehaviorMasterDepositPoint> masters = this.getAllBehaviors <CellBehaviorMasterDepositPoint>(); if (masters.Count > 0) { CellBehaviorMasterDepositPoint m = masters[0]; this.plotManager.getPlot(m.pos.x, m.pos.y).isOwned = true; this.storage.workerSpawnPoint = m.pos.add(-1, -1); } else { Debug.LogWarning("No MasterDepositPoint could be found when generating a new map, there must always be at least one!"); } // Set starting money. this.money.value = this.mapGenerator.startingMoney; // Setup the new Player. CameraController.instance.initNewPlayer(settings); // Spawn the starting Workers. WorkerFactory factory = Main.instance.workerFactory; foreach (WorkerType workerType in this.mapGenerator.startingWorkers) { if (workerType != null) { int xShift = UnityEngine.Random.Range(-1, 2); int yShift = UnityEngine.Random.Range(0, 2); EntityWorker worker = factory.spawnWorker( this, this.storage.workerSpawnPoint.add(xShift, -yShift), factory.generateWorkerInfo(workerType, Main.instance.personalityRegistry.getDefaultPersonality()), workerType); } } this.postInitialization(); CameraController.instance.changeLayer(this.mapGenerator.playerStartLayer); }
public void setOccupant(EntityWorker worker) { this.occupant = worker; }
public EntityManager(string connectionString, bool isCodeFirst) { this.connectionString = connectionString; this.isCodeFirst = isCodeFirst; this.entityWorker = new EntityWorker(connectionString, isCodeFirst); }
public void setTarget(EntityWorker worker) { this.setTarget(worker.info, worker.type); }
public WaitForPathToFinish(EntityWorker worker) { this.worker = worker; this.path = this.worker.moveHelper.path; }