コード例 #1
0
ファイル: ItemCreator.cs プロジェクト: ZFake/YAGE
        private ComponentSource GetComponentSource(Material material, Vector3 position)
        {
            var componentSource = new ComponentSource();
            var characters      = GnomanEmpire.Instance.EntityManager.Entities.Where(x => x.Value.TypeID() == (int)GameEntityType.Character).Select(x => x.Value).Cast <Character>();

            switch (material)
            {
            case Material.AlpacaHide:
            case Material.AlpacaBone:
            case Material.AlpacaFlesh:
            case Material.AlpacaSkull:
                var alpaca = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Alpaca.ToString());
                if (alpaca == null)
                {
                    componentSource.Character     = Defs.NeutralFaction.SpawnMember(position, Defs.AlpacaDef);
                    componentSource.ShouldDestroy = true;
                }
                else
                {
                    componentSource.Character = alpaca;
                }
                break;

            case Material.BearHide:
            case Material.BearBone:
            case Material.BearFlesh:
            case Material.BearSkull:
                var bear = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Bear.ToString());
                if (bear == null)
                {
                    componentSource.Character     = Defs.WildFaction.SpawnMember(position, Defs.BearDef);
                    componentSource.ShouldDestroy = true;
                }
                else
                {
                    componentSource.Character = bear;
                }
                break;

            case Material.EmuHide:
            case Material.EmuBone:
            case Material.EmuFlesh:
            case Material.EmuSkull:
            case Material.Egg:
                var emu = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Emu.ToString());
                if (emu == null)
                {
                    componentSource.Character     = Defs.NeutralFaction.SpawnMember(position, Defs.EmuDef);
                    componentSource.ShouldDestroy = true;
                }
                else
                {
                    componentSource.Character = emu;
                }

                break;

            case Material.HoneyBadgerHide:
            case Material.HoneyBadgerBone:
            case Material.HoneyBadgerFlesh:
            case Material.HoneyBadgerSkull:
                var badger = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.HoneyBadger.ToString());
                if (badger == null)
                {
                    componentSource.Character     = Defs.WildFaction.SpawnMember(position, Defs.HoneyBadgerDef);
                    componentSource.ShouldDestroy = true;
                }
                else
                {
                    componentSource.Character = badger;
                }
                break;

            case Material.MonitorLizardHide:
            case Material.MonitorLizardBone:
            case Material.MonitorLizardFlesh:
            case Material.MonitorLizardSkull:
                var lizard = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.MonitorLizard.ToString());
                if (lizard == null)
                {
                    componentSource.Character     = Defs.WildFaction.SpawnMember(position, Defs.MonitorLizardDef);
                    componentSource.ShouldDestroy = true;
                }
                else
                {
                    componentSource.Character = lizard;
                }
                break;

            case Material.OgreHide:
            case Material.OgreBone:
            case Material.OgreFlesh:
            case Material.OgreSkull:
                var ogre = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Ogre.ToString());
                if (ogre == null)
                {
                    componentSource.Character     = Defs.EnemyFaction.SpawnMember(position, Defs.OgreDef);
                    componentSource.ShouldDestroy = true;
                }
                else
                {
                    componentSource.Character = ogre;
                }
                break;

            case Material.ToughOgreHide:
                var toughogre = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.BlueOgre.ToString());
                if (toughogre == null)
                {
                    componentSource.Character     = Defs.EnemyFaction.SpawnMember(position, Defs.ToughOgreDef);
                    componentSource.ShouldDestroy = true;
                }
                else
                {
                    componentSource.Character = toughogre;
                }
                break;

            case Material.YakHide:
            case Material.YakBone:
            case Material.YakFlesh:
            case Material.YakSkull:
            case Material.Milk:
                var yak = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Yak.ToString());
                if (yak == null)
                {
                    componentSource.Character     = Defs.NeutralFaction.SpawnMember(position, Defs.YakDef);
                    componentSource.ShouldDestroy = true;
                }
                else
                {
                    componentSource.Character = yak;
                }
                break;

            default:
                return(null);
            }
            return(componentSource);
        }
