void PutGastro(PlayerController _pController) { int key = -1; for (int i = 0; i < gastroStocked.Count; i++) { GrabableObject actualGastro = gastroStocked[i]; if (actualGastro == null) { key = i; GrabableObject gastro = _pController.pInteract.ReleaseObject(false, false, false); gastro.AllowGrab(false); gastro.AllowPhysic(false); gastro.transform.position = gastroPos[i].position; gastro.transform.rotation = gastroPos[i].rotation; gastroStocked[i] = gastro; isEmpty = false; break; } } CheckStock(); photonView.RPC("PutGastroOnline", RpcTarget.Others, key, _pController.photonView.OwnerActorNr); }
void CutObject(Aliment _aliment, bool instantiateViewID) { // instantiation of standard aliment (bag, canned food) GameObject newCookedAlimentObject = PoolManager.Instance.Get(_aliment.CreateKeyPairValue(_aliment.alimentName, AlimentState.Cut), instantiateViewID).gameObject; objectCutted = newCookedAlimentObject.GetComponent <GrabableObject>(); objectCutted.Init(); Aliment alimentCooked = objectCutted.GetComponent <Aliment>(); alimentCooked.alimentStepState = _aliment.alimentStepState; objectCutted.AllowPhysic(false); objectCutted.AllowGrab(true); objectCutted.transform.position = foodPos.position; objectCutted.transform.rotation = foodPos.rotation; objectCutted.onGrab += RemoveObject; grabableReceived.AllowGrab(true); grabableReceived.gameObject.GetComponent <Poolable>().DelObject(); grabableReceived = null; if (player.photonView.IsMine) { // Affect the player player.EndInteractionState(this); GameManager.Instance.PopUp.CreateText("Objet coupé", 50, new Vector2(0, 300), 3.0f); } }
void CleanObject(Aliment _aliment, bool instantiateViewID) { // instantiation of empty aliment (bag, canned food) GameObject newEmptyAlimentObject = PoolManager.Instance.Get(_aliment.CreateKeyPairValue(_aliment.alimentName, AlimentState.EmptyContent), instantiateViewID).gameObject; newEmptyAlimentObject.transform.position = initPos.position; newEmptyAlimentObject.transform.rotation = initPos.rotation; ObjectEmpty = newEmptyAlimentObject.GetComponent <GrabableObject>(); ObjectEmpty.Init(); ObjectEmpty.AllowPhysic(false); ObjectEmpty.AllowGrab(true); // To do : change to false ObjectEmpty.onGrab += RemoveObject; // instantiation of standard aliment (bag, canned food) GameObject newStandardAlimentObject = PoolManager.Instance.Get(_aliment.CreateKeyPairValue(_aliment.alimentName, AlimentState.Standard), instantiateViewID).gameObject; newStandardAlimentObject.transform.position = FinalPos.position; newStandardAlimentObject.transform.rotation = FinalPos.rotation; ObjectStandard = newStandardAlimentObject.GetComponent <GrabableObject>(); ObjectStandard.Init(); Aliment alimentStandard = ObjectStandard.GetComponent <Aliment>(); if (alimentStandard.alimentType == AlimentType.Vegetable || alimentStandard.alimentType == AlimentType.Meat || alimentStandard.alimentType == AlimentType.Fish) { alimentStandard.alimentStepState = AlimentStepState.Deconditionning; } else { alimentStandard.alimentStepState = AlimentStepState.Treated; } ObjectStandard.AllowPhysic(false); ObjectStandard.AllowGrab(true); ObjectStandard.onGrab += RemoveObject; grabableReceived.AllowGrab(true); grabableReceived.gameObject.GetComponent <Poolable>().DelObject(); grabableReceived = null; if (player.photonView.IsMine) { // Affect the player player.EndInteractionState(this); GameManager.Instance.PopUp.CreateText("Objet nettoyé", 50, new Vector2(0, 300), 3.0f); } }
// transform box into crate public void UnpackObject(Aliment _aliment, bool instantiateViewID) { // instantiation of empty aliment (bag, canned food) GameObject newEmptyBoxAlimentObject = PoolManager.Instance.Get(_aliment.CreateKeyPairValue(_aliment.alimentName, AlimentState.EmptyBox), instantiateViewID).gameObject; newEmptyBoxAlimentObject.transform.position = initPos.position; newEmptyBoxAlimentObject.transform.rotation = initPos.rotation; ObjectEmpty = newEmptyBoxAlimentObject.GetComponent <GrabableObject>(); ObjectEmpty.Init(); ObjectEmpty.AllowPhysic(false); ObjectEmpty.AllowGrab(true); // To do : change to false ObjectEmpty.onGrab += RemoveObject; // instantiation of standard aliment (bag, canned food) GameObject newStackAlimentObject = PoolManager.Instance.Get(_aliment.CreateKeyPairValue(_aliment.alimentName, AlimentState.Stack), instantiateViewID).gameObject; newStackAlimentObject.transform.position = FinalPos.position; newStackAlimentObject.transform.rotation = FinalPos.rotation; ObjectStack = newStackAlimentObject.GetComponent <GrabableObject>(); ObjectStack.Init(); //Aliment alimentStandard = ObjectStack.GetComponent<Aliment>(); ObjectStack.AllowPhysic(false); ObjectStack.AllowGrab(true); ObjectStack.onGrab += RemoveObject; grabableReceived.AllowGrab(true); grabableReceived.gameObject.GetComponent <Poolable>().DelObject(); grabableReceived = null; if (player.photonView.IsMine) { // Affect the player player.EndInteractionState(this); GameManager.Instance.PopUp.CreateText("Carton déballé", 50, new Vector2(0, 300), 3.0f); } player = null; }
void PutObject(PlayerController _pController) { grabableReceived = _pController.pInteract.ReleaseObject(false, false, false); grabableReceived.AllowGrab(true); grabableReceived.AllowPhysic(false); grabableReceived.transform.position = foodPos.position; grabableReceived.transform.rotation = foodPos.rotation; haveAnObject = true; grabableReceived.onGrab += RemoveObject; GameManager.Instance.PopUp.CreateText("Objet posé", 50, new Vector2(0, 300), 3.0f); }
private void PutObjectInPost(int _actorNumber) //Online { PlayerController photonPlayer = InGamePhotonManager.Instance.PlayersConnected[_actorNumber]; grabableReceived = photonPlayer.pInteract.ReleaseObject(false, false, false); grabableReceived.AllowGrab(true); grabableReceived.AllowPhysic(false); grabableReceived.transform.position = foodPos.position; grabableReceived.transform.rotation = foodPos.rotation; haveAnObject = true; grabableReceived.onGrab += RemoveObject; }
void PutGastroOnline(int _key, int _actorNr) { PlayerController photonPlayer = InGamePhotonManager.Instance.PlayersConnected[_actorNr].GetComponent <PlayerController>(); GrabableObject gastro = photonPlayer.pInteract.ReleaseObject(false, false, false); gastro.transform.position = gastroPos[_key].position; gastro.transform.rotation = gastroPos[_key].rotation; gastro.AllowGrab(false); gastro.AllowPhysic(false); gastroStocked[_key] = gastro; isEmpty = false; CheckStock(); }
void CookObject(Aliment _aliment, bool instantiateViewID) { // instantiation of standard aliment (bag, canned food) GameObject newCookedAlimentObject = PoolManager.Instance.Get(_aliment.CreateKeyPairValue(_aliment.alimentName, AlimentState.Cooked), instantiateViewID).gameObject; objectCooked = newCookedAlimentObject.GetComponent <GrabableObject>(); objectCooked.Init(); Aliment alimentCooked = objectCooked.GetComponent <Aliment>(); alimentCooked.alimentStepState = _aliment.alimentStepState; objectCooked.AllowPhysic(false); objectCooked.AllowGrab(true); objectCooked.transform.position = foodPos.position; objectCooked.transform.rotation = foodPos.rotation; objectCooked.onGrab += RemoveObject; grabableReceived.AllowGrab(true); grabableReceived.gameObject.GetComponent <Poolable>().DelObject(); grabableReceived = null; }
// transform box into crate public void TakeSample(Aliment _aliment, bool instantiateViewID) { objectCooked = grabableReceived; objectCooked.AllowPhysic(false); objectCooked.AllowGrab(true); // To do : change to false objectCooked.onGrab += RemoveObject; // instantiation of sample aliment (bag, canned food) GameObject newSampleAlimentObject = PoolManager.Instance.Get(_aliment.CreateKeyPairValue(_aliment.alimentName, AlimentState.Sample), instantiateViewID).gameObject; newSampleAlimentObject.transform.position = FinalPos.position; newSampleAlimentObject.transform.rotation = FinalPos.rotation; objectSample = newSampleAlimentObject.GetComponent <GrabableObject>(); objectSample.Init(); //Aliment alimentStandard = objectSample.GetComponent<Aliment>(); objectSample.AllowPhysic(false); objectSample.AllowGrab(true); objectSample.onGrab += RemoveObject; grabableReceived = null; if (player.photonView.IsMine) { // Affect the player player.EndInteractionState(this); GameManager.Instance.PopUp.CreateText("Echantillon prélevé", 50, new Vector2(0, 300), 3.0f); } player = null; }
public void Interact(PlayerController pController) { player = pController; GrabableObject objectInHand = player.pDatas.objectInHand; Gastro gastroInHand = pController.pDatas.gastroInHand; // Put object = No object on post and object in hand of player if (haveAnObject == false && objectInHand != null) { if (gastroInHand == null) { if (grabableReceived == null) { Aliment actualAliment = objectInHand.GetComponent <Aliment>(); string alimentType = actualAliment.alimentType.ToString(); string postType = typeOfTreament.ToString(); if (alimentType == postType) { sameState = true; } else { sameState = false; } Debug.Log(alimentType); Debug.Log(postType); Debug.Log(sameState); if (actualAliment != null && (actualAliment.alimentState == AlimentState.InContent || actualAliment.alimentState == AlimentState.Standard)) { AlimentObject actualAlimentObject = FoodDatabase.mapAlimentObject[actualAliment.alimentName]; bool alimenStateExist = false; for (int i = 0; i < actualAlimentObject.listState.Count; i++) { if (actualAlimentObject.listState[i].state == AlimentState.Clean) { alimenStateExist = true; break; } } if (sameState && alimenStateExist) { grabableReceived = player.pInteract.ReleaseObject(false, false, false); grabableReceived.AllowGrab(false); grabableReceived.AllowPhysic(false); grabableReceived.transform.position = initPos.position; grabableReceived.transform.rotation = initPos.rotation; haveAnObject = true; Aliment newAliment = grabableReceived.GetComponent <Aliment>(); // Affect the player player.TeleportTo(playerPosition, true); player.BeginInteractionState(); // transform dirty aliment into fresh aliment if (newAliment != null) { GeneralError.ErrorNoOutfit(pController); currentStartAction = StartCoroutine(StartAction(newAliment, transformationTime, true, true)); } photonView.RPC("PutObjectInPost", RpcTarget.Others, pController.photonView.OwnerActorNr); } else { GameManager.Instance.PopUp.CreateText("Cet Objet ne peut pas être déposé ici", 50, new Vector2(0, 300), 3.0f); } } else if (objectInHand != null && haveAnObject == true) { GameManager.Instance.PopUp.CreateText("Il y a actuellement un objet sur le poste", 50, new Vector2(0, 300), 3.0f); } else { GameManager.Instance.PopUp.CreateText("Cet Objet ne peut pas être déposé ici", 50, new Vector2(0, 300), 3.0f); } } } else { GameManager.Instance.PopUp.CreateText("Il n'est pas possible d'utiliser un gastro ici", 50, new Vector2(0, 300), 3.0f); } } else { GameManager.Instance.PopUp.CreateText("Cet object ne peut pas être déposé ici", 50, new Vector2(0, 300), 3.0f); } }