public override bool perform(GameObject agent) { if (startTime == 0) { startTime = Time.time; } if (Time.time - startTime > workDuration) { // finished chopping BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); backpack.numFirewood += 5; backpack.numLogs = 0; backpack.numFood--; chopped = true; ToolComponent tool = backpack.tool.GetComponent(typeof(ToolComponent)) as ToolComponent; tool.use(0.34f); if (tool.destroyed()) { Destroy(backpack.tool); backpack.tool = null; } } return(true); }
public override bool Perform(GameObject agent, BlackBoard bb) { if (startTime == 0) { startTime = Time.time; } if (Time.time - startTime > miningDuration) { targetWolf.WolfNum--; // finished hunt BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); backpack.numMeat += 3; finishHunt = true; if (backpack.tool == null) { ToolComponent tool = backpack.tool.GetComponent(typeof(ToolComponent)) as ToolComponent; tool.use(0.5f); if (tool.destroyed()) { Destroy(backpack.tool); backpack.tool = null; } } } return(true); }
public override bool perform(GameObject agent) { BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); if (backpack.weapon == null) { targetWeapon.ammo = 30; hasPrimary = true; // create the tool and add it to the agent GameObject prefab = Resources.Load <GameObject>(backpack.weaponType); GameObject weapon = Instantiate(prefab, transform.position, transform.rotation) as GameObject; backpack.weapon = weapon; weapon.transform.parent = transform; // attach the tool return(true); } else { // we got there but there was no tool available! Someone got there first. Cannot perform action return(false); } }
public override bool perform(GameObject agent) { if (startTime == 0) { startTime = Time.time; } if (Time.time - startTime > waitTime) { if (backpack == null) { backpack = agent.GetComponent <BackpackComponent>(); } if (targetWeoponSupply.numberOfWeopons > 0) { targetWeoponSupply.numberOfWeopons--; backpack.weopon.weoponType = targetWeoponSupply.weoponType; backpack.weopon.damage = targetWeoponSupply.damage; gotWeopon = true; return(true); } else { Debug.Log(string.Format("no weopons here! Someone got there first! {0}", agent.name)); return(false); // no weopons here! Someone got there first! } } return(true); }
public override bool perform(GameObject agent) { if (targetSupplyPile.numTools > 0) { targetSupplyPile.numTools -= 1; hasTool = true; // create the tool and add it to the agent BackpackComponent backpack = agent.GetComponent <BackpackComponent>(); Debug.Log(backpack); GameObject prefab = Resources.Load <GameObject> (backpack.toolType); Debug.Log(prefab); Debug.Log(agent.transform.position); GameObject tool = Instantiate(prefab, agent.transform.position, agent.transform.rotation); Debug.Log(tool); backpack.tool = tool; tool.transform.parent = agent.transform; // attach the tool return(true); } else { // we got there but there was no tool available! Someone got there first. Cannot perform action return(false); } }
void Start() { if (backpack == null) { backpack = GetComponent <BackpackComponent>(); } navAgent = GetComponent <NavMeshAgent>(); }
protected virtual void Awake() { if (Backpack == null) Backpack = GetComponent<BackpackComponent>(); PathfindingUnit = GetComponent<IUnit>(); _agent = GetComponent<GoapAgent>(); _animManager = GetComponent<AnimationManager>(); }
void Start() { backpack = GetComponent <BackpackComponent>(); if (backpack == null) { backpack = gameObject.AddComponent <BackpackComponent>() as BackpackComponent; } navMeshAgent = GetComponent <NavMeshAgent>(); }
public override bool Perform(GameObject agent) { BackpackComponent backpack = agent.GetComponent <BackpackComponent>(); _targetSupplyPile.numLogs += backpack.numLogs; _droppedOffLogs = true; backpack.numLogs = 0; return(true); }
public override bool perform(GameObject agent, BlackBoard bb) { BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); targetSupplyPile.numFirewood += backpack.numFirewood; droppedOffFirewood = true; backpack.numFirewood = 0; return(true); }
public override bool perform(GameObject agent) { BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); targetSupplyPile.numLogs += backpack.numLogs; droppedOffLogs = true; backpack.numLogs = 0; return(true); }
public override bool perform(GameObject agent) { BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); targetInn.NumFood += backpack.numFood; droppedOffFood = true; backpack.numFood = 0; return(true); }
public override bool checkProceduralPrecondition(GameObject agent) { if (backpack == null) { backpack = agent.GetComponent <BackpackComponent>(); } // find the nearest supply pile that has spare logs WeoponSupplyComponent[] weoponSupplySpply = (WeoponSupplyComponent[]) GameObject.FindObjectsOfType(typeof(WeoponSupplyComponent)); WeoponSupplyComponent closest = null; float closestDist = 0; foreach (WeoponSupplyComponent supply in weoponSupplySpply) { if (backpack.weopon != null && supply.damage < backpack.weopon.damage) { continue; // has better weopon } if (supply.numberOfWeopons > 0) { if (closest == null) { // first one, so choose it for now closest = supply; closestDist = (supply.gameObject.transform.position - agent.transform.position).magnitude; } else { // is this one closer than the last? float dist = (supply.gameObject.transform.position - agent.transform.position).magnitude; if (dist < closestDist) { // we found a closer one, use it closest = supply; closestDist = dist; } } } } if (closest == null) { // no more guns - use melleee backpack.weopon.weoponType = WeoponType.Melee; backpack.weopon.damage = 10; return(false); } targetWeoponSupply = closest; target = targetWeoponSupply.gameObject; targetPosition = target.transform.position; return(true); }
public override bool Preform(GameObject _agent) { Caveman cm = _agent.GetComponent <Caveman>(); cm.energy -= cost; BackpackComponent bp = _agent.GetComponent <BackpackComponent>(); bp.spears++; pickedUp = true; return(true); }
/// <summary> /// 执行 /// </summary> /// <param name="agent"></param> /// <param name="bb"></param> /// <returns></returns> public override bool Perform(GameObject agent, BlackBoard bb) { BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); targetSupplyPile.numMeat += backpack.numMeat; backpack.numMeat = 0; droppedOffMeat = true; // TODO播放效果,更改演员图标 return(true); }
public override bool Perform(GameObject agent, BlackBoard bb) { BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); targetSupplyPile.numOre += backpack.numOre; droppedOffOre = true; backpack.numOre = 0; //TODO play effect, change actor icon return(true); }
void Start () { if (backpack == null) backpack = gameObject.AddComponent ("BackpackComponent" ) as BackpackComponent; if (backpack.tool == null) { GameObject prefab = Resources.Load<GameObject> (backpack.toolType); GameObject tool = Instantiate (prefab, transform.position, transform.rotation) as GameObject; backpack.tool = tool; tool.transform.parent = transform; // attach the tool } }
public override bool Perform(GameObject agent) { BackpackComponent backpack = agent.GetComponent <BackpackComponent>(); _targetSupplyPile.numOre += backpack.numOre; _droppedOffOre = true; backpack.numOre = 0; //TODO play effect, change actor icon return(true); }
void Start() { gameObject.AddComponent <GoapAgent>(); anim = GetComponent <Animator>(); navAgent = GetComponent <NavMeshAgent>(); backpack = GetComponent <BackpackComponent>(); // Don’t update position automatically path = new NavMeshPath(); navAgent.updatePosition = false; opponentMe = GetComponent <OpponentComponent>(); FindOpponents(); }
public override bool perform(GameObject agent) { if (startTime == 0) { startTime = Time.time; } targetEstanteComponent.isUsed = true; //Debug.Log("startTime" + startTime); if (Time.time - startTime > workDuration) { //Debug.Log(Time.time-startTime); // finished filled BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); EstanteComponent estanteComponent = targetEstanteComponent; Debug.LogError("desiredFood " + DesiredFood); if (estanteComponent.alimento == DesiredFood) { int preTakeAmount = 0; Client aux = null; if (agent.GetComponent <Labourer>() is Client) { aux = (Client)agent.GetComponent <Client>(); preTakeAmount = aux.listaDelaCompraDictionary[DesiredFood]; //ESTA CANTIDAD NO ES LA CANTIDAD QUE SE COGE FINALMENTE , SIMPLEMENTE ES LA CANTIDAD QUE DESEA COGER } int canFillAmount = backpack.canFill(DesiredFood, preTakeAmount); //Cantidad de ese alimento que puede meter en su inventario a pesar de que su idea fuera meter mas. Debug.LogError(canFillAmount + " canfill"); //TakedAmount es la cantidad que si ha podido coger en base a la disponibilidad de ese producto en el almacen y teniendo en cuenta que ya se valoro la disponibilidad del propio inventario int takedAmount = estanteComponent.Take(canFillAmount); Debug.LogError(takedAmount + " taked"); int r = backpack.Fill(DesiredFood, takedAmount); Debug.LogError(r + " fill"); //Debug.Log("Creo que estoy embuclado " + canFillAmount + " " + alimentoRandom); //HEMOS COGIDO LA COMIDA , AHORA HAY QUE ACTUALIZAR LA LISTA DE LA COMPRA aux.updateBuyList(DesiredFood, r); targetEstanteComponent.isUsed = false; if (aux.listaDelaCompra.Count == 0) { addEffect("isListComplete", true); } taked = true; } else { return(false); //Se ha fallado al intentar conseguir el alimento del estante que queriamos. } //Debug.Log("He salido de un bucle"); } return(true); }
// Use this for initialization void Start() { if (backpack == null) { backpack = gameObject.AddComponent("BackpackComponent") as BackpackComponent; } if (backpack.tool == null) { GameObject prefab = Resources.Load <GameObject> (backpack.toolType); GameObject tool = Instantiate(prefab, transform.position, transform.rotation) as GameObject; backpack.tool = tool; tool.transform.parent = transform; // attach the tool } }
void Start() { if (backpack == null) { backpack = gameObject.AddComponent <BackpackComponent>() as BackpackComponent; } unit = gameObject.GetComponent <Unit>(); //if (backpack.tool == null) { // GameObject prefab = Resources.Load<GameObject> (backpack.toolType); // GameObject tool = Instantiate (prefab, transform.position, transform.rotation) as GameObject; // backpack.tool = tool; // tool.transform.parent = transform; // attach the tool //} }
void Start() { navMeshAgent = gameObject.GetComponent <NavMeshAgent>(); backpack = gameObject.GetComponent <BackpackComponent>(); horseAnim = gameObject.GetComponentInChildren <Animator>(); if (BreathInput != null) { testData = BreathInput.GetComponent <PEPTestDataInput>(); measurements = BreathInput.GetComponent <PepMeasurementsComponent>(); } else { Debug.LogError("There is no breath input in the scene. This is bad"); } }
void Start() { if (backpack == null) { backpack = gameObject.AddComponent <BackpackComponent>( ) as BackpackComponent; } if (backpack.tool == null) { GameObject tool = Instantiate(toolPrefab, transform.position, transform.rotation) as GameObject; backpack.tool = tool; tool.transform.parent = transform; // attach the tool } seek = GetComponent <SeekBehaviour>(); }
public override bool perform(GameObject agent, BlackBoard bb) { if (startTime == 0) { startTime = Time.time; } if (Time.time - startTime > miningDuration) { // finished mining BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); backpack.numOre += 2; mined = true; } return(true); }
public override bool Perform(GameObject agent, BlackBoard bb) { if (startTime == 0) { startTime = Time.time; } if (Time.time - startTime > forgeDuration) { // finished forging a tool BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); backpack.numOre = 0; forged = true; } return(true); }
public override bool Perform(GameObject agent) { if (_startTime == 0) { _startTime = Time.time; } if ((Time.time - _startTime) > forgeDuration) { // finished forging a tool BackpackComponent backpack = agent.GetComponent <BackpackComponent>(); backpack.numOre = 0; _forged = true; } return(true); }
public override bool perform(GameObject agent) { if (startTime == 0) { startTime = Time.time; } if (Time.time - startTime > workDuration) { // finished chopping BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); backpack.numBerries += 5; chopped = true; } return(true); }
public override bool perform(GameObject agent) { if (targetSupplyPile.NumFirewood > 0) { targetSupplyPile.NumFirewood -= 1; hasFirewood = true; //TODO play effect, change actor icon BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); backpack.numFirewood = 1; return(true); } else { // we got there but there was no logs available! Someone got there first. Cannot perform action return(false); } }
private void CharacterBody_Start(On.RoR2.CharacterBody.orig_Start orig, CharacterBody self) { orig(self); if (NetworkServer.active && self.isPlayerControlled) { var masterObj = self.masterObject; BackpackComponent backpackComponent = masterObj.GetComponent <BackpackComponent>(); if (!backpackComponent) { backpackComponent = masterObj.AddComponent <BackpackComponent>(); } backpackComponent.characterBody = self; backpackComponent.localUser = LocalUserManager.readOnlyLocalUsersList[0]; backpackComponent.inventory = self.inventory; //backpackComponent.UpdateDefault(); } }
public override bool perform(GameObject agent, BlackBoard bb) { if (startTime == 0) { startTime = Time.time; } if (Time.time - startTime > workDuration) { BackpackComponent backpack = (BackpackComponent)agent.GetComponent(typeof(BackpackComponent)); backpack.numMeat -= 1; // finished chopping Brain brain = (Brain)agent.GetComponent(typeof(Brain)); brain.Hunger += 100; finishEat = true; } return(true); }
void Start() { seeker = GetComponent<Seeker>(); controller = GetComponent<CharacterController>(); if (backpack == null) backpack = gameObject.AddComponent <BackpackComponent>( ) as BackpackComponent; if (backpack.tool == null) { GameObject prefab = Resources.Load<GameObject> (backpack.toolType); GameObject tool = Instantiate (prefab, transform.position, transform.rotation) as GameObject; backpack.tool = tool; tool.transform.parent = transform; // attach the tool } }
void Start() { navMeshAgent = gameObject.GetComponent<NavMeshAgent>(); backpack = gameObject.GetComponent<BackpackComponent>(); horseAnim = gameObject.GetComponentInChildren<Animator>(); if(BreathInput != null) { testData = BreathInput.GetComponent<PEPTestDataInput>(); measurements = BreathInput.GetComponent<PepMeasurementsComponent>(); } else { Debug.LogError("There is no breath input in the scene. This is bad"); } }