コード例 #2
0
ファイル: ItemCreator.cs プロジェクト: klanderso/YAGE
        private ComponentSource GetComponentSource(Material material, Vector3 position)
        {
            var componentSource = new ComponentSource();
            var characters = GnomanEmpire.Instance.EntityManager.Entities.Where(x => x.Value.TypeID() == (int) GameEntityType.Character).Select(x => x.Value).Cast<Character>();
            switch (material)
            {
                case Material.AlpacaHide:
                case Material.AlpacaBone:
                case Material.AlpacaFlesh:
                case Material.AlpacaSkull:
                    var alpaca = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Alpaca.ToString());
                    if (alpaca == null)
                    {
                        componentSource.Character = Defs.NeutralFaction.SpawnMember(position, Defs.AlpacaDef);
                        componentSource.ShouldDestroy = true;
                    }
                    else
                    {
                        componentSource.Character = alpaca;
                    }
                    break;
                case Material.BearHide:
                case Material.BearBone:
                case Material.BearFlesh:
                case Material.BearSkull:
                    var bear = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Bear.ToString());
                    if (bear == null)
                    {
                        componentSource.Character = Defs.WildFaction.SpawnMember(position, Defs.BearDef);
                        componentSource.ShouldDestroy = true;
                    }
                    else
                    {
                        componentSource.Character = bear;
                    }
                    break;
                case Material.EmuHide:
                case Material.EmuBone:
                case Material.EmuFlesh:
                case Material.EmuSkull:
                case Material.Egg:
                    var emu = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Emu.ToString());
                    if (emu == null)
                    {
                        componentSource.Character = Defs.NeutralFaction.SpawnMember(position, Defs.EmuDef);
                        componentSource.ShouldDestroy = true;
                    }
                    else
                    {
                        componentSource.Character = emu;
                    }

                    break;
                case Material.HoneyBadgerHide:
                case Material.HoneyBadgerBone:
                case Material.HoneyBadgerFlesh:
                case Material.HoneyBadgerSkull:
                    var badger = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.HoneyBadger.ToString());
                    if (badger == null)
                    {
                        componentSource.Character = Defs.WildFaction.SpawnMember(position, Defs.HoneyBadgerDef);
                        componentSource.ShouldDestroy = true;
                    }
                    else
                    {
                        componentSource.Character = badger;
                    }
                    break;
                case Material.MonitorLizardHide:
                case Material.MonitorLizardBone:
                case Material.MonitorLizardFlesh:
                case Material.MonitorLizardSkull:
                    var lizard = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.MonitorLizard.ToString());
                    if (lizard == null)
                    {
                        componentSource.Character = Defs.WildFaction.SpawnMember(position, Defs.MonitorLizardDef);
                        componentSource.ShouldDestroy = true;
                    }
                    else
                    {
                        componentSource.Character = lizard;
                    }
                    break;
                case Material.OgreHide:
                case Material.OgreBone:
                case Material.OgreFlesh:
                case Material.OgreSkull:
                    var ogre = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Ogre.ToString());
                    if (ogre == null)
                    {
                        componentSource.Character = Defs.EnemyFaction.SpawnMember(position, Defs.OgreDef);
                        componentSource.ShouldDestroy = true;
                    }
                    else
                    {
                        componentSource.Character = ogre;
                    }
                    break;
                case Material.ToughOgreHide:
                    var toughogre = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.BlueOgre.ToString());
                    if (toughogre == null)
                    {
                        componentSource.Character = Defs.EnemyFaction.SpawnMember(position, Defs.ToughOgreDef);
                        componentSource.ShouldDestroy = true;
                    }
                    else
                    {
                        componentSource.Character = toughogre;
                    }
                    break;
                case Material.YakHide:
                case Material.YakBone:
                case Material.YakFlesh:
                case Material.YakSkull:
                case Material.Milk:
                    var yak = characters.FirstOrDefault(x => x.RaceID.ToString() == RaceID.Yak.ToString());
                    if (yak == null)
                    {
                        componentSource.Character = Defs.NeutralFaction.SpawnMember(position, Defs.YakDef);
                        componentSource.ShouldDestroy = true;
                    }
                    else
                    {
                        componentSource.Character = yak;
                    }
                    break;
                default:
                    return null;
            }
            return componentSource;
        }