Compare commits

...

4 Commits

Author SHA1 Message Date
Ader Alisma 01
4acb02fb33 Added Yield production 2025-11-12 21:23:52 -05:00
bb144275d5 Merge branch 'main' into feature/Corrupted-Factory 2025-10-12 11:12:02 -04:00
7f77b3bdb3 Updated building ressource type
Updated the ressource type the buildings have to be an array to account for buildings that produces multiple ressources.
2025-10-12 11:03:37 -04:00
4174b80d60 Base Implementation
Made the basic parts of the Corrupted Factory upgrade.
2025-09-20 16:52:00 -04:00
14 changed files with 575 additions and 5 deletions

View File

@ -0,0 +1,19 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a92d696df7037b44585aaac56ec9ed98, type: 3}
m_Name: CorruptedFactory
m_EditorClassIdentifier:
_wood: 100
_rock: 100
_food: 100
_cooldownInSeconds: 10
_tooltipString:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 05ab917027b0e5d478d27c906a31aa64
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,17 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d1391306ffe53984bb2bc314f1d2919f, type: 3}
m_Name: Upgrade_CorruptedFactory
m_EditorClassIdentifier:
_upgradeUnitCard: {fileID: 11400000, guid: 05ab917027b0e5d478d27c906a31aa64, type: 2}
_upgradePrefab: {fileID: 1038659306882990064, guid: d03c6a18b62c84943967226ab159e1c4, type: 3}
_upgradeCardArt: {fileID: 21300000, guid: 2debbbaa18345ef44b32b72cbcad01b0, type: 3}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8667059f364a1c440935b2b86552103f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,397 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1038659306882990064
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7635908653065262707}
- component: {fileID: 4893380182456950857}
- component: {fileID: 5051996996752872273}
- component: {fileID: -1239601138929197919}
m_Layer: 0
m_Name: CorruptedFactory
m_TagString: Ally
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &7635908653065262707
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1038659306882990064}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -7.402152, y: 0.39607596, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 5939671854127199056}
- {fileID: 6770826418803405524}
- {fileID: 1049296725658017964}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!61 &4893380182456950857
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1038659306882990064}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0, y: 0}
oldSize: {x: 0, y: 0}
newSize: {x: 0, y: 0}
adaptiveTilingThreshold: 0
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 1, y: 1}
m_EdgeRadius: 0
--- !u!50 &5051996996752872273
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1038659306882990064}
m_BodyType: 0
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 1000000
m_LinearDrag: 0
m_AngularDrag: 0.05
m_GravityScale: 0
m_Material: {fileID: 0}
m_Interpolate: 0
m_SleepingMode: 1
m_CollisionDetection: 0
m_Constraints: 4
--- !u!114 &-1239601138929197919
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1038659306882990064}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: f02fef000728c82449ae7993a564e37c, type: 3}
m_Name:
m_EditorClassIdentifier:
_lifeBar: {fileID: 4795252161776368380}
_hp: 0
_speed: 0
_attack_damage: 2
_attack_interval: 2
_enemy: {fileID: 0}
rangeOutline: {fileID: 0}
_range: 0
_multiplier: 0
_yieldPrefabs:
- {fileID: 6962989255644195630, guid: a2dc5d9672c10074fa9c35c12f6339c1, type: 3}
- {fileID: 6962989255644195630, guid: 484f0eca1c74ae34694692de56a36739, type: 3}
- {fileID: 6962989255644195630, guid: f20569b5452c2b341a95d656b7534b7e, type: 3}
_randomPositionConfig: 0.5
_harvestDuration: 5
_yieldAmountPerResource: 5
--- !u!1 &5799165302180276253
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6770826418803405524}
- component: {fileID: 4877144423808268021}
- component: {fileID: 2468754937282593442}
m_Layer: 6
m_Name: range_outline
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6770826418803405524
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5799165302180276253}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 7635908653065262707}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!61 &4877144423808268021
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5799165302180276253}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 3.26, y: 4.88}
newSize: {x: 3.26, y: 4.88}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 3, y: 3}
m_EdgeRadius: 0
--- !u!114 &2468754937282593442
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5799165302180276253}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 531d7966d86bd0c4d83baf58bcb56cd5, type: 3}
m_Name:
m_EditorClassIdentifier:
_entityLinked: {fileID: 0}
--- !u!1 &6453988705367329854
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5939671854127199056}
- component: {fileID: 8933452427527575608}
m_Layer: 0
m_Name: root
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &5939671854127199056
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6453988705367329854}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4768125905524963531}
m_Father: {fileID: 7635908653065262707}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!95 &8933452427527575608
Animator:
serializedVersion: 5
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6453988705367329854}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: 6d42b38c305a679498e86d4396f18a9b, type: 2}
m_CullingMode: 0
m_UpdateMode: 0
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_StabilizeFeet: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorStateOnDisable: 0
m_WriteDefaultValuesOnDisable: 0
--- !u!1 &8199056397416991447
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4768125905524963531}
- component: {fileID: 4033240441719088282}
m_Layer: 0
m_Name: workshop_building
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4768125905524963531
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8199056397416991447}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 5939671854127199056}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &4033240441719088282
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8199056397416991447}
m_Enabled: 1
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 0
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 0
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 364159097
m_SortingLayer: 1
m_SortingOrder: 4
m_Sprite: {fileID: 21300000, guid: 2debbbaa18345ef44b32b72cbcad01b0, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 1.59, y: 1.47}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1001 &1868518140432677422
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 7635908653065262707}
m_Modifications:
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalPosition.y
value: 0.57
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalRotation.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 8131035023550608747, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
propertyPath: m_Name
value: HPSlider
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
--- !u!4 &1049296725658017964 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 1684793252178254466, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
m_PrefabInstance: {fileID: 1868518140432677422}
m_PrefabAsset: {fileID: 0}
--- !u!114 &4795252161776368380 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 6584939087328067794, guid: 19b269ca2b00e9b4dbff3fa28761992a, type: 3}
m_PrefabInstance: {fileID: 1868518140432677422}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ff4f0f23ad79f2e4c92d0c20fe06071b, type: 3}
m_Name:
m_EditorClassIdentifier:

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d03c6a18b62c84943967226ab159e1c4
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -12,6 +12,7 @@ GameObject:
- component: {fileID: 4893380182456950857}
- component: {fileID: 5051996996752872273}
- component: {fileID: 6061630371781146510}
- component: {fileID: 5887580710472258969}
m_Layer: 0
m_Name: Mill
m_TagString: Ally
@ -105,6 +106,21 @@ MonoBehaviour:
rangeOutline: {fileID: 4877144423808268021}
_range: 1
_multiplier: 10
--- !u!114 &5887580710472258969
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1038659306882990064}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: edcd1782caa73a747b1f060d18ce0f18, type: 3}
m_Name:
m_EditorClassIdentifier:
_upgradeUI: {fileID: 4817988606444742093, guid: 1d481c7093a8d2443a04261fd7c72be2, type: 3}
_upgradeList:
- {fileID: 11400000, guid: 8667059f364a1c440935b2b86552103f, type: 2}
--- !u!1 &1371331378727130647
GameObject:
m_ObjectHideFlags: 0

