void Refill() { refillTrigger = false; kobotoRefillTarget = null; animator.Play("Replenish"); SetCanPickup(true); }
void OnKobotoJetpackEvent(Koboto koboto) { if (koboto == targetKoboto) { UpdateCount(); } }
public override void OnAttachToKoboto(Koboto koboto) { base.OnAttachToKoboto(koboto); this.koboto = koboto; animator = GetComponent <Animator>(); burnSound = GetComponent <AudioSource>(); }
public override void OnAttachToKoboto(Koboto koboto) { base.OnAttachToKoboto(koboto); motorControl = new PDController(motorP, motorD); bladeTransform.rotation = Quaternion.identity; resetMotor = true; dustVFX.SetActive(false); }
void Open(Koboto k) { Debug.Log("Open"); pack.SetActive(false); chute.SetActive(true); open = true; k.SetCenterOfMassOffset(Vector3.up * 3f); }
void Close(Koboto k) { Debug.Log("Close"); pack.SetActive(true); chute.SetActive(false); open = false; k.ResetCenterOfMass(); }
public override void KobotoEnteredState(Koboto koboto, KobotoState state) { base.KobotoEnteredState(koboto, state); if (state != KobotoState.Alive) { dustVFX.SetActive(false); overGround = false; } }
public override void UpdateKoboto(Koboto koboto, KobotoSensor sensors) { float rollVol = 0f; if (sensors.onGround) { rollVol = Mathf.Clamp01(sensors.velocity.magnitude / 10f); } koboto.soundPlayer.PlayRoll(rollVol); }
public override void OnAttachToKoboto(Koboto koboto) { base.OnAttachToKoboto(koboto); hammerBody = GetComponent <Rigidbody>(); hammerJoint = GetComponent <ConfigurableJoint>(); hammerJoint.connectedBody = koboto.GetComponent <Rigidbody>(); hammerJoint.connectedAnchor = koboto.transform.InverseTransformPoint(transform.position); breakTimer = 0f; }
protected override void OnKobotoEnter(Koboto koboto) { Debug.Log("Koboto enter"); if (onceOnly) { if (onceOnlyTriggered) { return; } onceOnlyTriggered = true; } lineAttach.Freeze(false); }
protected override void OnKobotoEnter(Koboto koboto) { base.OnKobotoEnter(koboto); if (killer == null) { killer = transform; } koboto.Kill(deathType, killer); if (parentToKiller) { koboto.ParentToTransform(killer); } }
protected override void OnKobotoEnter(Koboto koboto) { if (isOccupied) { return; } if (koboto.currentState == KobotoState.Alive || koboto.currentState == KobotoState.Asleep) { koboto.Rescue(this); koboto.ParentToTransform(rescuedKobotoParent); animator.SetTrigger("Rescue"); } }
public override void UpdateKoboto(Koboto koboto, KobotoSensor sensors) { float rollVol = 0f; if (sensors.onGround) { rollVol = Mathf.Clamp01(sensors.velocity.magnitude / 10f); } koboto.soundPlayer.PlayRoll(rollVol); foreach (var spoke in spokeTransforms) { Debug.Log("Rotating wheel: " + wheelSpeed); spoke.Rotate(Vector3.right, wheelSpeed * Time.fixedDeltaTime); } }
void OnTriggerExit(Collider other) { Debug.Log("Trigger exit"); if (!isActive) { return; } Koboto koboto = other.gameObject.GetComponent <Koboto>(); if (koboto != null) { OnKobotoExit(koboto); } else { OnObjectExit(other); } }
public void SpawnKobotos() { kobotos = new List <Koboto>(); kobotoParent = new GameObject("KobotoParent").transform; foreach (KobotoSpawnInfo spawnInfo in kobotoSpawnInfo) { Koboto koboto = KobotoFactory.SpawnKoboto(spawnInfo.kobotoType, spawnInfo.spawnPoint.position, kobotoParent); koboto.SetLevelBounds(levelBounds); koboto.SetLevelZones(levelZones); kobotos.Add(koboto); koboto.SetState(KobotoState.Alive); if (availableAttachments.Contains(EAttachmentType.Jetpack)) { koboto.AddAttachment(EAttachmentType.Jetpack); } } SelectKoboto(kobotos[0]); }
public override void UpdateKoboto(Koboto koboto, KobotoSensor sensor) { base.UpdateKoboto(koboto, sensor); bool shouldOpen = false; bool shouldClose = false; shouldClose |= sensor.onGround; shouldClose |= sensor.onCeiling; shouldClose |= sensor.velocity.y > 0f; shouldOpen = !shouldClose && sensor.velocity.y < downSpeedForOpen; // Debug.Log("speed " + sensor.velocity.y + " should open " + shouldOpen + " should close " + shouldClose); if (!open && shouldOpen) { Open(koboto); } else if (open && shouldClose) { Close(koboto); } }
protected override void OnKobotoEnter(Koboto koboto) { base.OnKobotoEnter(koboto); if (!canPickup) { return; } var jetpack = koboto.GetAttachment <AttachmentJetpack>(EAttachmentType.Jetpack); if (jetpack != null) { kobotoRefillTarget = koboto; jetpack.PickupFuel(); animator.Play("Collect"); SetCanPickup(false); if (replenish || replenishIfEmpty) { DoActionAfterUnpausedTime(() => Replenish(), replenishTime); } } }
void OnKobotoSelect(Koboto koboto) { targetKoboto = koboto; UpdateCount(); }
public override void OnAttachToKoboto(Koboto koboto) { base.OnAttachToKoboto(koboto); lineRenderer = GetComponent <LineRenderer>(); }
void OnKobotoSelected(Koboto koboto) { targetK = koboto; target = koboto.transform; posStack.SetAll(target.position); }
public override void OnRemoveFromKoboto(Koboto koboto) { base.OnRemoveFromKoboto(koboto); koboto.ResetCenterOfMass(); }
public override void OnAttachToKoboto(Koboto koboto) { base.OnAttachToKoboto(koboto); dragControl = new PDController(dragP, dragD); chute.SetActive(false); }
protected virtual void OnKobotoEnter(Koboto koboto) { }
protected virtual void OnKobotoExit(Koboto koboto) { }
public override void OnAttachToKoboto(Koboto koboto) { base.OnAttachToKoboto(koboto); firstBounce = true; }
protected override void OnKobotoExit(Koboto koboto) { lineAttach.Freeze(true); }
void SelectKoboto(Koboto koboto) { selectedKoboto = koboto; Koboto.Events.Trigger(KEventEnum.Selected, koboto); }
public virtual void KobotoEnteredState(Koboto koboto, KobotoState state) { }
protected override void OnKobotoEnter(Koboto koboto) { base.OnKobotoEnter(koboto); SetCollected(true); }
public virtual void UpdateKoboto(Koboto koboto, KobotoSensor sensor) { }