private void SetAnimationState(NetworkCharacterSyncer syncer) { if (syncer.type == NetworkCharacterSyncerType.player) { syncer.worldState.AnimationState = new AnimationState(); syncer.worldState.AnimationState.State = GetPlayerAnimationState(syncer); } else { var controller = syncer.GetComponent <MonsterAnimationController>(); if (syncer.worldState.AnimationState == null) { syncer.worldState.AnimationState = new AnimationState(); } if (controller.attacking) { syncer.worldState.AnimationState.State = "attacking"; } else if (controller.moving) { syncer.worldState.AnimationState.State = "moving"; } else { syncer.worldState.AnimationState.State = "idle"; } } }
private void SetVisibility(NetworkCharacterSyncer syncer) { //if (syncer.type == NetworkCharacterSyncerType.player) syncer.worldState.IsVisible = true; //else if (Hider.instance.IsSeen(syncer.GetComponent<Hideable>())) syncer.worldState.IsVisible = true; //else syncer.worldState.IsVisible = false; syncer.worldState.IsVisible = true; // temp for now until I add a way to cull things hidden by walls }
private void SetHealthAndStatus(NetworkCharacterSyncer syncer) { syncer.worldState.HealthAndStatus = new HealthAndStatus(); if (syncer.type == NetworkCharacterSyncerType.player) { syncer.worldState.HealthAndStatus.Level = syncer.GetComponent <ExperienceGainer>().level; } else { syncer.worldState.HealthAndStatus.Level = syncer.GetComponent <MonsterScaler>().level; } syncer.worldState.HealthAndStatus.Hp = (int)syncer.GetComponent <Health>().hp; syncer.worldState.HealthAndStatus.MaxHp = (int)syncer.GetComponent <Health>().maxHP; }
private string GetPlayerAnimationState(NetworkCharacterSyncer syncer) { if (syncer.GetComponent <Health>().hp <= 0) { return("dead"); } else if (syncer.GetComponent <InputController>().moving) { return("moving"); } else { return("idle"); } }
private void SetModelData(NetworkCharacterSyncer syncer) { if (syncer.type == NetworkCharacterSyncerType.player) { syncer.worldState.ModelData = new ModelData(); syncer.worldState.ModelData.PlayerAppearance = new PlayerAppearanceData(); syncer.worldState.ModelData.PlayerAppearance.FurType = syncer.GetComponent <PlayerSyncer>().furType; } else { syncer.worldState.ModelData = new ModelData(); syncer.worldState.ModelData.MonsterPrefab = new MonsterPrefabData(); syncer.worldState.ModelData.MonsterPrefab.PrefabName = syncer.gameObject.name.Replace(" (Clone)", ""); } }