View File

@ -12,6 +12,7 @@ GameObject:
- component: {fileID: 4893380182456950857}
- component: {fileID: 5051996996752872273}
- component: {fileID: 3252807573666191813}
- component: {fileID: -7576367453348939844}
m_Layer: 0
m_Name: Workshop
m_TagString: Ally
@ -105,6 +106,21 @@ MonoBehaviour:
rangeOutline: {fileID: 4877144423808268021}
_range: 1
_multiplier: 10
--- !u!114 &-7576367453348939844
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1038659306882990064}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: edcd1782caa73a747b1f060d18ce0f18, type: 3}
m_Name:
m_EditorClassIdentifier:
_upgradeUI: {fileID: 4817988606444742093, guid: 1d481c7093a8d2443a04261fd7c72be2, type: 3}
_upgradeList:
- {fileID: 11400000, guid: 8667059f364a1c440935b2b86552103f, type: 2}
--- !u!1 &5799165302180276253
GameObject:
m_ObjectHideFlags: 0

View File

@ -2,5 +2,5 @@
public class Blacksmith : ProductionBuilding
{
protected override Enum.ResourceNodeType RessourceNodeType { get { return Enum.ResourceNodeType.Rock; } }
protected override Enum.ResourceNodeType[] RessourceNodeType { get { return new Enum.ResourceNodeType[] { Enum.ResourceNodeType.Rock }; } }
}

