size 15783 |
@ -0,0 +1,7 @@ | |||
fileFormatVersion: 2 | |||
guid: 7d479bacc53922e4498008816aade241 | |||
DefaultImporter: | |||
externalObjects: {} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,8 @@ | |||
fileFormatVersion: 2 | |||
guid: 408c7b3fd4c3afc4c9187c4ad234f2f2 | |||
folderAsset: yes | |||
DefaultImporter: | |||
externalObjects: {} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,9 @@ | |||
using System.Collections; | |||
using System.Collections.Generic; | |||
using UnityEngine; | |||
public interface IYeetable | |||
{ | |||
void Hold(GameObject child); | |||
void Yeet(); | |||
} |
@ -0,0 +1,11 @@ | |||
fileFormatVersion: 2 | |||
guid: 2bbcd198578c95d40a2dd8f089364686 | |||
MonoImporter: | |||
externalObjects: {} | |||
serializedVersion: 2 | |||
defaultReferences: [] | |||
executionOrder: 0 | |||
icon: {instanceID: 0} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,61 @@ | |||
using System.Collections; | |||
using System.Collections.Generic; | |||
using UnityEngine; | |||
public class YeetController : MonoBehaviour, IYeetable | |||
{ | |||
public GameObject parent { get; set; } | |||
public float yeetVelocity = 10f; | |||
public float yeetDuration = 2f; | |||
public enum YeetState { Unheld, Held, Yeeting }; | |||
public YeetState yeetState { get; private set; } = YeetState.Unheld; | |||
private GameObject _child; | |||
private float _time; | |||
public void Hold(GameObject child) | |||
{ | |||
_child = child; | |||
_child.transform.parent = parent.transform; | |||
yeetState = YeetState.Held; | |||
} | |||
public void Yeet() | |||
{ | |||
_child.transform.parent = null; | |||
_child.transform.rotation = parent.transform.rotation; | |||
yeetState = YeetState.Yeeting; | |||
_time = yeetDuration; | |||
} | |||
// Start is called before the first frame update | |||
void Start() | |||
{ | |||
} | |||
// Update is called once per frame | |||
void Update() | |||
{ | |||
switch(yeetState) | |||
{ | |||
case YeetState.Yeeting: | |||
_child.transform.position += _child.transform.forward * yeetVelocity * Time.deltaTime; | |||
_time -= Time.deltaTime; | |||
if(_time <= 0f) | |||
{ | |||
yeetState = YeetState.Unheld; | |||
} | |||
break; | |||
case YeetState.Held: | |||
break; | |||
case YeetState.Unheld: | |||
_child = null; | |||
break; | |||
} | |||
} | |||
} |
@ -0,0 +1,11 @@ | |||
fileFormatVersion: 2 | |||
guid: 188bb300967eea14fb681a94fc31f911 | |||
MonoImporter: | |||
externalObjects: {} | |||
serializedVersion: 2 | |||
defaultReferences: [] | |||
executionOrder: 0 | |||
icon: {instanceID: 0} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,8 @@ | |||
fileFormatVersion: 2 | |||
guid: 0899cb5e9885fc441bc2cfd3746b0ed9 | |||
folderAsset: yes | |||
DefaultImporter: | |||
externalObjects: {} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,65 @@ | |||
using System.Collections; | |||
using System.Collections.Generic; | |||
using UnityEngine; | |||
public class ControllerBase : MonoBehaviour | |||
{ | |||
public CharacterController characterController; | |||
public float speed = 6f; | |||
public float sensitivity = 10f; | |||
public GameObject body; | |||
public GameObject testChild; | |||
public YeetController yeetController; | |||
void Start() | |||
{ | |||
} | |||
// Update is called once per frame | |||
void Update() | |||
{ | |||
Move(); | |||
//Rotate(); | |||
if(Input.GetButtonDown("Fire1")) | |||
{ | |||
yeetController.parent = body; | |||
switch(yeetController.yeetState) | |||
{ | |||
case YeetController.YeetState.Unheld: | |||
yeetController.Hold(testChild); | |||
// Grab nearest baby | |||
break; | |||
case YeetController.YeetState.Held: | |||
yeetController.Yeet(); | |||
// Yeet baby | |||
break; | |||
case YeetController.YeetState.Yeeting: | |||
// Cooldown? | |||
break; | |||
} | |||
} | |||
} | |||
void Move() | |||
{ | |||
float horizontal = Input.GetAxis("Horizontal"); | |||
float vertical = Input.GetAxis("Vertical"); | |||
Vector3 move = transform.forward * vertical + transform.right * horizontal; | |||
characterController.Move(speed * Time.deltaTime * move); | |||
} | |||
void Rotate() | |||
{ | |||
float horizontal = Input.GetAxis("Mouse Y"); | |||
body.transform.Rotate(0, horizontal * sensitivity, 0); | |||
} | |||
} |
@ -0,0 +1,11 @@ | |||
fileFormatVersion: 2 | |||
guid: 5f1380fc8f7b79446aa26ea089b4362a | |||
MonoImporter: | |||
externalObjects: {} | |||
serializedVersion: 2 | |||
defaultReferences: [] | |||
executionOrder: 0 | |||
icon: {instanceID: 0} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
@ -0,0 +1,110 @@ | |||
%YAML 1.1 | |||
%TAG !u! tag:unity3d.com,2011: | |||
--- !u!114 &1051237570 | |||
MonoBehaviour: | |||
m_ObjectHideFlags: 0 | |||
m_CorrespondingSourceObject: {fileID: 0} | |||
m_PrefabInstance: {fileID: 0} | |||
m_PrefabAsset: {fileID: 0} | |||
m_GameObject: {fileID: 33932531309654967} | |||
m_Enabled: 1 | |||
m_EditorHideFlags: 0 | |||
m_Script: {fileID: 11500000, guid: 188bb300967eea14fb681a94fc31f911, type: 3} | |||
m_Name: | |||
m_EditorClassIdentifier: | |||
yeetVelocity: 10 | |||
yeetDuration: 2 | |||
--- !u!1001 &2714160732044909285 | |||
PrefabInstance: | |||
m_ObjectHideFlags: 0 | |||
serializedVersion: 2 | |||
m_Modification: | |||
m_TransformParent: {fileID: 0} | |||
m_Modifications: | |||
- target: {fileID: 2725293204815276921, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_Mesh | |||
value: | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293204815276924, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_Mesh | |||
value: | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293204815276924, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_Convex | |||
value: 1 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293204815276924, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_IsTrigger | |||
value: 0 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293204815276927, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_Mesh | |||
value: | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018834, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_Name | |||
value: YeetyPlayer Variant | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_RootOrder | |||
value: 0 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalPosition.x | |||
value: 1.2684288 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalPosition.y | |||
value: 0 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalPosition.z | |||
value: -6.7718506 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalRotation.w | |||
value: 1 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalRotation.x | |||
value: 0 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalRotation.y | |||
value: 0 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalRotation.z | |||
value: 0 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalEulerAnglesHint.x | |||
value: 0 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalEulerAnglesHint.y | |||
value: 0 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018844, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_LocalEulerAnglesHint.z | |||
value: 0 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018846, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: m_SlopeLimit | |||
value: 90 | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018847, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: body | |||
value: | |||
objectReference: {fileID: 0} | |||
- target: {fileID: 2725293205319018847, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
propertyPath: testChild | |||
value: | |||
objectReference: {fileID: 0} | |||
m_RemovedComponents: [] | |||
m_SourcePrefab: {fileID: 100100000, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
--- !u!1 &33932531309654967 stripped | |||
GameObject: | |||
m_CorrespondingSourceObject: {fileID: 2725293205319018834, guid: 47d3f018734864140ba302f6972ba575, type: 3} | |||
m_PrefabInstance: {fileID: 2714160732044909285} | |||
m_PrefabAsset: {fileID: 0} |
@ -0,0 +1,7 @@ | |||
fileFormatVersion: 2 | |||
guid: c3cc089e72190e74aab4c6592121b553 | |||
PrefabImporter: | |||
externalObjects: {} | |||
userData: | |||
assetBundleName: | |||
assetBundleVariant: |
size 9731 |
size 411 |