Exemple #1
0
 private void OnTriggerEnter2D(Collider2D collision)
 {
     if (collision.TryGetComponent(out IShipModule module))
     {
         if (CurrentModule != null)
         {
             Debug.LogWarning("Overridding active module!");
         }
         CurrentModule = module;
     }
 }
Exemple #2
0
 public void Use(IShipModule currentModule, Vector3 _)
 {
     if (currentModule != null)
     {
         Debug.Log($"Using {Name} => [{currentModule.Name}]");
     }
     else
     {
         Debug.Log($"Using {Name} => [null]");
     }
 }
Exemple #3
0
    private void OnTriggerExit2D(Collider2D collision)
    {
        if (collision.TryGetComponent(out IShipModule module))
        {
            if (module != CurrentModule)
            {
                Debug.LogWarning("Trying to remove module that is not current!");
                return;
            }

            CurrentModule = null;
        }
    }
Exemple #4
0
 public void Remove(IShipModule module)
 {
     Modules.Remove(module);
 }
Exemple #5
0
 public void Add(IShipModule module)
 {
     Modules.Add(module);
 }
Exemple #6
0
 public abstract void Use(IShipModule currentModule);
 public void Use(IShipModule currentModule, Vector3 _)
 {
     spawnedPrefab.Use(currentModule);
 }
 public void Use(IShipModule currentModule, Vector3 _) => currentModule?.UseItem(this);
Exemple #9
0
 public override void Use(IShipModule _)
 {
     Shoot();
 }