added new slimes, fixed slime generation

This commit is contained in:
TAASONI3
2024-01-04 15:27:48 +01:00
parent dae53866e4
commit 4d2c52ded5
58 changed files with 6602 additions and 6477 deletions

View File

@@ -381,13 +381,13 @@ namespace Assets.Scripts
private void updateFightInterfaceActions(PlayerGameObject player)
{
GameObject actionFour = GameObject.Find("btnActionFour");
GameObject actionFive = GameObject.Find("btnActionFive");
GameObject actionSix = GameObject.Find("btnActionSix");
GameObject skillOne = GameObject.Find("btnActionTwo");
GameObject skillTwo = GameObject.Find("btnActionThree");
GameObject skillThree = GameObject.Find("btnActionFour");
player.displayAction(0, actionFour.transform.Find("imgAction").gameObject, actionFour.transform.Find("descAction").gameObject);
player.displayAction(1, actionFive.transform.Find("imgAction").gameObject, actionFive.transform.Find("descAction").gameObject);
player.displayAction(2, actionSix.transform.Find("imgAction").gameObject, actionSix.transform.Find("descAction").gameObject);
player.displayAction(0, skillOne.transform.Find("imgAction").gameObject, skillOne.transform.Find("descAction").gameObject);
player.displayAction(1, skillTwo.transform.Find("imgAction").gameObject, skillTwo.transform.Find("descAction").gameObject);
player.displayAction(2, skillThree.transform.Find("imgAction").gameObject, skillThree.transform.Find("descAction").gameObject);
}
private void updateFightInterfaceEnemy(GameObject enemy)

View File

@@ -2,6 +2,7 @@ using Assets.Scripts;
using Assets.Scripts.Player;
using Assets.Scripts.Slimes;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -10,80 +11,38 @@ namespace Assets.Scripts.InteractableObjects
{
public class Enemy : InteractableObject
{
string enemyname;
System.Random rand = new System.Random();
BasicSlime slime;
SlimeFactory factory = new SlimeFactory();
void Start()
{
enemyname = gameObject.name;
if (enemyname.Contains("("))
{
enemyname = enemyname.Split('(')[0];
}
renameEnemy();
}
public SlimeType slimeType;
public override void handleInteraction(GameObject player)
{
keepAlive = true;
}
private void renameEnemy()
{
switch (enemyname)
{
case "SlimeMageIdle":
enemyname = "Slime Mage";
break;
case "SlimeBaseIdle":
enemyname = "Slime";
break;
case "SlimeMetalIdle":
enemyname = "Slime Metal";
break;
case "SlimeMiniBossIdle":
enemyname = "Slime MiniBoss";
break;
case "SlimeWarriorIdle":
enemyname = "Slime Warrior";
break;
case "SlimeForestIdle":
enemyname = "Slime Forest";
break;
case "SlimeBossIdle":
enemyname = "Slime Boss";
break;
}
}
public void scaleEnemy(PlayerGameObject player)
{
if (slime == null)
{
switch (enemyname)
switch (slimeType)
{
case "Slime Mage":
case SlimeType.MAGE:
slime = factory.generateMageSlime(player);
break;
case "Slime":
case SlimeType.NORMAL:
slime = factory.generateNormalSlime(player);
break;
case "Slime Metal":
case SlimeType.METAL:
slime = factory.generateMetalSlime(player);
break;
case "Slime MiniBoss":
slime = factory.generateMiniBossSlime(player);
break;
case "Slime Warrior":
case SlimeType.WARRIOR:
slime = factory.generateWarriorSlime(player);
break;
case "Slime Forest":
case SlimeType.FOREST:
slime = factory.generateForestSlime(player);
break;
case "Slime Boss":
case SlimeType.BOSS:
slime = factory.generateBossSlime(player);
break;
}
@@ -97,7 +56,7 @@ namespace Assets.Scripts.InteractableObjects
public string getEnemyName()
{
return enemyname;
return slimeType.ToString().ToLower() + " slime";
}
public int calculateDamage()
@@ -128,7 +87,7 @@ namespace Assets.Scripts.InteractableObjects
public string saveEnemy()
{
string result = "";
result = result + FileHandler.generateJSON("enemyname", "\"" + enemyname + "\"");
result = result + FileHandler.generateJSON("enemytype", "\"" + slimeType.ToString().ToLower() + "\"");
if (slime != null)
{
result = result + ",\r\n" + slime.saveSlime();
@@ -139,6 +98,7 @@ namespace Assets.Scripts.InteractableObjects
public void loadEnemy(JToken json)
{
slime = new BasicSlime(json);
slimeType = (SlimeType)Enum.Parse(typeof(SlimeType), json["enemytype"].ToString());
}
}
}

View File

@@ -54,7 +54,7 @@ namespace Assets.Scripts.Player
}
else
{
target.transform.localPosition = target.transform.localPosition + new Vector3(view.x,view.y,0) * Mathf.Pow(mouseSpeed,2) * Time.deltaTime;
target.transform.localPosition = target.transform.localPosition + new Vector3(view.x,view.y,0) * mouseSpeed * Time.deltaTime;
}
if(target.transform.localPosition.x >= 3){

View File

@@ -24,11 +24,6 @@ namespace Assets.Scripts.Slimes
return new MetalSlime(player);
}
public MiniBossSlime generateMiniBossSlime(PlayerGameObject player)
{
return new MiniBossSlime(player);
}
public WarriorSlime generateWarriorSlime(PlayerGameObject player)
{
return new WarriorSlime(player);

View File

@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UnityEngine;
public enum SlimeType
{
NORMAL,
MAGE,
BOSS,
WARRIOR,
FOREST,
METAL
}

View File

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

View File

@@ -41,7 +41,7 @@ public class Tile : MonoBehaviour
public List<Vector3> getSpawnLocations()
{
List<Vector3> list = new List<Vector3>();
int objectAmount = objectAmount = rand.Next(40, 151);
int objectAmount = rand.Next(40, 151);
int iterations = 0;
Vector3 newPoint;
bool canSpawn;
@@ -52,7 +52,7 @@ public class Tile : MonoBehaviour
newPoint = new Vector3(rand.Next(-40, 40) + 100 * position.x, 50, rand.Next(-40, 40) + 100 * position.z);
foreach (Vector3 vector in list)
{
if (Vector3.Distance(vector, newPoint) < 10)
if (Vector3.Distance(vector, newPoint) < 12.5f)
{
canSpawn = false;
break;