party (#15)
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				ci/woodpecker/push/woodpecker Pipeline was successful
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	ci/woodpecker/push/woodpecker Pipeline was successful
				
			Resolves #6. Updates #3. Co-authored-by: Branden J Brown <zephyrtronium@gmail.com> Reviewed-on: #15 Reviewed-by: madxmike <madxmike@noreply.localhost>
This commit is contained in:
		
							
								
								
									
										16
									
								
								Assets/Scripts/HeroPartySO.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								Assets/Scripts/HeroPartySO.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| using System.Collections; | ||||
| using System.Collections.Generic; | ||||
| using System.Collections.ObjectModel; | ||||
| using UnityEngine; | ||||
| 
 | ||||
| [CreateAssetMenu(fileName = "HeroParty", menuName = "Hero Party")] | ||||
| public class HeroPartySO : ScriptableObject | ||||
| { | ||||
|     [SerializeField] | ||||
|     private List<HeroUnit> unitList = new List<HeroUnit>(); | ||||
|     public ReadOnlyCollection<HeroUnit> UnitList => unitList.AsReadOnly(); | ||||
| 
 | ||||
|     public void Add(HeroUnit unit) { unitList.Add(unit); } | ||||
|     public void Remove(HeroUnit unit) { unitList.Remove(unit); } | ||||
|     public int Count => unitList.Count; | ||||
| } | ||||
							
								
								
									
										11
									
								
								Assets/Scripts/HeroPartySO.cs.meta
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Assets/Scripts/HeroPartySO.cs.meta
									
									
									
										generated
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| fileFormatVersion: 2 | ||||
| guid: f0603cf6e7f1d884e89c3eb6a478a96c | ||||
| MonoImporter: | ||||
|   externalObjects: {} | ||||
|   serializedVersion: 2 | ||||
|   defaultReferences: [] | ||||
|   executionOrder: 0 | ||||
|   icon: {instanceID: 0} | ||||
|   userData:  | ||||
|   assetBundleName:  | ||||
|   assetBundleVariant:  | ||||
| @@ -1,6 +1,10 @@ | ||||
| using System.Collections; | ||||
| using System.Collections.Generic; | ||||
| using UnityEngine; | ||||
| using UnityEngine.Assertions; | ||||
| 
 | ||||
| using System.Runtime.CompilerServices; | ||||
| [assembly: InternalsVisibleTo("TestsPlaymode")] | ||||
| 
 | ||||
| /// <summary> | ||||
| /// Component that makes a duder a duder. | ||||
| @@ -13,4 +17,17 @@ public class HeroUnit : MonoBehaviour | ||||
|     [SerializeField] private long level; | ||||
|     [SerializeField] private long xp; | ||||
|     [SerializeField] private HeroAttributesSO attrs; | ||||
|     [SerializeField] private HeroPartySO _party; | ||||
|     internal HeroPartySO party => _party; | ||||
| 
 | ||||
|     private void OnEnable() | ||||
|     { | ||||
|         Assert.IsNotNull(_party); | ||||
|         _party.Add(this); | ||||
|     } | ||||
| 
 | ||||
|     private void OnDisable() | ||||
|     { | ||||
|         _party.Remove(this); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user