new abilities

This commit is contained in:
cyber-dream 2022-06-13 02:55:52 +03:00
parent ed60411379
commit ac697bf3fa
19 changed files with 494 additions and 109 deletions

View File

@ -0,0 +1,132 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2523660140771243756
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3423613101396630199}
- component: {fileID: 4810735146764604092}
m_Layer: 0
m_Name: Effect
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &3423613101396630199
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2523660140771243756}
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: 4281435104574534168}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!212 &4810735146764604092
SpriteRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2523660140771243756}
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: 10754, guid: 0000000000000000f000000000000000, type: 0}
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: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_Sprite: {fileID: -7223500524570698268, guid: d1724c2207cc7934580992ce9d42f6a7, type: 3}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_FlipX: 0
m_FlipY: 0
m_DrawMode: 0
m_Size: {x: 0.5, y: 0.5}
m_AdaptiveModeThreshold: 0.5
m_SpriteTileMode: 0
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!1 &9166775571681944875
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4281435104574534168}
- component: {fileID: 7145043599925644736}
m_Layer: 0
m_Name: Boomerang
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4281435104574534168
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9166775571681944875}
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: 3423613101396630199}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &7145043599925644736
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 9166775571681944875}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ad610f07ccdc27cd5952628b5fee56eb, type: 3}
m_Name:
m_EditorClassIdentifier:
effect: {fileID: 2523660140771243756}

View File

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

View File

@ -11,8 +11,7 @@ GameObject:
- component: {fileID: 4291895258293432843}
- component: {fileID: 4864008898460965936}
- component: {fileID: 6102265118150421119}
- component: {fileID: 463036853569761210}
- component: {fileID: 4664501316419986786}
- component: {fileID: 2449486384176756105}
m_Layer: 0
m_Name: Bullet
m_TagString: Untagged
@ -28,8 +27,9 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6196285449860538992}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1.15, y: -0.48, z: 1.3160809}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4220328572880531123}
m_RootOrder: 0
@ -45,6 +45,7 @@ SpriteRenderer:
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
@ -111,40 +112,27 @@ BoxCollider2D:
serializedVersion: 2
m_Size: {x: 0.3, y: 0.3}
m_EdgeRadius: 0
--- !u!95 &463036853569761210
Animator:
serializedVersion: 3
--- !u!50 &2449486384176756105
Rigidbody2D:
serializedVersion: 4
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6196285449860538992}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: d4a2557aeec98284989b3daa00f15042, type: 2}
m_CullingMode: 0
m_UpdateMode: 1
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0
--- !u!114 &4664501316419986786
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6196285449860538992}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ffa843d3684e77f44a8bdc2130bf7205, type: 3}
m_Name:
m_EditorClassIdentifier:
attackSpeed: 0
damage: 0
speed: 0
m_BodyType: 0
m_Simulated: 1
m_UseFullKinematicContacts: 0
m_UseAutoMass: 0
m_Mass: 0.0001
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: 0
--- !u!1 &6863736067666425520
GameObject:
m_ObjectHideFlags: 0
@ -154,6 +142,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 4220328572880531123}
- component: {fileID: 1525017837818058799}
m_Layer: 0
m_Name: Pistol
m_TagString: Untagged
@ -169,10 +158,24 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6863736067666425520}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.8834, y: 0.72714, z: -2.1158}
m_LocalScale: {x: 1.6076, y: 1.6076, z: 1.6076}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4291895258293432843}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1525017837818058799
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6863736067666425520}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 48ea894e952344d99609759531dd0e12, type: 3}
m_Name:
m_EditorClassIdentifier:
bullet: {fileID: 6196285449860538992}

View File

