Exemplo n.º 1
0
        public void DisplayText(HitDisplayData data)
        {
            var parent  = GameObject.FindGameObjectWithTag("WorldSpaceCanvas");
            var display = new GameObject();

            display.transform.position = (data.Target.transform.position);
            var text     = display.AddComponent <Text>();
            var position = data.Target.transform.position;

            position.y    += data.YOffset;
            text.alignment = TextAnchor.MiddleCenter;
            text.color     = data.Color;
            text.fontSize  = 16;
            text.rectTransform.SetParent(parent.transform);
            text.rectTransform.position   = position;
            text.rectTransform.sizeDelta  = new Vector2(200f, 200f);
            text.rectTransform.localScale = new Vector3(0.0075f, 0.0075f);
            text.name = "Hit Text";
            text.text = data.Text;
            Font fontToUse = Resources.Load("Fonts/8bitOperatorPlus8-Bold") as Font;

            text.font = fontToUse;
            var script = display.AddComponent <SDestroyByLifetime>();

            script.AddCallback(data.CallbackHandler);
            script.Init(display, data.Dur);
            var floating = display.AddComponent <SFloatingText>();

            floating.Init(display, 0.0015f, data.Delay);
        }
Exemplo n.º 2
0
        public void DisplayText(string text, CChar tgt, Color color)
        {
            var data = new HitDisplayData();

            data.Color   = color;
            data.Hit     = null;
            data.Target  = tgt.GameHandle;
            data.Text    = text;
            data.YOffset = CombatGUIParams.FLOAT_OFFSET;
            data.Display();
        }
Exemplo n.º 3
0
        public void DisplayActionEventName(MAction a)
        {
            var data = new HitDisplayData();

            data.Color   = CombatGUIParams.WHITE;
            data.Hit     = null;
            data.Target  = a.Data.Source.GameHandle;
            data.Text    = a.ActiveAbility.Type.ToString().Replace("_", " ");
            data.YOffset = CombatGUIParams.FLOAT_OFFSET;
            data.Display();
        }
Exemplo n.º 4
0
        public void DisplayBark(string bark, GameObject o)
        {
            var data = new HitDisplayData();

            data.Color    = CombatGUIParams.WHITE;
            data.Delay    = ViewParams.BARK_DELAY;
            data.Dur      = ViewParams.BARK_DUR;
            data.Priority = ViewParams.DMG_PRIORITY;
            data.Target   = o;
            data.Text     = bark;
            data.YOffset  = CombatGUIParams.FLOAT_OFFSET;
            data.Display();
        }
Exemplo n.º 5
0
 private void Process()
 {
     if (this._data.Hit.Data.Dmg < this._data.Target.Proxy.GetPoints(ESecondaryStat.HP))
     {
         var proxy = this._data.Target.Proxy;
         proxy.AddInjury(this._data.Injury);
         var data = new HitDisplayData();
         data.Color    = CombatGUIParams.RED;
         data.Hit      = this._data.Hit;
         data.Priority = ViewParams.INJURY_PRIORITY;
         data.Target   = this._data.Target.GameHandle;
         data.Text     = this._data.Injury.Type.ToString().Replace("_", " ");
         data.YOffset  = CombatGUIParams.FLOAT_OFFSET;
         data.Hit.AddDataDisplay(data);
     }
 }
Exemplo n.º 6
0
        public void DisplayBarrierCreation(CChar target, MHit hit, MBarrier barrier)
        {
            var dmgData = new HitDisplayData();

            dmgData.Color    = CombatGUIParams.BLUE;
            dmgData.Hit      = hit;
            dmgData.Priority = ViewParams.BARRIER_PRIORITY;
            dmgData.Text     = barrier.MaxHP.ToString();
            dmgData.Target   = target.GameHandle;
            dmgData.YOffset  = CombatGUIParams.FLOAT_OFFSET;
            dmgData.Hit.AddDataDisplay(dmgData);
            this.DisplayBarrier(target, hit);
            var controller = new ParticleController();
            var util       = new DecoUtil();
            var particles  = controller.CreateParticle(BARRIER_PARTICLE_PATH);

            util.AttachEffectParticlesToChar(target, particles, EEffect.Barrier);
        }
Exemplo n.º 7
0
        private void DisplayDodge(CChar target, MHit hit)
        {
            var dodge    = target.GameHandle.AddComponent <SBoomerang>();
            var dodgeTgt = ListUtil <CTile> .GetRandomElement(target.Tile.GetAdjacent());

            var position = Vector3.Lerp(target.GameHandle.transform.position, dodgeTgt.Model.Center, CombatGUIParams.DODGE_LERP);

            position = RandomPositionOffset.RandomOffset(position, CombatGUIParams.DEFAULT_OFFSET);
            dodge.AddCallback(hit.CallbackHandler);
            dodge.Init(target.GameHandle, position, CombatGUIParams.DODGE_SPEED);
            var data = new HitDisplayData();

            data.Color    = CombatGUIParams.WHITE;
            data.Hit      = hit;
            data.Priority = ViewParams.DODGE_PRIORITY;
            data.Text     = "Dodge";
            data.Target   = target.GameHandle;
            data.YOffset  = CombatGUIParams.FLOAT_OFFSET;
            data.Hit.AddDataDisplay(data);
        }
Exemplo n.º 8
0
        private void DisplayParry(CChar target, MHit hit)
        {
            var data = new HitDisplayData();

            data.Color    = CombatGUIParams.WHITE;
            data.Hit      = hit;
            data.Priority = ViewParams.PARRY_PRIORITY;
            data.Target   = target.GameHandle;
            data.Text     = "Parry";
            data.YOffset  = CombatGUIParams.FLOAT_OFFSET;
            data.Hit.AddDataDisplay(data);

            if (target.Proxy.GetRWeapon() != null && !target.Proxy.GetRWeapon().IsTypeOfShield())
            {
                var wpn = target.SubComponents[SortingLayers.CHAR_R_WEAPON];
                this.DisplayParryAndBlockHelper(target, hit, wpn);
            }
            else if (target.Proxy.GetLWeapon() != null && !target.Proxy.GetLWeapon().IsTypeOfShield())
            {
                var wpn = target.SubComponents[SortingLayers.CHAR_L_WEAPON];
                this.DisplayParryAndBlockHelper(target, hit, wpn);
            }
        }
Exemplo n.º 9
0
        private void DisplayDamage(CChar target, MHit hit)
        {
            var dmgData = new HitDisplayData();

            dmgData.Color    = CombatGUIParams.RED;
            dmgData.Hit      = hit;
            dmgData.Priority = ViewParams.DMG_PRIORITY;
            dmgData.Text     = hit.Data.Dmg.ToString();
            dmgData.Target   = target.GameHandle;
            dmgData.YOffset  = CombatGUIParams.FLOAT_OFFSET;
            dmgData.Hit.AddDataDisplay(dmgData);
            if (FHit.HasFlag(hit.Data.Flags.CurFlags, FHit.Flags.Critical))
            {
                var critData = new HitDisplayData();
                critData.Color    = CombatGUIParams.RED;
                critData.Hit      = hit;
                critData.Priority = ViewParams.CRIT_PRIORITY;
                critData.Text     = "CRIT!";
                critData.Target   = target.GameHandle;
                critData.YOffset  = CombatGUIParams.FLOAT_OFFSET;
                critData.Hit.AddDataDisplay(critData);
            }
        }