Pull request #20: Ajout gestion animation plus simple (v0)

Merge in CGD/gather-and-defend from animation_unites to main

* commit '6c23b4b99c1e691ef54b84101d8b11d210fb9e94':
  v0
This commit is contained in:
Baptiste Girard 2023-06-23 20:45:42 +00:00
commit d3088b6fcb
8 changed files with 119 additions and 90 deletions

View File

@ -1,18 +1,15 @@
%YAML 1.1 %YAML 1.1
%TAG !u! tag:unity3d.com,2011: %TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-6019688218706219262 --- !u!1101 &-6631594651663551408
AnimatorStateTransition: AnimatorStateTransition:
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: m_Name:
m_Conditions: m_Conditions: []
- m_ConditionMode: 1
m_ConditionEvent: Attack
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0} m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -1287810223429890817} m_DstState: {fileID: 4151081420978197387}
m_Solo: 0 m_Solo: 0
m_Mute: 0 m_Mute: 0
m_IsExit: 0 m_IsExit: 0
@ -20,64 +17,11 @@ AnimatorStateTransition:
m_TransitionDuration: 0.25 m_TransitionDuration: 0.25
m_TransitionOffset: 0 m_TransitionOffset: 0
m_ExitTime: 0.75 m_ExitTime: 0.75
m_HasExitTime: 0 m_HasExitTime: 1
m_HasFixedDuration: 1 m_HasFixedDuration: 1
m_InterruptionSource: 0 m_InterruptionSource: 0
m_OrderedInterruption: 1 m_OrderedInterruption: 1
m_CanTransitionToSelf: 1 m_CanTransitionToSelf: 1
--- !u!1102 &-1287810223429890817
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: baseStick_attack
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 6419842955330930747}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: ff0a07b8a8691ba4390094d6fb771bef, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-351144688566974252
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: baseStick_idle
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 346b13552d55b9f4a989013f6aa4d869, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!91 &9100000 --- !u!91 &9100000
AnimatorController: AnimatorController:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -92,7 +36,7 @@ AnimatorController:
m_DefaultFloat: 0 m_DefaultFloat: 0
m_DefaultInt: 0 m_DefaultInt: 0
m_DefaultBool: 0 m_DefaultBool: 0
m_Controller: {fileID: 0} m_Controller: {fileID: 9100000}
m_AnimatorLayers: m_AnimatorLayers:
- serializedVersion: 5 - serializedVersion: 5
m_Name: Base Layer m_Name: Base Layer
@ -116,41 +60,71 @@ AnimatorStateMachine:
m_Name: Base Layer m_Name: Base Layer
m_ChildStates: m_ChildStates:
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: -351144688566974252} m_State: {fileID: 4151081420978197387}
m_Position: {x: 260, y: 110, z: 0} m_Position: {x: 360, y: 80, z: 0}
- serializedVersion: 1 - serializedVersion: 1
m_State: {fileID: -1287810223429890817} m_State: {fileID: 6697012865370906260}
m_Position: {x: 260, y: 50, z: 0} m_Position: {x: 380, y: -50, z: 0}
m_ChildStateMachines: [] m_ChildStateMachines: []
m_AnyStateTransitions: m_AnyStateTransitions: []
- {fileID: -6019688218706219262}
m_EntryTransitions: [] m_EntryTransitions: []
m_StateMachineTransitions: {} m_StateMachineTransitions: {}
m_StateMachineBehaviours: [] m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0} m_AnyStatePosition: {x: 30, y: 0, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0} m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0} m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -351144688566974252} m_DefaultState: {fileID: 4151081420978197387}
--- !u!1101 &6419842955330930747 --- !u!1102 &4151081420978197387
AnimatorStateTransition: AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1 m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: m_Name: idle
m_Conditions: [] m_Speed: 1
m_DstStateMachine: {fileID: 0} m_CycleOffset: 0
m_DstState: {fileID: -351144688566974252} m_Transitions:
m_Solo: 0 - {fileID: -6631594651663551408}
m_Mute: 0 m_StateMachineBehaviours: []
m_IsExit: 0 m_Position: {x: 50, y: 50, z: 0}
serializedVersion: 3 m_IKOnFeet: 0
m_TransitionDuration: 0.25 m_WriteDefaultValues: 1
m_TransitionOffset: 0 m_Mirror: 0
m_ExitTime: 0.6808511 m_SpeedParameterActive: 0
m_HasExitTime: 1 m_MirrorParameterActive: 0
m_HasFixedDuration: 1 m_CycleOffsetParameterActive: 0
m_InterruptionSource: 0 m_TimeParameterActive: 0
m_OrderedInterruption: 1 m_Motion: {fileID: 7400000, guid: 346b13552d55b9f4a989013f6aa4d869, type: 2}
m_CanTransitionToSelf: 1 m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &6697012865370906260
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: attack
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: ff0a07b8a8691ba4390094d6fb771bef, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View File

