private void MakeBloodBar() { GameObject bloodPoint = new GameObject("Blood Point"); bloodPoint.transform.parent = myTransform; bloodPoint.transform.position = new Vector3(myTransform.position.x, myTransform.position.y + BodyHeight * bloodBarOffsetRatio, myTransform.position.z); GameObject goPref = Resources.Load("MonsterBlood") as GameObject; blood = Instantiate(goPref, bloodPoint.transform.position, Quaternion.identity) as GameObject; blood.name = CharacterName + "_Blood bar"; blood.transform.parent = GameObject.Find("UI Root").transform; blood.transform.localScale = Vector3.one * 1.5f; blood.layer = 5; UIFollowTarget followScript = blood.GetComponent <UIFollowTarget>(); followScript.gameCamera = Camera.main; followScript.uiCamera = GameObject.Find("UICamera").GetComponent <Camera>(); followScript.target = bloodPoint.transform; blood.transform.Find("Name").GetComponentInChildren <UILabel>().text = CharacterName; bloodSlider = blood.transform.Find("HealthBar").GetComponentInChildren <UISlider>(); bloodSlider.transform.Find("Foreground").GetComponent <UISprite>().color = NPCType == NPCType.Friend? Color.green: (NPCType == NPCType.Enemy?Color.red:Color.white); bloodText = blood.transform.Find("HealthBar").GetComponentInChildren <UILabel>(); manaSlider = blood.transform.Find("ManaBar").GetComponentInChildren <UISlider>(); manaText = blood.transform.Find("ManaBar").GetComponentInChildren <UILabel>(); energySlider = blood.transform.Find("EnergyBar").GetComponentInChildren <UISlider>(); energyText = blood.transform.Find("EnergyBar").GetComponentInChildren <UILabel>(); levelLabel = blood.transform.Find("Level").GetComponent <UILabel>(); CastingBar = blood.transform.Find("CastingBar").GetComponent <CastingBar>(); CastingBar.gameObject.SetActive(false); buffList = blood.transform.Find("BuffList"); }
protected override void OnEventFired(object source, SpellCastingStateChangedEventArgs args) { if (Logger.IsInfoEnabled) { Logger.Info($"Player started casting Spell: {args.CastingSpellId}"); } //Spell casting stopped. Disable the bar. if (!args.isCasting) { CastingBar.SetElementActive(false); CastingBar.CastingBarFillable.FillAmount = 0; CastingState = new BarCastingState(false); } else { SpellDefinitionDataModel spellDefinition = SpellDataCollection.GetSpellDefinition(args.CastingSpellId); CastingState = new BarCastingState(true, spellDefinition, args.CastingStartTimeStamp); CastingBar.CastingBarSpellNameText.Text = spellDefinition.SpellName; CastingBar.SetElementActive(true); } }