@ -10,11 +10,8 @@ GameObject:
m_Component:
- component: {fileID: 4291895258293432843}
- component: {fileID: 4864008898460965936}
- component: {fileID: 6102265118150421119}
- component: {fileID: 3579090901325787678}
- component: {fileID: 463036853569761210}
m_Layer: 0
m_Name: Square
m_Name: Effect
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -27,9 +24,10 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6196285449860538992}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 1.15, y: -0.48, z: 1.3160809}
m_LocalScale: {x: 8.2, y: 0.36, z: 1}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 5.3329673, y: 0.36, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 4220328572880531123}
m_RootOrder: 0
@ -45,6 +43,7 @@ SpriteRenderer:
m_CastShadows: 0
m_ReceiveShadows: 0
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
@ -85,66 +84,6 @@ SpriteRenderer:
m_WasSpriteAssigned: 1
m_MaskInteraction: 0
m_SpriteSortPoint: 0
--- !u!61 &6102265118150421119
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6196285449860538992}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 0.00081826746, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0.5, y: 0.5}
oldSize: {x: 0.5, y: 0.5}
newSize: {x: 1, y: 1}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 0.5, y: 0.3}
m_EdgeRadius: 0
--- !u!114 &3579090901325787678
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6196285449860538992}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 49f585561ea104de189705939209031c, type: 3}
m_Name:
m_EditorClassIdentifier:
beam: {fileID: 6196285449860538992}
rotationSpeed: 100
damage: 35
--- !u!95 &463036853569761210
Animator:
serializedVersion: 3
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6196285449860538992}
m_Enabled: 1
m_Avatar: {fileID: 0}
m_Controller: {fileID: 9100000, guid: d4a2557aeec98284989b3daa00f15042, type: 2}
m_CullingMode: 0
m_UpdateMode: 1
m_ApplyRootMotion: 0
m_LinearVelocityBlending: 0
m_WarningMessage:
m_HasTransformHierarchy: 1
m_AllowConstantClipSamplingOptimization: 1
m_KeepAnimatorControllerStateOnDisable: 0
--- !u!1 &6863736067666425520
GameObject:
m_ObjectHideFlags: 0
@ -154,6 +93,8 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 4220328572880531123}
- component: {fileID: 7877685981569377011}
- component: {fileID: 3519919980724110274}
m_Layer: 0
m_Name: Ultraviolet
m_TagString: Untagged
@ -169,10 +110,57 @@ Transform:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6863736067666425520}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -1.8834, y: 0.72714, z: -2.1158}
m_LocalScale: {x: 1.6076, y: 1.6076, z: 1.6076}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 4291895258293432843}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &7877685981569377011
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6863736067666425520}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 49f585561ea104de189705939209031c, type: 3}
m_Name:
m_EditorClassIdentifier:
abilityData:
baseDamage: 0
enhancedDamage: 0
rechargeTime: 0
damageSpeed: 0
effectPrefab: {fileID: 0}
effect: {fileID: 6196285449860538992}
rotationSpeed: 3.9
--- !u!61 &3519919980724110274
BoxCollider2D:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6863736067666425520}
m_Enabled: 1
m_Density: 1
m_Material: {fileID: 0}
m_IsTrigger: 1
m_UsedByEffector: 0
m_UsedByComposite: 0
m_Offset: {x: 1.3562081, y: 0}
m_SpriteTilingProperty:
border: {x: 0, y: 0, z: 0, w: 0}
pivot: {x: 0, y: 0.5}
oldSize: {x: 0.5, y: 0.5}
newSize: {x: 1, y: 1}
adaptiveTilingThreshold: 0.5
drawMode: 0
adaptiveTiling: 0
m_AutoTiling: 0
serializedVersion: 2
m_Size: {x: 2.7133794, y: 0.14908779}
m_EdgeRadius: 0

View File

@ -0,0 +1,80 @@
%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: 0}
m_Name: AbilitiesData
m_EditorClassIdentifier: Assembly-CSharp::AbilitiesData
ultraviolet:
baseDamage: 75
enhancedDamage: 150
rechargeTime: 1
damageSpeed: 2
effectPrefab: {fileID: 0}
pistols:
baseDamage: 50
enhancedDamage: 100
rechargeTime: 1.5
damageSpeed: 1.75
effectPrefab: {fileID: 0}
boomerang:
baseDamage: 25
enhancedDamage: 50
rechargeTime: 2
damageSpeed: 2.5
effectPrefab: {fileID: 0}
flamethrower:
baseDamage: 100
enhancedDamage: 200
rechargeTime: 1
damageSpeed: 2
effectPrefab: {fileID: 0}
radio:
baseDamage: 50
enhancedDamage: 75
rechargeTime: 1
damageSpeed: 2.5
effectPrefab: {fileID: 0}
robot:
baseDamage: 75
enhancedDamage: 150
rechargeTime: 3
damageSpeed: 3
effectPrefab: {fileID: 0}
shotgun:
baseDamage: 100
enhancedDamage: 200
rechargeTime: 2
damageSpeed: 0
effectPrefab: {fileID: 0}
artillery:
baseDamage: 0
enhancedDamage: 0
rechargeTime: 15
damageSpeed: 0
effectPrefab: {fileID: 0}
veryHotSuit:
baseDamage: 0
enhancedDamage: 0
rechargeTime: 0
damageSpeed: 0
effectPrefab: {fileID: 0}
iceRifle:
baseDamage: 10
enhancedDamage: 50
rechargeTime: 2
damageSpeed: 0
effectPrefab: {fileID: 0}
miniRockets:
baseDamage: 50
enhancedDamage: 175
rechargeTime: 1.5
damageSpeed: 0.5
effectPrefab: {fileID: 0}

