Start working Mug.cs

This commit is contained in:
Antoine H 2020-12-04 11:15:18 +01:00
parent 71d6586baf
commit 70024c7b6a
3 changed files with 37 additions and 10 deletions

View file

@ -8,5 +8,5 @@ public interface IGrabable
// int size {get; set;} //Size (1 or 2 hands) of the object
void use();
void take();
void drop(Transform position); //Drop to position
void drop(Vector2 position); //Drop to position
}

View file

@ -12,11 +12,12 @@ public class Mug : MonoBehaviour, IGrabable
}
public void take()
{
gameObject.SetActive(false);
}
public void drop(Transform position) //Drop to position
public void drop(Vector2 position) //Drop to position
{
gameObject.SetActive(true);
gameObject.transform.position = position;
}
// Start is called before the first frame update

View file

@ -7,7 +7,7 @@ public class Tavernkeeper_controller : MonoBehaviour
public float mvt_speed = 5.0f; //Movement speed
public float action_dist = 1.5f; //Action distance
IDictionary<string, GameObject> hand_container;
IDictionary<string, GameObject> hand_container; //Objects in hand
// Last user inputs
float horizontal;
@ -96,8 +96,15 @@ public class Tavernkeeper_controller : MonoBehaviour
{
// hit_object.transform.SetParent(transform);
// hit_object.transform.localPosition = new Vector2(-0.2f,0.2f);
hit_object.SetActive(false);
hand_container[hand]=hit_object;
//Doit traiter différement chaque Grabable ...
Mug obj = hit_object.GetComponent<Mug>();
// if (obj.size==1 || (obj.size==2 && ));
if(obj!=null)
{
obj.take();
hand_container[hand]=hit_object;
}
}
}
//Full hand : try give to client
@ -113,9 +120,28 @@ public class Tavernkeeper_controller : MonoBehaviour
{
// Debug.Log("Hand full with "+ hand_container[hand]);
// hand_container[hand].transform.SetParent(null);
hand_container[hand].SetActive(true);
hand_container[hand].transform.position = rigidbody2d.position;
hand_container[hand]=null;
//Doit traiter différement chaque Grabable ...
Mug obj = hand_container[hand].GetComponent<Mug>();
if(obj !=null)
{
obj.drop(rigidbody2d.position);
hand_container[hand]=null;
}
}
}
//Returns set of free hands (keys)
// ISet<string> freeHands()
// {
// HashSet<string> res = new HashSet<string>();
// foreach ( KeyValuePair<string, GameObject> kvp in hand_container)
// {
// if(kvp.Value is null)
// {
// res.Add(kvp.Key);
// }
// }
// return res;
// }
}