void CallPet() { if (!foodEnabled && !ballInGround) { petCalled = true; targetMove = new Vector3(Camera.main.transform.position.x, 0.0f, Camera.main.transform.position.z); var mapScript = mapController.GetComponent <MapController>(); int tileX = mapScript.tileX; int tileY = mapScript.tileY; bool readyToSend = mapScript.okToSentPetPos; if (readyToSend) { timeStartMove = DateTime.Now.Ticks.ToString(); UpdatePetPos petPos = new UpdatePetPos(); petPos.type = "listplayer"; petPos.username = PlayerPrefs.GetString("username"); petPos.timeStartMove = timeStartMove; petPos.petLastPosX = transform.position.x; petPos.petLastPosY = transform.position.z; petPos.petPosX = targetMove.x; petPos.petPosY = targetMove.z; petPos.tileX = tileX; petPos.tileY = tileY; petPos.petState = "call"; petPos.speed = speed; string requestJson = JsonUtility.ToJson(petPos); AmqpClient.Publish(AmqpController.amqpControl.requestExchangeName, AmqpController.amqpControl.requestRoutingKey, requestJson); } } }
void SimulateProjectile() { if (ball.transform.position.y <= 0.0f && !ballInGround) { ball.GetComponent <Rigidbody>().isKinematic = true; ball.transform.position = new Vector3(ball.transform.position.x, 0.0f, ball.transform.position.z); ballInGround = true; petCalled = false; var mapScript = mapController.GetComponent <MapController>(); int tileX = mapScript.tileX; int tileY = mapScript.tileY; bool readyToSend = mapScript.okToSentPetPos; if (readyToSend) { // ball UpdateBallState updateBall = new UpdateBallState(); updateBall.type = "updateBall"; updateBall.username = PlayerPrefs.GetString("username"); updateBall.tileX = tileX; updateBall.tileY = tileY; updateBall.ballPosX = ball.transform.position.x; updateBall.ballPosY = 0.0f; updateBall.ballPosZ = ball.transform.position.z; updateBall.ballState = "inground"; string requestJson = JsonUtility.ToJson(updateBall); AmqpClient.Publish(AmqpController.amqpControl.requestExchangeName, AmqpController.amqpControl.requestRoutingKey, requestJson); // movement timeStartMove = DateTime.Now.Ticks.ToString(); UpdatePetPos petPos = new UpdatePetPos(); petPos.type = "listplayer"; petPos.username = PlayerPrefs.GetString("username"); petPos.timeStartMove = timeStartMove; petPos.petLastPosX = transform.position.x; petPos.petLastPosY = transform.position.z; petPos.petPosX = ball.transform.position.x; petPos.petPosY = ball.transform.position.z; petPos.tileX = tileX; petPos.tileY = tileY; petPos.petState = "walktoball"; petPos.speed = speed; string requestJson2 = JsonUtility.ToJson(petPos); AmqpClient.Publish(AmqpController.amqpControl.requestExchangeName, AmqpController.amqpControl.requestRoutingKey, requestJson2); } } }
void GiveFood() { if (!foodEnabled && !ballInGround) { GameObject mainCam = GameObject.FindGameObjectWithTag("MainCamera"); GameObject food = GameObject.CreatePrimitive(PrimitiveType.Cube); food.tag = "Food"; food.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); food.transform.position = new Vector3(mainCam.transform.parent.position.x, 0, mainCam.transform.parent.position.z); Rigidbody foodRigibody = food.AddComponent <Rigidbody>(); foodRigibody.mass = 1; foodRigibody.isKinematic = true; foodEnabled = true; // update position in server var mapScript = mapController.GetComponent <MapController>(); int tileX = mapScript.tileX; int tileY = mapScript.tileY; bool readyToSend = mapScript.okToSentPetPos; if (readyToSend) { timeStartMove = DateTime.Now.Ticks.ToString(); UpdatePetPos petPos = new UpdatePetPos(); petPos.type = "listplayer"; petPos.username = PlayerPrefs.GetString("username"); petPos.timeStartMove = timeStartMove; petPos.petLastPosX = transform.position.x; petPos.petLastPosY = transform.position.z; petPos.petPosX = food.transform.position.x; petPos.petPosY = food.transform.position.z; petPos.tileX = tileX; petPos.tileY = tileY; petPos.petState = "walkFood"; petPos.speed = speed; string requestJson = JsonUtility.ToJson(petPos); AmqpClient.Publish(AmqpController.amqpControl.requestExchangeName, AmqpController.amqpControl.requestRoutingKey, requestJson); } petCalled = false; } }
void MoveBehaviour() { if (!foodEnabled && !ballInGround && !petCalled) { var mapScript = mapController.GetComponent <MapController>(); int tileX = mapScript.tileX; int tileY = mapScript.tileY; bool readyToSend = mapScript.okToSentPetPos; if (Vector3.Distance(targetMove, transform.position) < 0.1f && readyToSend) { RandomTargetPos(); timeStartMove = DateTime.Now.Ticks.ToString(); UpdatePetPos petPos = new UpdatePetPos(); petPos.type = "listplayer"; petPos.username = PlayerPrefs.GetString("username"); petPos.timeStartMove = timeStartMove; petPos.petLastPosX = 0f; petPos.petLastPosY = 0f; petPos.petPosX = targetMove.x; petPos.petPosY = targetMove.z; petPos.tileX = tileX; petPos.tileY = tileY; petPos.petState = "walk"; petPos.speed = speed; string requestJson = JsonUtility.ToJson(petPos); AmqpClient.Publish(AmqpController.amqpControl.requestExchangeName, AmqpController.amqpControl.requestRoutingKey, requestJson); } Vector3 lookpos = targetMove - transform.position; lookpos.y = 0; if (lookpos != Vector3.zero) { var rotation = Quaternion.LookRotation(lookpos); transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * 2.0f); } transform.position = Vector3.MoveTowards(transform.position, targetMove, Time.deltaTime * speed); } }
void OnTriggerEnter(Collider col) { if (col.gameObject.tag == "Food") { anim = GameObject.Find("cu_puppy_shiba_a").GetComponent <Animator>(); anim.runtimeAnimatorController = Resources.Load("AnimationController/PetEatController") as RuntimeAnimatorController; isEating = true; eatTime = 160; var mapScript = mapController.GetComponent <MapController>(); int tileX = mapScript.tileX; int tileY = mapScript.tileY; bool readyToSend = mapScript.okToSentPetPos; if (readyToSend) { timeStartMove = DateTime.Now.Ticks.ToString(); UpdatePetPos petPos = new UpdatePetPos(); petPos.type = "listplayer"; petPos.username = PlayerPrefs.GetString("username"); petPos.timeStartMove = timeStartMove; petPos.petLastPosX = 0f; petPos.petLastPosY = 0f; petPos.petPosX = this.transform.position.x; petPos.petPosY = this.transform.position.z; petPos.tileX = tileX; petPos.tileY = tileY; petPos.petState = "eatFood"; petPos.speed = speed; string requestJson = JsonUtility.ToJson(petPos); AmqpClient.Publish(AmqpController.amqpControl.requestExchangeName, AmqpController.amqpControl.requestRoutingKey, requestJson); } } if (col.gameObject.tag == "Ball") { ball.transform.parent = this.transform; ballDeliver = true; var mapScript = mapController.GetComponent <MapController>(); int tileX = mapScript.tileX; int tileY = mapScript.tileY; bool readyToSend = mapScript.okToSentPetPos; if (readyToSend) { // movement timeStartMove = DateTime.Now.Ticks.ToString(); UpdatePetPos petPos = new UpdatePetPos(); petPos.type = "listplayer"; petPos.username = PlayerPrefs.GetString("username"); petPos.timeStartMove = timeStartMove; petPos.petLastPosX = 0f; petPos.petLastPosY = 0f; petPos.petPosX = Camera.main.transform.position.x; petPos.petPosY = Camera.main.transform.position.z; petPos.tileX = tileX; petPos.tileY = tileY; petPos.petState = "walkbringball"; petPos.speed = speed; string requestJson = JsonUtility.ToJson(petPos); AmqpClient.Publish(AmqpController.amqpControl.requestExchangeName, AmqpController.amqpControl.requestRoutingKey, requestJson); } } }