Example #1
0
    //====================================================================================================
    // Used as an initializer later when we want different types of talisman
    //====================================================================================================
    public void Create(Charms.TalismanType type, bool top, float topY, float bottomY)
    {
        this.atTheTop = top;
        this.TALISMAN_TOP_Y = topY;
        this.TALISMAN_BOTTOM_Y = bottomY;
        this.SPEED = 0.4f;

        TALISMAN_TYPE = type;

        GameObject taliModel = this.gameObject.transform.GetChild(0).gameObject;
        taliModel.transform.localPosition = new Vector3(1f, -1f, 0);

        switch (type) {
            case Charms.TalismanType.BLUE:
                taliModel.renderer.material = BLUE;
                break;
            case Charms.TalismanType.RED:
                taliModel.renderer.material = RED;
                break;
            case Charms.TalismanType.DIAMOND:
                taliModel.renderer.material= DIAMOND;
                break;
            case Charms.TalismanType.GREEN:
                taliModel.renderer.material = GREEN;
                break;
            case Charms.TalismanType.GOLD:
                taliModel.renderer.material = GOLD;
                break;
            default:
                taliModel.renderer.material = GOLD;
                break;
        };
    }
Example #2
0
        public void GainCharm(Charm charm)
        {
            int index = Charms.FindIndex((c) => (charm.ToString() == c.ToString()));

            if (index == -1)   // If player does not yet have the charm
            {
                this.Charms.Add(charm);
            }
            else     // Charm exists
            {
                this.Charms[index].AmountOwned += charm.AmountOwned;
            }
        }
Example #3
0
        internal SResetCharmStatus(TeraMessageReader reader) : base(reader)
        {
            var count  = reader.ReadUInt16();
            var offset = reader.ReadUInt16();

            TargetId = reader.ReadEntityId();
            for (var i = 1; i <= count; i++)
            {
                reader.Skip(2); // offset pointer
                reader.Skip(2); // next member offset
                var charmId  = reader.ReadUInt32();
                var duration = reader.ReadUInt32();
                var status   = reader.ReadByte();
                Charms.Add(new CharmStatus {
                    Status = status, CharmId = charmId, Duration = duration
                });
            }
            ;
            //Debug.WriteLine($"target:{BitConverter.ToString(BitConverter.GetBytes(TargetId.Id))}, Charms:");
            //foreach (CharmStatus charm in Charms)
            //{
            //    Debug.WriteLine($"charmid:{charm.CharmId} duration: {charm.Duration} Status: {charm.Status}");
            //}
        }
Example #4
0
 public void SetType(Charms.TalismanType t)
 {
     TALISMAN_TYPE = t;
 }