public void UpdateToken() { BoltEntity component = base.GetComponent <BoltEntity>(); IBuildingDestructibleState buildingDestructibleState; if (component && component.isAttached && component.isOwner && component.TryFindState <IBuildingDestructibleState>(out buildingDestructibleState)) { buildingDestructibleState.Token = this.CustomToken; } }
// PRIVATE private IKartState GetKartState() { if (_kartState != null) { return(_kartState); } else { _kartEntity.TryFindState <IKartState>(out _kartState); return(_kartState); } }
private void OnTriggerEnter(Collider other) { if (this.IsEnemy(other)) { this.preventHole = true; this.CheckCanPlace(); return; } if (other.CompareTag("effigy") || other.GetComponent <FireWarmth>()) { return; } PrefabIdentifier componentInParent = other.GetComponentInParent <PrefabIdentifier>(); if (componentInParent) { BoltEntity component = componentInParent.GetComponent <BoltEntity>(); if (BoltNetwork.isRunning && component && component.isAttached) { IRaftState raftState; IMultiHolderState multiHolderState; if (component.TryFindState <IRaftState>(out raftState)) { foreach (BoltEntity exists in raftState.GrabbedBy) { if (exists) { return; } } } else if (component.TryFindState <IMultiHolderState>(out multiHolderState) && (multiHolderState.GrabbedBy || multiHolderState.Replaces)) { return; } } this.TryAddTarget(componentInParent, other); } }
private void TryAddToLists(Collider other) { if (other.gameObject != _ownerKartHitBox && !_kartsInRange.Contains(other.gameObject)) { IKartState victimKartState; BoltEntity victimEntity = other.GetComponentInParent <BoltEntity>(); if (victimEntity.TryFindState <IKartState>(out victimKartState)) { if (victimKartState.Team != (int)_ownership.Team) { _kartsInRange.Add(other.gameObject); _kartsInRangeTimer.Add(other.gameObject, 0f); } } } }
private void SendPlayerHitAndRemove(Collider other) { IKartState victimKartState; BoltEntity victimEntity = other.GetComponentInParent <BoltEntity>(); if (victimEntity.TryFindState <IKartState>(out victimKartState)) { PlayerHit playerHitEvent = PlayerHit.Create(); playerHitEvent.KillerID = _ownership.OwnerID; playerHitEvent.KillerName = _ownership.OwnerNickname; playerHitEvent.KillerTeam = (int)_ownership.Team; playerHitEvent.Item = _ownership.Label; playerHitEvent.VictimEntity = victimEntity; playerHitEvent.VictimID = victimKartState.OwnerID; playerHitEvent.VictimName = victimEntity.GetComponent <PlayerInfo>().Nickname; playerHitEvent.VictimTeam = (int)victimKartState.Team; playerHitEvent.Send(); } else { Debug.LogError("Could not find the victim's attached state."); } TryRemoveFromLists(other); }