added new slimes, fixed slime generation
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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){
|
||||
|
||||
@@ -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);
|
||||
|
||||
16
Assets/Scripts/Slimes/SlimeType.cs
Normal file
16
Assets/Scripts/Slimes/SlimeType.cs
Normal 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
|
||||
}
|
||||
11
Assets/Scripts/Slimes/SlimeType.cs.meta
Normal file
11
Assets/Scripts/Slimes/SlimeType.cs.meta
Normal file
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 629e326f4faf5c12f9c58e571847257a
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user