示例#1
0
 public GameObject AddGameObject(params string[] tags)
 {
     var go = new GameObject(this);
     go.Tags = tags;
     _gameObjects.Add(go);
     return go;
 }
示例#2
0
        public override void OnCollision(GameObject with)
        {
            if (!with.Tags.Contains("enemy"))
                return;

            Kill();
        }
示例#3
0
        public override void OnCollision(GameObject with)
        {
            var withGameObject = (with as GameObject);
            if (!withGameObject.Tags.Contains("bullet"))
                return;

            AudioSource.Play();
            _cameraShaker.Shake();
            StartCoroutine(BeginRemove());
        }
示例#4
0
 /// <summary>
 /// Handles collisions with other GameObjects.
 /// </summary>
 /// <param name="withGameObject"></param>
 internal void HandlCollision(GameObject withGameObject)
 {
     ForEachBehavior(b => b.OnCollision(withGameObject));
 }
示例#5
0
 internal void RemoveGameObject(GameObject gameObject)
 {
     _gameObjects.Remove(gameObject);
 }
示例#6
0
 public virtual void OnCollision(GameObject with) { }
 public GameObjectConfigurator(GameObject gameObject)
 {
     _gameObject = gameObject;
 }
 public GameObjectComponentAdder(GameObject gameObject)
 {
     _gameObject = gameObject;
 }