Ejemplo n.º 1
0
        public void SetAttackVisibility(ParamData.AtkParam atk, bool visible, NewChrAsm asm, int dummyPolyOverride,
                                        ParamData.AtkParam.DummyPolySource defaultDummyPolySource)
        {
            if (dummyPolyOverride >= 0)
            {
                var fakeHitRadius = atk.Hits[0].Radius;
                var fakeHitType   = atk.Hits[0].HitType;
                var fakeHit       = new ParamData.AtkParam.Hit()
                {
                    DmyPoly1 = (short)dummyPolyOverride,
                    DmyPoly2 = -1,
                    Radius   = fakeHitRadius,
                    HitType  = fakeHitType,
                };
                ShowAttackOnDummyPoly(atk, dummyPolyOverride);
                SetHitVisibility(fakeHit, visible);
            }
            else
            {
                bool isFirstValidDmyPoly = true;
                for (int i = 0; i < atk.Hits.Length; i++)
                {
                    int dmyPoly1 = atk.Hits[i].DmyPoly1;

                    if (dmyPoly1 == -1)
                    {
                        continue;
                    }

                    var dmyPolySrcToUse = defaultDummyPolySource;

                    if (atk.HitSourceType == 1)
                    {
                        dmyPolySrcToUse = ParamData.AtkParam.DummyPolySource.Body;
                    }

                    if (visible && isFirstValidDmyPoly && dmyPoly1 != -1)
                    {
                        if (asm != null)
                        {
                            var dummyPolySrcOfAtk = atk.Hits[i].GetDmyPoly1SpawnPlace(asm, dmyPolySrcToUse);
                            dummyPolySrcOfAtk.ShowAttackOnDummyPoly(atk, dmyPoly1 % 1000);
                        }
                        else
                        {
                            ShowAttackOnDummyPoly(atk, dmyPoly1);
                        }

                        isFirstValidDmyPoly = false;
                    }

                    var actualHit = atk.Hits[i];

                    actualHit.DummyPolySourceSpawnedOn = dmyPolySrcToUse;

                    SetHitVisibility(actualHit, visible);
                }
            }
        }
Ejemplo n.º 2
0
        public void CreateChrAsm()
        {
            ChrAsm = new NewChrAsm(this);
            ChrAsm.InitSkeleton(Skeleton);

            MainMesh.Bounds = new BoundingBox(
                new Vector3(-0.5f, 0, -0.5f) * 1.75f,
                new Vector3(0.5f, 1, 0.5f) * 1.75f);
        }
Ejemplo n.º 3
0
 public void CopyFromChrAsm(NewChrAsm chrAsm)
 {
     GameType      = GameDataManager.GameType;
     HeadID        = chrAsm.HeadID;
     BodyID        = chrAsm.BodyID;
     ArmsID        = chrAsm.ArmsID;
     LegsID        = chrAsm.LegsID;
     RightWeaponID = chrAsm.RightWeaponID;
     //RightWeaponModelIndex = chrAsm.RightWeaponModelIndex;
     LeftWeaponID = chrAsm.LeftWeaponID;
     //LeftWeaponModelIndex = chrAsm.LeftWeaponModelIndex;
     LeftWeaponFlipBackwards  = chrAsm.LeftWeaponFlipBackwards;
     LeftWeaponFlipSideways   = chrAsm.LeftWeaponFlipSideways;
     RightWeaponFlipBackwards = chrAsm.RightWeaponFlipBackwards;
     RightWeaponFlipSideways  = chrAsm.RightWeaponFlipSideways;
     WeaponStyle = chrAsm.StartWeaponStyle;
 }
Ejemplo n.º 4
0
 public void WriteToChrAsm(NewChrAsm chrAsm)
 {
     chrAsm.HeadID        = HeadID;
     chrAsm.BodyID        = BodyID;
     chrAsm.ArmsID        = ArmsID;
     chrAsm.LegsID        = LegsID;
     chrAsm.RightWeaponID = RightWeaponID;
     //chrAsm.RightWeaponModelIndex = RightWeaponModelIndex;
     chrAsm.LeftWeaponID = LeftWeaponID;
     //chrAsm.LeftWeaponModelIndex = LeftWeaponModelIndex;
     chrAsm.LeftWeaponFlipBackwards  = LeftWeaponFlipBackwards;
     chrAsm.LeftWeaponFlipSideways   = LeftWeaponFlipSideways;
     chrAsm.RightWeaponFlipBackwards = RightWeaponFlipBackwards;
     chrAsm.RightWeaponFlipSideways  = RightWeaponFlipSideways;
     chrAsm.StartWeaponStyle         = WeaponStyle;
     //chrAsm.UpdateModels();
 }
Ejemplo n.º 5
0
 public void CopyFromChrAsm(NewChrAsm chrAsm)
 {
     GameType                    = GameDataManager.GameType;
     HeadID                      = chrAsm.HeadID;
     BodyID                      = chrAsm.BodyID;
     ArmsID                      = chrAsm.ArmsID;
     LegsID                      = chrAsm.LegsID;
     RightWeaponID               = chrAsm.RightWeaponID;
     RightWeaponModelIndex       = chrAsm.RightWeaponModelIndex;
     LeftWeaponID                = chrAsm.LeftWeaponID;
     LeftWeaponModelIndex        = chrAsm.LeftWeaponModelIndex;
     LeftWeaponFlipBackwards     = chrAsm.LeftWeaponFlipBackwards;
     LeftWeaponFlipSideways      = chrAsm.LeftWeaponFlipSideways;
     RightWeaponFlipBackwards    = chrAsm.RightWeaponFlipBackwards;
     RightWeaponFlipSideways     = chrAsm.RightWeaponFlipSideways;
     DS3RightWeaponAbsorpPosType = chrAsm.DS3RightWeaponAbsorpPosType;
     DS3LeftWeaponAbsorpPosType  = chrAsm.DS3LeftWeaponAbsorpPosType;
 }
Ejemplo n.º 6
0
 public void WriteToChrAsm(NewChrAsm chrAsm)
 {
     chrAsm.HeadID                      = HeadID;
     chrAsm.BodyID                      = BodyID;
     chrAsm.ArmsID                      = ArmsID;
     chrAsm.LegsID                      = LegsID;
     chrAsm.RightWeaponID               = RightWeaponID;
     chrAsm.RightWeaponModelIndex       = RightWeaponModelIndex;
     chrAsm.LeftWeaponID                = LeftWeaponID;
     chrAsm.LeftWeaponModelIndex        = LeftWeaponModelIndex;
     chrAsm.LeftWeaponFlipBackwards     = LeftWeaponFlipBackwards;
     chrAsm.LeftWeaponFlipSideways      = LeftWeaponFlipSideways;
     chrAsm.RightWeaponFlipBackwards    = RightWeaponFlipBackwards;
     chrAsm.RightWeaponFlipSideways     = RightWeaponFlipSideways;
     chrAsm.DS3RightWeaponAbsorpPosType = DS3RightWeaponAbsorpPosType;
     chrAsm.DS3LeftWeaponAbsorpPosType  = DS3LeftWeaponAbsorpPosType;
     //chrAsm.UpdateModels();
 }