Exemplo n.º 1
0
            protected void SetEquipped(EntityEquipableType type, EntityEquipable equipable)
            {
                if (equipable != null && equipable.Type != type)
                {
                    return;
                }

                switch (type)
                {
                case EntityEquipableType.Shell:
                    equippedShell = equipable;
                    break;

                case EntityEquipableType.Weapon:
                    equippedWeapon = equipable;
                    break;

                case EntityEquipableType.Aura:
                    equippedAura = equipable;
                    break;

                case EntityEquipableType.Reactor:
                    equippedReactor = equipable;
                    break;
                }
            }
Exemplo n.º 2
0
            public virtual void Unequip(EntityEquipableType type)
            {
                EntityEquipable oldEq = GetEquipped(type);

                if (oldEq != null)
                {
                    SetEquipped(type, null);
                    OnUnequip.Invoke(master, oldEq);
                }
            }
Exemplo n.º 3
0
        public EntityEquipable(string name, int itemLevel, EntityEquipableType type, StatsInfluenceData.StatsInfluence[] statsInfluences = null, EntityEquipableAbility equippedAbility = null, EntityEquipableVisual visual = null)
        {
            this.name      = name;
            this.itemLevel = itemLevel;
            this.type      = type;

            this.statsInfluences = statsInfluences;
            this.equippedAbility = equippedAbility;
            this.visual          = visual;
        }
Exemplo n.º 4
0
            private void BuildDefaultEquipment()
            {
                Array eqValues = Enum.GetValues(typeof(EntityEquipableType));

                for (int i = 1; i < eqValues.Length; i++)
                {
                    EntityEquipableType    eqType = (EntityEquipableType)i;
                    EntityEquipableBuilder builder;
                    if (builder = _data.GetDefaultEquipableBuilder(eqType))
                    {
                        int             eqLevel = (HasStats ? (Stats.HasMainLevel ? Stats.MainExperience.Level : 1) : 1);
                        EntityEquipable eq      = builder.BuildEquipable(eqLevel);
                        Equip(eq);
                    }
                }
            }
Exemplo n.º 5
0
            public bool GetHasEquipped(EntityEquipableType equipmentType)
            {
                switch (equipmentType)
                {
                case EntityEquipableType.Shell:
                    return(HasShellEquipped);

                case EntityEquipableType.Weapon:
                    return(HasWeaponEquipped);

                case EntityEquipableType.Aura:
                    return(HasAuraEquipped);

                case EntityEquipableType.Reactor:
                    return(HasReactorEquipped);
                }

                throw new System.Exception("No Equipable " + equipmentType + " found.");
            }
Exemplo n.º 6
0
        public EntityEquipableBuilder GetDefaultEquipableBuilder(EntityEquipableType equipmentType)
        {
            switch (equipmentType)
            {
            case EntityEquipableType.Shell:
                return(defaultShellBuilder);

            case EntityEquipableType.Weapon:
                return(defaultWeaponBuilder);

            case EntityEquipableType.Aura:
                return(defaultAuraBuilder);

            case EntityEquipableType.Reactor:
                return(defaultReactorBuilder);
            }

            throw new System.Exception("No Equipable " + equipmentType + " found.");
        }
Exemplo n.º 7
0
            public EntityEquipable GetEquipped(EntityEquipableType equipmentType)
            {
                switch (equipmentType)
                {
                case EntityEquipableType.Shell:
                    return(equippedShell);

                case EntityEquipableType.Weapon:
                    return(equippedWeapon);

                case EntityEquipableType.Aura:
                    return(equippedAura);

                case EntityEquipableType.Reactor:
                    return(equippedReactor);
                }

                throw new System.Exception("No Equipable " + equipmentType + " found.");
            }
Exemplo n.º 8
0
        public static EntityEquipable ReadEntityEquipable(this NetworkReader reader)
        {
            string name               = reader.ReadString();
            int    level              = reader.ReadInt32();
            EntityEquipableType type  = (EntityEquipableType)reader.ReadInt32();
            int statsInfluencesLength = reader.ReadInt32();

            StatsInfluenceData.StatsInfluence[] statsInfluences = new StatsInfluenceData.StatsInfluence[statsInfluencesLength];
            for (int i = 0; i < statsInfluencesLength; i++)
            {
                statsInfluences[i] = reader.ReadStatsInfluence();
            }

            bool hasEquippedAbility = reader.ReadBoolean();
            EntityEquipableAbility equipableAbility = null;

            if (hasEquippedAbility)
            {
                equipableAbility = reader.ReadEntityEquipableAbility();
            }

            bool hasVisual = reader.ReadBoolean();
            EntityEquipableVisual visual = null;

            if (hasVisual)
            {
                visual = reader.ReadEntityEquipableVisual();
            }

            return(new EntityEquipable(
                       name,
                       level,
                       type,
                       statsInfluences,
                       equipableAbility,
                       visual));
        }
Exemplo n.º 9
0
 public EntityEquipable(string name, int itemLevel, EntityEquipableType type, EntityEquipableVisual visual) : this(name, itemLevel, type, null, null, visual)
 {
 }
Exemplo n.º 10
0
 public EntityEquipable(string name, int itemLevel, EntityEquipableType type, EntityEquipableAbility equippedAbility) : this(name, itemLevel, type, null, equippedAbility, null)
 {
 }
Exemplo n.º 11
0
 public EntityEquipable(string name, int itemLevel, EntityEquipableType type, StatsInfluenceData.StatsInfluence[] statsInfluences) : this(name, itemLevel, type, statsInfluences, null, null)
 {
 }