//-------------- FOR ANIMATION TESTING /* * public ScriptableRat scriptableRat; * private void Start() * { * Initialize(scriptableRat, team, 0); * } */ //-------------- FOR ANIMATION TESTING public void Initialize(ScriptableRat scriptableRat, Team team, int path) { Statistics = new Statistics(scriptableRat); this.team = team; UnityFactory.factory.LoadData(scriptableRat.dragonBonesData); armatureComponent = UnityFactory.factory.BuildArmatureComponent("melee_unit", gameObject: transform.GetChild(0).gameObject); pathPosition = Random.Range(0, 9); //Vector3 capturePointSize = FindObjectOfType<CapturePoint>().transform.parent.gameObject.GetComponent<Renderer>().bounds.size; Vector3 capturePointSize = new Vector3(1, 1, 1); capturePosition = new Vector3(Random.Range(-capturePointSize.x / 2, capturePointSize.x / 2), 0, Random.Range(-capturePointSize.z / 2, capturePointSize.z / 2)); fieldOfView = GetComponent <FieldOfView>(); fieldOfView.Initialize(scriptableRat.viewDistance, this); if (team == Team.B) { armatureComponent.armature.flipX = true; } agent.speed = Statistics.speed; GetComponent <AnimationsController>().Initialize(armatureComponent); GetComponent <RatController>().Initialize(this, path); GetComponent <HealthBar>().Initialize(this); }
public Statistics(ScriptableRat scriptableRat) { ranged = scriptableRat.ranged; health = scriptableRat.health; currentHealth = scriptableRat.health; attack = scriptableRat.attack; attackSpeed = scriptableRat.attackSpeed; defence = scriptableRat.defence; range = scriptableRat.range; speed = scriptableRat.speed; capPoints = scriptableRat.capPoints; cost = scriptableRat.capPoints; }