@ -2,7 +2,7 @@ fileFormatVersion: 2
guid: 3cb91de3f312e514a92c799adf35e898 guid: 3cb91de3f312e514a92c799adf35e898
NativeFormatImporter: NativeFormatImporter:
externalObjects: {} externalObjects: {}
mainObjectFileID: 9100000 mainObjectFileID: 0
userData: userData:
assetBundleName: assetBundleName:
assetBundleVariant: assetBundleVariant:

View File

@ -522,7 +522,7 @@ AnimationClip:
m_Level: 0 m_Level: 0
m_CycleOffset: 0 m_CycleOffset: 0
m_HasAdditiveReferencePose: 0 m_HasAdditiveReferencePose: 0
m_LoopTime: 1 m_LoopTime: 0
m_LoopBlend: 0 m_LoopBlend: 0
m_LoopBlendOrientation: 0 m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0 m_LoopBlendPositionY: 0

View File

@ -323,7 +323,7 @@ AnimationClip:
m_Level: 0 m_Level: 0
m_CycleOffset: 0 m_CycleOffset: 0
m_HasAdditiveReferencePose: 0 m_HasAdditiveReferencePose: 0
m_LoopTime: 1 m_LoopTime: 0
m_LoopBlend: 0 m_LoopBlend: 0
m_LoopBlendOrientation: 0 m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0 m_LoopBlendPositionY: 0

View File

@ -13,6 +13,7 @@ public class Archer : Ally
void Start() { void Start() {
_rigidbodyAlly = GetComponent<Rigidbody2D>(); _rigidbodyAlly = GetComponent<Rigidbody2D>();
Animation = gameObject.AddComponent<AnimationEntity>();
} }
void Update() { void Update() {
@ -25,9 +26,12 @@ public class Archer : Ally
} }
void AttackEnemy() { void AttackEnemy() {
//Attack Cooldown //Attack Cooldown
if(AttackSpeed < AttackSpeedWait) { if(AttackSpeed < AttackSpeedWait) {
Animation.Attack();
GameObject _newArrow = Instantiate(_arrow, _rigidbodyAlly.position, Quaternion.identity); GameObject _newArrow = Instantiate(_arrow, _rigidbodyAlly.position, Quaternion.identity);
//Warning : the Speed of the arrow is equal to the speed of this unit, if this unit need to move, use an other variable ! //Warning : the Speed of the arrow is equal to the speed of this unit, if this unit need to move, use an other variable !

View File

@ -0,0 +1,33 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AnimationEntity : MonoBehaviour
{
private Animator _animator_entity;
private bool _doSomething = false;
void Start() {
_animator_entity = GetComponentInChildren<Animator>();
}
void Update() {
if (_doSomething && _animator_entity.GetCurrentAnimatorStateInfo(0).normalizedTime >= 1f)
{
Idle();
_doSomething = false;
}
}
public void Idle() {
_animator_entity.Play("idle", 0, 0f);
}
public void Attack() {
_animator_entity.Play("attack", 0, 0f);
_doSomething = true;
}
}

View File

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

View File

@ -15,6 +15,7 @@ public class Entity : LevelObject
[SerializeField] [SerializeField]
private float _attack_speed; private float _attack_speed;
private float _attack_speed_wait = 0f; private float _attack_speed_wait = 0f;
private AnimationEntity _animation;
//Enemy Spotted //Enemy Spotted
private bool _isEnemyDetected = false; private bool _isEnemyDetected = false;
@ -64,6 +65,12 @@ public class Entity : LevelObject
set { _enemy = value; } set { _enemy = value; }
} }
public AnimationEntity Animation
{
get { return _animation; }
set { _animation = value; }
}
#region [LevelManager code] #region [LevelManager code]
public override bool Equals(ILevelObject other) public override bool Equals(ILevelObject other)
{ {