View File

@ -0,0 +1,61 @@
using System.Collections.Generic;
using UnityEngine;
public class CorruptedFactory : ProductionBuilding
{
//TODO: Si ceci détermine la resource produite, modifier pour que ce soit un tableau des trois différent types de resources.
protected override Enum.ResourceNodeType[] RessourceNodeType { get { return new Enum.ResourceNodeType [] { Enum.ResourceNodeType.Forest, Enum.ResourceNodeType.Rock, Enum.ResourceNodeType.BerryBush, Enum.ResourceNodeType.Farm}; } }
/**
* Yield Production
*/
[SerializeField]
private List<GameObject> _yieldPrefabs = new List<GameObject>(3);
[SerializeField]
[Range(0.0f, 5.0f)]
private float _randomPositionConfig = 0.5f;
[SerializeField]
private float _harvestDuration = 5.0f;
[SerializeField]
private int _yieldAmountPerResource = 1;
private float _yieldCounter = 0;
private float _yieldSpeedMultiplier = 1.0f;
public override void LevelStart()
{
base.LevelStart();
ResetYieldDuration();
}
public override void Update()
{
base.Update();
_yieldCounter -= Time.deltaTime;
if (_yieldCounter > 0) return;
ResetYieldDuration();
if (_yieldPrefabs.Count > 0)
{
for (int i = 0; i < _yieldPrefabs.Count; i++)
{
for (int j = 0; j < _yieldAmountPerResource; j++)
{
YieldResource(_yieldPrefabs[i]);
}
}
}
}
private void YieldResource(GameObject yield)
{
float rangeConfig = 0.5f + _randomPositionConfig;
Vector3 yieldPosition = new Vector3(Position.x + Random.Range(-rangeConfig, rangeConfig), Position.y, Position.z);
var yielded = Instantiate(yield, yieldPosition, Quaternion.identity);
yielded.transform.SetParent(LevelManager.Instance.LevelTransform);
}
private void ResetYieldDuration()
{
_yieldCounter = _harvestDuration / _yieldSpeedMultiplier;
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f02fef000728c82449ae7993a564e37c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -2,5 +2,5 @@
public class Mill : ProductionBuilding
{
protected override Enum.ResourceNodeType RessourceNodeType { get { return Enum.ResourceNodeType.BerryBush; } }
protected override Enum.ResourceNodeType[] RessourceNodeType { get { return new Enum.ResourceNodeType[] { Enum.ResourceNodeType.BerryBush }; } }
}

View File

@ -8,7 +8,7 @@ public abstract class ProductionBuilding : House
private float _multiplier;
public override float PopulationGiven => GlobalConfig.Instance.Current.populationGivenPerHouseUpgrade;
protected abstract Enum.ResourceNodeType RessourceNodeType { get; }
protected abstract Enum.ResourceNodeType[] RessourceNodeType { get; }
public int Range { get => _range; set => _range = value; }
private Vector3 _position;
@ -42,10 +42,20 @@ public abstract class ProductionBuilding : House
if (tile == default) continue;
var checkResourceType = tile.ResourceNodeType;
if (checkResourceType != RessourceNodeType) continue;
if (!isValidResourceType(tile.ResourceNodeType)) continue;
tile.YieldSpeedMultiplier *= multiplier;
}
}
}
private bool isValidResourceType (Enum.ResourceNodeType tileRessourceType)
{
for(int i = 0; i < RessourceNodeType.Length; i++)
{
if (tileRessourceType == RessourceNodeType[i]) return true;
}
return false;
}
}

View File

@ -2,5 +2,5 @@
public class Workshop : ProductionBuilding
{
protected override Enum.ResourceNodeType RessourceNodeType { get { return Enum.ResourceNodeType.Forest; } }
protected override Enum.ResourceNodeType[] RessourceNodeType { get { return new Enum.ResourceNodeType[] { Enum.ResourceNodeType.Forest }; } }
}