using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Invector
{
using IK;
using vShooter;
namespace PlayerController
{
public interface vILockCamera
{
bool LockCamera { get; set; }
}
}
///
/// Event used to the IK Update.
///
public delegate void IKUpdateEvent();
public partial interface vIShooterIKController
{
GameObject gameObject { get; }
///
/// IK Solver used to the Left Arm
///
vIKSolver LeftIK { get; }
///
/// IK Solver used to the Right Arm
///
vIKSolver RightIK { get; }
///
/// List with all adjusts
///
vWeaponIKAdjustList WeaponIKAdjustList { get; set; }
///
/// Current IK with adjusts for current weapon
///
vWeaponIKAdjust CurrentWeaponIK { get; }
///
/// Current adjust based on
///
IKAdjust CurrentIKAdjust { get; }
///
/// Update for Weapon Category
///
void UpdateWeaponIK();
///
/// Set Lock aiming state
///
bool LockAiming { get; set; }
///
/// Set Lock Hipfire aiming state
///
bool LockHipFireAiming { get; set; }
///
/// Current active weapon
///
vShooterWeapon CurrentActiveWeapon { get; }
///
/// Used to Edit Global IK Offsets in Editor
///
bool EditingIKGlobalOffset {get;set;}
///
/// Check if Controller is Aiming
///
bool IsAiming { get; }
///
/// Check if Controller is Crouching
///
bool IsCrouching { get; set; }
///
/// Check if a Left weapon
///
bool IsLeftWeapon { get; }
///
/// Aim Position
///
Vector3 AimPosition { get;}
///
/// Current IK adjust state
///
string CurrentIKAdjustState { get;}
///
/// Current IK adjust state including weapon Category separeted by @ "Category@State"
///
string CurrentIKAdjustStateWithTag { get; }
///
/// Check if Is using a custom ik adjust
///
bool IsUsingCustomIKAdjust{ get; }
///
/// Check if can use IK
///
bool IsIgnoreIK { get; }
///
/// Check if Support hand ik is enabled
///
bool IsSupportHandIKEnabled { get; }
///
/// Current custom IK adjust State
///
string CustomIKAdjustState { get; }
///
/// Set a custom IK state
///
/// IK state name
void SetCustomIKAdjustState(string value);
///
/// Reset custom IK to use Default ik state
///
void ResetCustomIKAdjustState();
///
/// Event called when IK is Started
///
event IKUpdateEvent onStartUpdateIK;
///
/// Event called when IK Update is Finished
///
event IKUpdateEvent onFinishUpdateIK;
}
}