private void OnTriggerEnter(Collider other) { InteractItem_Base item = other.GetComponentInParent <InteractItem_Base>(); if (item) { ItemsInSight.Add(item); if (NewItemEnterEvent != null) { NewItemEnterEvent(item); } } else { Character_Base ch = other.GetComponent <Character_Base>(); if (ch && ch.CState.isAlive) { CharactersInSight.Add(ch); if (NewCharacterEnterEvent != null) { NewCharacterEnterEvent(ch); } } } }
private void OnEndInteract(Character_Base character, bool success) { CharacterState_Base CState = character.GetComponent <CharacterState_Base>(); if (success) { foreach (ChangeStateValueInfo info in SuccessChangeValues) { switch (info.valueType) { case StateValueType.Stamina: CState.AIStamina += info.amount; break; } } } else { foreach (ChangeStateValueInfo info in FailChangeValues) { switch (info.valueType) { case StateValueType.Stamina: CState.AIStamina += info.amount; break; } } } }
public override void ActionUpdate(AI_Base brain, Character_Base character) { base.ActionUpdate(brain, character); ResetPathTimer += Time.deltaTime; if (ResetPathTimer >= ResetTimerDuration) { ResetPathTimer = 0; agent.CalculatePath(TargetPosition, path); } foreach (Vector3 p in path.corners) { Debug.DrawLine(p, p + Vector3.up * 5, Color.red, 0.2f); } if (path.corners.Length >= 2) { character.Move(path.corners[1] - character.transform.position); if (Vector3.Distance(character.transform.position, path.corners[1]) <= 0.1f) { agent.CalculatePath(TargetPosition, path); } } else { ActionFinish(); } if (Vector3.Distance(character.transform.position, TargetPosition) <= Distance) { ActionFinish(); } }
private void Awake() { characterBase = GetComponent <Character_Base>(); selectionCircleGameObject = transform.Find("SelectionCircle").gameObject; HideSelectionCircle(); state = State.Idle; }
//--------------------- // 銃以外と衝突したら //--------------------- private void OnTriggerEnter(Collider col) { if (col.gameObject.name.Contains("Parts_Gun")) { return; } if (col.gameObject.tag == "Enemy" || col.gameObject.tag == "Player") { Character_Base tmp = col.gameObject.GetComponent <Character_Base>(); if (tmp) { // ダメージを与える tmp.HP_Sub(Get_Damage()); } } if (col.gameObject.tag == "Destruction_Object") { Destruction_Object tmp = col.gameObject.GetComponent <Destruction_Object>(); // Playerが触れた時のみダメージを与える tmp.Life_Sub(Get_Damage(), transform.root.tag); } if (gameObject.layer != col.gameObject.layer) { // 消滅 Destroy(gameObject); } }
public virtual void MissionStart(AI_Base brain, Character_Base character) { ownerBrain = brain; ownerCharacter = character; SetUpActions(); ActionStart(); }
public override void Dodge() { if (onGround) { TurnBody(); bool hasTarget = false; RaycastHit2D[] hits = Physics2D.RaycastAll(transform.position + Vector3.up * 0.5f, GetForward(), 4f); foreach (RaycastHit2D hit in hits) { Character_Base c = hit.collider.GetComponent <Character_Base>(); if (c && c.isStabing && !c.isDead && c.camp != camp) { hasTarget = true; break; } } if (hasTarget) { StartAction(CounterStabPrefab); } else { StartAction(dodgeActionPrefab); } } }
// Start is called before the first frame update void Start() { rb2d = GetComponent <Rigidbody2D>(); bC2d = GetComponent <BoxCollider2D>(); cB = GetComponent <Character_Base>(); SaveFrezze(); }
private void Awake() { enemyList.Add(this); characterBase = gameObject.GetComponent <Character_Base>(); healthSystem = new HealthSystem(100); SetStateNormal(); }
public override void ActionStart(AI_Mission_Base mission, AI_Base brain, Character_Base character) { base.ActionStart(mission, brain, character); agent = character.GetComponent<NavMeshAgent>(); agent.CalculatePath(TargetPosition, path); }
private void OnTriggerExit(Collider other) { InteractItem_Base item = other.GetComponentInParent <InteractItem_Base>(); if (item) { ItemsInSight.Remove(item); if (ItemExitEvent != null) { ItemExitEvent(item); } } else { Character_Base ch = other.GetComponent <Character_Base>(); if (ch) { CharactersInSight.Remove(ch); if (CharacterExitEvent != null) { CharacterExitEvent(ch); } } } }
private void Awake() { instance = this; playerMain = GetComponent <PlayerMain>(); characterBase = gameObject.GetComponent <Character_Base>(); material = transform.Find("Body").GetComponent <MeshRenderer>().material; materialTintColor = new Color(1, 0, 0, 0); }
private void Awake() { instance = this; playerBase = gameObject.GetComponent <Character_Base>(); rigidbody2d = transform.GetComponent <Rigidbody2D>(); boxCollider2d = transform.GetComponent <BoxCollider2D>(); isDead = false; }
public void ReleaseSlot(Character_Base character) { if (SlotUser == character) { SlotState = true; SlotUser = null; } }
public void OccupySlot(Character_Base character) { if (CanInteract()) { SlotState = false; SlotUser = character; } }
public override void MissionAbort(AI_Base brain, Character_Base character, AI_Mission_Base newMission) { base.MissionAbort(brain, character, newMission); if (TargetItem) { TargetItem.ReleaseSlot(ownerCharacter); } }
private void Awake() { characterBase = GetComponent <Character_Base>(); selectedGameObject = transform.Find("Selected").gameObject; movePosition = GetComponent <IMovePosition>(); SetSelectedVisible(false); state = State.Normal; }
public virtual void OnCreated(Character_Base owner, Weapon_Shooter weapon) { Owner = owner; Weapon = weapon; Damage = weapon.GetDamage(); LifeTime = weapon.Range / Speed; LifeSpan = LifeTime; }
private void Awake() { instance = this; playerBase = gameObject.GetComponent <Character_Base>(); playerRigidbody2D = gameObject.GetComponent <Rigidbody2D>(); SetStateNormal(); health = 4; }
public void Check(Character_Base character) { if (Item.CanInteract()) { Item.OccupySlot(character); ActionFinish(); } }
public override void ActionUpdate(AI_Base brain, Character_Base character) { base.ActionUpdate(brain, character); if (character.canAttack()) { character.AttackCommand(TargetTransform.position - Character.transform.position); ActionFinish(); } }
public override void OnActionStart(Character_Base character) { base.OnActionStart(character); Caster.isDefending = true; if (parryDuration > 0) { Caster.isParrying = true; } }
public virtual bool InteractStart(Character_Base character) { if (InteractStartEvent != null) { InteractStartEvent(character); } return(true); }
private void Start() { SaveFrezze(); rb2d = GetComponent <Rigidbody2D>(); cB = GetComponent <Character_Base>(); cB.Flip += Flip; Invoke("moveArms", 0.05f); }
public override void ActionStart(AI_Mission_Base mission, AI_Base brain, Character_Base character) { base.ActionStart(mission, brain, character); if (character.canAttack()) { character.AttackCommand(TargetTransform.position - Character.transform.position); ActionFinish(); } }
private void OnTriggerEnter2D(Collider2D collision) { Character_Base character = collision.GetComponent <Character_Base>(); if (character) { character.isInBush = true; } }
public virtual void StartBehaviour(Character_Base character) { if (AnimationName.Length != 0) { character.PlayAnimation(AnimationName); } Character = character; }
public override void ActionUpdate(AI_Base brain, Character_Base character) { base.ActionUpdate(brain, character); character.Move(TargetPosition - character.transform.position); if (Vector3.Distance(character.transform.position, TargetPosition) <= Distance) { ActionFinish(); } }
public virtual void OnActionStart(Character_Base character) { Caster = character; direction = character.InputDirectionRight ? 1 : -1; if (isStab || isBottomAttack) { PlayerInput.instance.GetComponent <Character_Player>().ShowDangerSign(); } Caster.isStabing = isStab; }
private void Awake() { enemyMain = GetComponent <EnemyMain>(); characterBase = GetComponent <Character_Base>(); aimTransform = transform.Find("Aim"); SetStateNormal(); HideAim(); }
void Awake() { body = GetComponentInParent<Rigidbody2D>(); charStats = GetComponentInParent<Character_Base>(); anim = GetComponent<Animator>(); }