View File

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

View File

@ -2,7 +2,7 @@
using System.Collections.Generic;
using UnityEngine;
public class Ability : MonoBehaviour
public abstract class Ability : MonoBehaviour
{
}

View File

@ -0,0 +1,45 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[Serializable]
public struct AbilityData
{
public float baseDamage;
public float enhancedDamage;
public float rechargeTime;
public float damageSpeed;
public GameObject effectPrefab;
}
[CreateAssetMenu(fileName = "AbilitiesData", menuName = "Game Data/Abilities")]
public class AbilitiesData : ScriptableObject
{
public AbilityData ultraviolet;
public AbilityData pistols;
public AbilityData boomerang;
public AbilityData flamethrower;
public AbilityData radio;
public AbilityData robot;
public AbilityData shotgun;
public AbilityData artillery;
public AbilityData veryHotSuit;
public AbilityData iceRifle;
public AbilityData miniRockets;
}
/*
enum Abilities
{
Ultraviolet,
Pistols,
Boomerang,
Flamethrower,
Radio,
Robot,
Shotgun,
Artillery,
VeryHotSuit,
IceRifle,
MiniRockets
} */

View File

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

View File

@ -0,0 +1,28 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Boomerang : Ability
{
[SerializeField]
private GameObject effect;
[SerializeField]
private float circleSpeed = 1f;
[SerializeField]
private float forwardSpeed = -1f;
[SerializeField] // Assuming negative Z is towards the camera
private float circleSize = 0.1f;
[SerializeField]
private float circleGrowSpeed = 0.01f;
private void Update()
{
var xPos = Mathf.Sin(Time.time * circleSpeed) * circleSize;
var yPos = Mathf.Cos(Time.time * circleSpeed) * circleSize;
//var zPos += forwardSpeed * Time.deltaTime;
circleSize += circleGrowSpeed;
effect.transform.position = new Vector3(xPos, yPos, 0);
}
}

View File

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

View File

@ -1,7 +1,53 @@
namespace Character.Abilities
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Pistols : Ability
{
public class Pistols
[SerializeField] private readonly AbilityData abilityData;
[SerializeField] private GameObject bullet;
private void Start()
{
StartCoroutine(ShotBullet());
}
}
private IEnumerator ShotBullet()
{
var sideNumb = 0;
var shotVector = new Vector2();
while(true)
{
yield return new WaitForSeconds(.5f);
var newBullet = Instantiate(bullet);
newBullet.SetActive(true);
newBullet.transform.position = this.transform.position;
shotVector = sideNumb switch
{
0 => new Vector2(0, 1),
1 => new Vector2(1, 1),
2 => new Vector2(1, 0),
3 => new Vector2(1, -1),
4 => new Vector2(0, -1),
5 => new Vector2(-1, -1),
6 => new Vector2(-1, 0),
7 => new Vector2(-1, 1),
_ => shotVector
};
shotVector = shotVector / 50;
newBullet.GetComponent<Rigidbody2D>().AddForce(shotVector);
if (sideNumb >= 7)
{
sideNumb = 0;
}
else
{
sideNumb++;
}
}
}
}

View File

@ -2,7 +2,7 @@
using System.Collections.Generic;
using UnityEngine;
public class Pistol: MonoBehaviour
public class Pistols_obsolete: Ability
{
[SerializeField] private GameObject bullet;

View File

@ -0,0 +1,26 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Ultraviolet : Ability
{
[SerializeField] private readonly AbilityData abilityData;
[SerializeField] private GameObject effect;
[Range(0,200)]
[SerializeField] private float rotationSpeed;
private void Update()
{
effect.transform.Rotate(new Vector3(0,0,1) * Time.deltaTime * rotationSpeed);
}
void OnTriggerEnter2D(Collider2D col)
{
if (col.gameObject.CompareTag("Mob"))
{
//col.gameObject.GetComponent<Mob>().SendMessage("ApplyDamage", damage);
}
}
}