public bool UpdateOrder() { if (currentTargetAsteroid != null) { if (MoveOrder.move(currentTargetAsteroid.transform.position, aiAttributes.AttachedShip.speed, aiAttributes.AttachedShip.rotationSpeed, 0.2f, 2f, aiAttributes.AttachedRigidBody, gameObject)) { if (Time.time >= miningTimer) { miningTimer = Time.time + aiAttributes.miningTime; // Mine more metal, if mined metal does not fit into cargo, return true if (!aiAttributes.AttachedShip.Cargo.AddMetal(currentTargetAsteroid.MineAsteroid(aiAttributes.miningDamage))) { return(true); } // Check if there is enough metal, return true if so if (aiAttributes.AttachedShip.Cargo.CurrentMetal >= aiAttributes.AttachedShip.Cargo.maxMetal * 0.9f) { return(true); } } } } else { // Return true if current asteroid is destroyed return(true); } return(false); }
public bool UpdateOrder() { if (aiAttributes == null) { aiAttributes = GetComponent <AiAttributes>(); } return(MoveOrder.move(aiAttributes.currentManualTarget, aiAttributes.AttachedShip.speed, aiAttributes.AttachedShip.rotationSpeed, 0.2f, 0.5f, aiAttributes.AttachedRigidBody, gameObject)); }
public bool UpdateOrder() { if (closestEnemy != null) { return(MoveOrder.move(targetPos, aiAttributes.AttachedShip.speed, aiAttributes.AttachedShip.rotationSpeed, 0.2f, 0.5f, aiAttributes.AttachedRigidBody, gameObject)); } else { return(true); } }
public bool UpdateOrder() { if (buyingFrom != null) { if (MoveOrder.move(buyingFrom.transform.position, aiAttributes.AttachedShip.speed, aiAttributes.AttachedShip.rotationSpeed, 0.2f, 1f, aiAttributes.AttachedRigidBody, gameObject)) { buyingFrom.SellToShip(aiAttributes.AttachedShip, aiAttributes.AttachedShip.Cargo.GetCurrentFreeCargo()); return(true); } else { return(false); } } else { return(true); } }
public bool UpdateOrder() { if (sellingTo != null) { if (MoveOrder.move(sellingTo.transform.position, aiAttributes.AttachedShip.speed, aiAttributes.AttachedShip.rotationSpeed, 0.2f, 1f, aiAttributes.AttachedRigidBody, gameObject)) { sellingTo.BuyFromShip(aiAttributes.AttachedShip, aiAttributes.AttachedShip.Cargo.CurrentMetal); return(true); } else { return(false); } } else { return(true); } }
public bool UpdateOrder() { if (currentTarget != null) { if (MoveOrder.move(targetPos, aiAttributes.AttachedShip.speed, aiAttributes.AttachedShip.rotationSpeed, 0.2f, 0.5f, aiAttributes.AttachedRigidBody, gameObject) || Vector2.Distance(transform.position, currentTarget.transform.position) > aiAttributes.AttachedSensors.checkRadius) { return(true); } else { return(false); } } else { return(true); } }
public bool UpdateOrder() { if (patrolTarget != null) { if (MoveOrder.move(patrolTarget.transform.position, aiAttributes.AttachedShip.speed, aiAttributes.AttachedShip.rotationSpeed, 0.2f, 1.8f, aiAttributes.AttachedRigidBody, gameObject)) { waitingTimer -= Time.deltaTime; if (waitingTimer <= 0) { return(true); } } } else { return(true); } return(false); }
public bool UpdateOrder() { if (currentTarget != null) { if (MoveOrder.move(targetPos, aiAttributes.AttachedShip.speed, aiAttributes.AttachedShip.rotationSpeed, 0.2f, 3f, aiAttributes.AttachedRigidBody, gameObject)) { waitingTimer -= Time.deltaTime; if (waitingTimer <= 0) { return(true); } } } else { return(true); } return(false); }
public bool UpdateOrder() { if (attachedFactory.factory != null) { if (MoveOrder.move(attachedFactory.factory.transform.position, aiAttributes.AttachedShip.speed, aiAttributes.AttachedShip.rotationSpeed, 0.2f, 1f, aiAttributes.AttachedRigidBody, gameObject)) { if (aiAttributes.AttachedShip.Cargo.SellMetal(attachedFactoryCargo, aiAttributes.AttachedShip.Cargo.CurrentMetal)) { // Return true if the transaction is succesfull return(true); } } else { // Return false if attached factory is destroyed return(false); } } return(true); }