public bool Equals(DestinyTalentNodeStepGroups input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     WeaponPerformance == input.WeaponPerformance ||
                     (WeaponPerformance != null && WeaponPerformance.Equals(input.WeaponPerformance))
                     ) &&
                 (
                     ImpactEffects == input.ImpactEffects ||
                     (ImpactEffects != null && ImpactEffects.Equals(input.ImpactEffects))
                 ) &&
                 (
                     GuardianAttributes == input.GuardianAttributes ||
                     (GuardianAttributes != null && GuardianAttributes.Equals(input.GuardianAttributes))
                 ) &&
                 (
                     LightAbilities == input.LightAbilities ||
                     (LightAbilities != null && LightAbilities.Equals(input.LightAbilities))
                 ) &&
                 (
                     DamageTypes == input.DamageTypes ||
                     (DamageTypes != null && DamageTypes.Equals(input.DamageTypes))
                 ));
        }
示例#2
0
        // #NOTE place new DatabaseObjectKind code here

        void InitializeDatabaseInterfaces()
        {
            DamageTypes.SetupDatabaseInterface();
            ImpactEffects.SetupDatabaseInterface();
            WeaponTypes.SetupDatabaseInterface();
            UserClasses.SetupDatabaseInterface();
            Abilities.SetupDatabaseInterface();
            Objects.SetupDatabaseInterface();
            Squads.SetupDatabaseInterface();
            Tactics.SetupDatabaseInterface();
            Techs.SetupDatabaseInterface();
            TerrainTileTypes.SetupDatabaseInterface();
            Powers.SetupDatabaseInterface();
            Civs.SetupDatabaseInterface();
            Leaders.SetupDatabaseInterface();
        }
示例#3
0
        public void Save(SerializableAmmunition serializable)
        {
            serializable.Body = new SerializableAmmunition.BulletBody
            {
                Type          = Body.Type,
                Size          = Body.Size.Value,
                Velocity      = Body.Velocity.Value,
                Range         = Body.Range.Value,
                Lifetime      = Body.Lifetime.Value,
                Weight        = Body.Weight.Value,
                HitPoints     = Body.HitPoints.Value,
                Color         = Helpers.ColorToString(Body.Color),
                BulletPrefab  = Body.BulletPrefab.Id,
                EnergyCost    = Body.EnergyCost.Value,
                CanBeDisarmed = Body.CanBeDisarmed,
                FriendlyFire  = Body.FriendlyFire,
            };

            serializable.Triggers = Triggers?.Select(item => new SerializableAmmunition.BulletTrigger
            {
                Condition       = item.Condition,
                EffectType      = item.EffectType,
                VisualEffect    = item.VisualEffect.Id,
                Ammunition      = item.Ammunition.Id,
                AudioClip       = item.AudioClip,
                Quantity        = item.Quantity.Value,
                Color           = Helpers.ColorToString(item.Color),
                ColorMode       = item.ColorMode,
                Size            = item.Size.Value,
                Lifetime        = item.Lifetime.Value,
                Cooldown        = item.Cooldown.Value,
                RandomFactor    = item.RandomFactor.Value,
                PowerMultiplier = item.PowerMultiplier.Value,
                MaxNestingLevel = item.MaxNestingLevel.Value,
            }).ToArray();

            serializable.ImpactType = ImpactType;

            serializable.Effects = ImpactEffects?.Select(item => new SerializableAmmunition.ImpactEffect
            {
                Type       = item.Type,
                DamageType = item.DamageType,
                Power      = item.Power.Value,
                Factor     = item.Factor.Value,
            }).ToArray();
        }
示例#4
0
        public string GetName(DatabaseObjectKind kind, int id)
        {
            Contract.Requires <ArgumentOutOfRangeException>(kind != DatabaseObjectKind.None);

            // #NOTE place new DatabaseObjectKind code here

            switch (kind)
            {
            case DatabaseObjectKind.Ability:        return(Abilities.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.Civ:            return(Civs.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.DamageType:     return(DamageTypes.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.ImpactEffect: return(ImpactEffects.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.Leader:         return(Leaders.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.Object:         return(Objects.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.ObjectType:     return(ObjectTypes.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.Power:          return(Powers.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.Squad:          return(Squads.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.Tactic:         return(Tactics.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.Tech:           return(Techs.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.TerrainTileType: return(TerrainTileTypes.TryGetNameWithUndefined(id));

            // TODO: Should just use the Objects DBI AFAICT
            case DatabaseObjectKind.Unit:           return(TryGetNameUnit(id));

            case DatabaseObjectKind.UserClass:      return(UserClasses.TryGetNameWithUndefined(id));

            case DatabaseObjectKind.WeaponType:     return(WeaponTypes.TryGetNameWithUndefined(id));

            default: throw new KSoft.Debug.UnreachableException(kind.ToString());
            }
        }