Inheritance: MonoBehaviour
    public override uint OnCollision(HitDetection hit)
    {
        int     iVar4;
        Vehicle vVar9;

        if (hit.self.type == 2 && (hit.self.flags & 0x4000000) == 0)
        {
            vVar9 = (Vehicle)hit.self;

            if (vVar9.id < 0)
            {
                GameManager.instance.FUN_15AA8(~vVar9.id, 8, 255, 64, 16);
            }

            vVar9.physics1.X += DAT_90.physics1.Z * 2 - vVar9.DAT_A6;
            vVar9.physics1.Z += DAT_90.physics2.X * 2 - vVar9.DAT_A6;

            if (DAT_94 == null)
            {
                DAT_94 = vVar9;
                DAT_98 = 0x20000 - vVar9.DAT_A6 * 4;
            }
        }

        return(0);
    }
    public override uint OnCollision(HitDetection hit)
    {
        int       iVar3;
        Color32   cVar3;
        bool      bVar7;
        VigObject oVar7;
        Vehicle   vVar7;

        oVar7 = hit.self;

        if (oVar7.type == 2)
        {
            vVar7 = (Vehicle)oVar7;
            vVar7.FUN_3A064(-100, vTransform.position, true); //-200
            iVar3 = GameManager.instance.FUN_1DD9C();
            GameManager.instance.FUN_1E628(iVar3, GameManager.instance.DAT_C2C, 63, vTransform.position);
            bVar7 = LevelManager.instance.FUN_39AF8(vVar7);
            LevelManager.instance.FUN_4DE54(vTransform.position, 35);
            cVar3 = new Color32(0x80, 0x80, 0x00, 8);
        }
        else
        {
            LevelManager.instance.FUN_4DE54(vTransform.position, 35);
            iVar3 = GameManager.instance.FUN_1DD9C();
            GameManager.instance.FUN_1E580(iVar3, GameManager.instance.DAT_C2C, 63, vTransform.position);
            cVar3 = new Color32(0x80, 0x00, 0x00, 8);
        }

        UIManager.instance.FUN_4E414(vTransform.position, cVar3);
        GameManager.instance.FUN_309A0(this);
        return(0xffffffff);
    }
示例#3
0
    public override uint OnCollision(HitDetection hit)
    {
        VigObject oVar9;

        oVar9 = hit.self;

        if (oVar9.type != 2)
        {
            if (oVar9.type != 8)
            {
                return(0);
            }

            FUN_32B90(oVar9.maxHalfHealth);
            return(0);
        }

        if (DAT_8C != 0)
        {
            FUN_33798(hit, DAT_84_2 * 2);
        }

        oVar9.PDAT_74 = this;
        return(0);
    }
示例#4
0
    public override uint OnCollision(HitDetection hit)
    {
        Ballistic puVar7;
        uint      uVar8;
        int       iVar15;

        GameManager.instance.FUN_2F798(this, hit);

        if (hit.self.type == 2)
        {
            puVar7        = vData.ini.FUN_2C17C(2, typeof(Ballistic), 8) as Ballistic;
            puVar7.flags  = 0x24;
            puVar7.screen = screen;
            puVar7.vTransform.rotation = Utilities.FUN_2A5EC(hit.normal1);
            iVar15 = GameManager.instance.FUN_1DD9C();
            GameManager.instance.FUN_1E580(iVar15, GameManager.instance.DAT_C2C, 65, puVar7.screen);
            puVar7.FUN_305FC();
            tags  = 1;
            uVar8 = flags | 0x22;
            flags = uVar8;
            GameManager.instance.FUN_30CB0(this, 75);
            return(0);
        }

        if (hit.self.type == 3)
        {
            return(0);
        }

        flags |= 0x100;
        return(0);
    }
示例#5
0
    public override uint OnCollision(HitDetection hit)
    {
        int        iVar7;
        VigObject  oVar9;
        Vehicle    vVar9;
        Vector3Int local_30;

        local_30 = new Vector3Int(0, -0x20000, 0);
        oVar9    = hit.self;

        if (oVar9.type == 0)
        {
            return(1);
        }

        if (oVar9.type == 2)
        {
            vVar9 = (Vehicle)oVar9;
            vVar9.FUN_2B370(local_30, screen);

            if (vVar9.id < 0)
            {
                GameManager.instance.FUN_15B00(~vVar9.id, 255, 4, 64);
            }
        }

        GameManager.instance.FUN_300B8(GameManager.instance.DAT_10C8, this);
        iVar7 = GameManager.instance.FUN_1DD9C();
        GameManager.instance.FUN_1E628(iVar7, GameManager.instance.DAT_C2C, 65, vTransform.position);
        LevelManager.instance.FUN_4DE54(screen, 39);
        LevelManager.instance.FUN_309C8(this, 0);
        return(0xffffffff);
    }
示例#6
0
    // Start is called before the first frame update
    void Start()
    {
        hitDetect          = GetComponentInChildren <HitDetection>();
        attackAnimator     = GetComponentInChildren <Animator>();
        shootingProjectile = GetComponent <ShootingProjectiles>();
        stats         = GetComponent <PlayerStats>();
        body          = GetComponent <Rigidbody2D>();
        currentHealth = stats.getHealth();
        resources     = GetComponent <ResourceBag>();
        resources.initEmpty();

        abovePlayerUI = (Instantiate(Resources.Load("UI/Healthbar")) as GameObject);
        healthbar     = abovePlayerUI.GetComponentInChildren <Slider>();
        nameUI        = abovePlayerUI.GetComponentInChildren <TMPro.TextMeshProUGUI>();

        spawn           = new Vector2(transform.position.x, transform.position.y);
        timeOfLastClick = Time.time;

        if (isLocalPlayer)
        {
            hitDetect.isTheLocalPlayer = true;
            uiControl        = GameObject.FindObjectOfType <UI_Control>();
            uiControl.player = this;
            UI_Camera uiCamera = GameObject.FindGameObjectWithTag("MainCamera").GetComponent <UI_Camera>();
            mnmenu = GameObject.FindObjectOfType <MonumentalNetworkMenu>();
            uiCamera.followTarget = this.gameObject;
            currentHealth         = stats.getHealth();
            spriteRender          = this.GetComponent <SpriteRenderer>();
            spriteRender.sprite   = classSprites[stats.Class];
        }
    }
示例#7
0
    public override uint OnCollision(HitDetection hit)
    {
        VigObject oVar1;
        Vehicle   vVar1;
        int       iVar3;

        oVar1 = hit.self;

        if (oVar1.type == 0)
        {
            return(1);
        }

        if (oVar1.type == 2)
        {
            vVar1 = (Vehicle)oVar1;
            vVar1.FUN_2B370(GameManager.DAT_A5C, screen);
            vVar1.FUN_39714(screen);

            if (vVar1.type < 0)
            {
                GameManager.instance.FUN_15B00(~vVar1.id, 255, 4, 64);
            }
        }

        GameManager.instance.FUN_300B8(GameManager.instance.DAT_10C8, this);
        iVar3 = GameManager.instance.FUN_1DD9C();
        GameManager.instance.FUN_1E628(iVar3, GameManager.instance.DAT_C2C, 65, screen);
        LevelManager.instance.FUN_4DE54(screen, 39);
        LevelManager.instance.FUN_309C8(this, 0);
        return(0xffffffff);
    }
示例#8
0
    public override uint OnCollision(HitDetection hit)
    {
        VigObject oVar1;
        int       iVar2;

        oVar1 = hit.self;

        if (oVar1.type == 3)
        {
            return(0);
        }

        if (oVar1.type == 2)
        {
            oVar1.physics1.Y = -195200;
            oVar1.physics2.Y = 50000;

            if (oVar1.id < 0)
            {
                GameManager.instance.FUN_15B00(~oVar1.id, 255, 2, 128);
            }
        }

        iVar2 = GameManager.instance.FUN_1DD9C();
        GameManager.instance.FUN_1E628(iVar2, GameManager.instance.DAT_C2C, 65, vTransform.position);
        LevelManager.instance.FUN_4DE54(vTransform.position, 42);
        GameManager.instance.FUN_309A0(this);
        return(0xffffffff);
    }
示例#9
0
    public override uint OnCollision(HitDetection hit)
    {
        uint    uVar7;
        int     iVar8;
        Vehicle vVar12;

        if (hit.self.type != 2)
        {
            return(0);
        }

        vVar12             = (Vehicle)hit.self;
        vVar12.physics1.Y  = -195200;
        vVar12.physics2.Y += 4000;
        uVar7              = GameManager.FUN_2AC5C();

        if ((uVar7 & 31) != 0)
        {
            return(0);
        }

        iVar8 = vVar12.FUN_3B078(DAT_80, (ushort)DAT_1A, -30, 1);
        vVar12.FUN_3A020(iVar8, DAT_20, true);
        return(0);
    }
示例#10
0
    public override uint OnCollision(HitDetection hit)
    {
        bool    bVar2;
        Vehicle vVar4;

        if (hit.self.type != 2)
        {
            return(0);
        }

        vVar4 = (Vehicle)hit.self;

        if (!hitList.Contains(vVar4))
        {
            bVar2 = LevelManager.instance.FUN_39AF8(vVar4);

            if (bVar2)
            {
                vVar4.physics1.Y -= 0xee680;
                UIManager.instance.FUN_4E414(vTransform.position, new Color32(0xff, 0xff, 0x00, 8));
            }

            //flags |= 0x20;
            hitList.Add(vVar4);
        }

        return(0);
    }
示例#11
0
    public override uint OnCollision(HitDetection hit)
    {
        VigObject  oVar2;
        Vehicle    vVar2;
        int        iVar5;
        Vector3Int local_10;

        oVar2 = hit.self;

        if (oVar2.type == 2)
        {
            vVar2 = (Vehicle)oVar2;
            iVar5 = GameManager.instance.FUN_1DD9C();
            GameManager.instance.FUN_1E628(iVar5, vData.sndList, 6, vTransform.position);
            iVar5 = GameManager.instance.FUN_1DD9C();
            GameManager.instance.FUN_1E628(iVar5, GameManager.instance.DAT_C2C, 24, vTransform.position);
            LevelManager.instance.FUN_4DE54(vTransform.position, 144);
            UIManager.instance.FUN_4E414(vTransform.position, new Color32(0x00, 0x80, 0x00, 8));
            local_10   = new Vector3Int();
            local_10.x = physics1.Y << 6;
            local_10.y = physics1.Z << 6;
            local_10.z = physics1.W << 6;
            vVar2.FUN_2B370(local_10, vTransform.position);
            DAT_80    = this;
            flags    |= 0x20;
            screen.y -= 0xfa000;
        }

        return(0);
    }
示例#12
0
    public override uint OnCollision(HitDetection hit)
    {
        uint      uVar2;
        VigObject ppcVar3;

        ppcVar3 = hit.self;

        if (ppcVar3.type == 3 && DAT_80 != null)
        {
            hit.self = DAT_80;

            if (ppcVar3.GetType().IsSubclassOf(typeof(VigObject)))
            {
                ppcVar3.OnCollision(hit);
            }

            uVar2 = 1;
        }
        else
        {
            FUN_32CF0(hit);
            uVar2 = 0;
        }

        return(uVar2);
    }
示例#13
0
    public override uint OnCollision(HitDetection hit)
    {
        VigObject oVar4;
        VigTuple2 tVar5;
        int       iVar6;

        if ((flags & 0x80) == 0)
        {
            oVar4 = GameManager.instance.FUN_318F8(id, this);

            if (oVar4.tags < 6)
            {
                tVar5 = GameManager.instance.FUN_2FFD0(oVar4.id);

                if (tVar5 != null)
                {
                    LevelManager.instance.FUN_359CC(tVar5.array, 0);
                }

                PDAT_74 = oVar4;

                if ((oVar4.flags & 0x80) == 0)
                {
                    GameManager.instance.FUN_30CB0(oVar4, 0);
                }

                maxHalfHealth = 90;
                FUN_30B78();
                iVar6 = GameManager.instance.FUN_1DD9C();
                GameManager.instance.FUN_1E628(iVar6, vData.sndList, 3, screen);
            }
        }

        return(0);
    }
示例#14
0
    public override uint OnCollision(HitDetection hit)
    {
        ushort uVar1;
        bool   bVar2;
        BufferedBinaryReader brVar3;

        if (hit.self.type != 8)
        {
            return(0);
        }

        if (maxHalfHealth < hit.self.maxHalfHealth)
        {
            uVar1         = (ushort)child2.DAT_1A;
            maxHalfHealth = maxFullHealth;
            bVar2         = child2.FUN_4DC94();

            if (bVar2)
            {
                brVar3       = vData.FUN_2CBB0(uVar1);
                child2.vAnim = new BufferedBinaryReader(null);
                child2.vAnim.ChangeBuffer(brVar3);
            }
        }
        else
        {
            maxHalfHealth -= hit.self.maxHalfHealth;
        }

        return(0);
    }
示例#15
0
    public override uint OnCollision(HitDetection hit)
    {
        Vehicle    vVar1;
        Vector3Int local_18;
        Vector3Int local_10;

        if (hit.self.type != 2)
        {
            return(0);
        }

        vVar1 = (Vehicle)hit.self;
        Utilities.FUN_2A168(out local_18, vTransform.position, vVar1.vTransform.position);
        local_10   = new Vector3Int();
        local_10.x = local_18.x << 4;
        local_10.z = local_18.z << 4;
        local_10.y = local_18.y << 1;
        vVar1.FUN_2B370(local_10, vTransform.position);

        if (vVar1.id < 0)
        {
            GameManager.instance.FUN_15B00(~vVar1.id, 255, 2, 128);
        }

        FUN_2444(vVar1);
        return(0);
    }
示例#16
0
    public override uint OnCollision(HitDetection hit)
    {
        uint         uVar7;
        VigObject    oVar12;
        Vector3Int   local_60;
        HitDetection auStack72;

        oVar12 = hit.self;
        uVar7  = GameManager.FUN_2AC5C();

        if ((uVar7 & 31) != 0)
        {
            return(0);
        }

        auStack72 = new HitDetection(null);
        GameManager.instance.FUN_2FB70(this, hit, auStack72);
        local_60 = Utilities.FUN_24148(oVar12.vTransform, auStack72.position);
        UIManager.instance.FUN_4E414(local_60, new Color32(0x80, 0x00, 0x00, 8));
        LevelManager.instance.FUN_4DE54(local_60, 143);

        if (oVar12.type != 2)
        {
            return(0);
        }

        if (-1 < oVar12.id)
        {
            return(0);
        }

        GameManager.instance.FUN_15ADC(~oVar12.id, 32);
        return(0);
    }
 void Start()
 {
     lock_on          = false;
     potential_Target = false;
     thisobject       = GetComponent <HitDetection>();
     lock_onplayer    = GameObject.FindGameObjectWithTag("Player").GetComponent <Lock_OnBehaviour>();
 }
示例#18
0
    public override uint OnCollision(HitDetection hit)
    {
        if (hit.self.type != 8)
        {
            return(0);
        }

        return(FUN_32B90(hit.self.maxHalfHealth) ? 1U : 0);
    }
示例#19
0
    public override uint OnCollision(HitDetection hit)
    {
        VigObject  oVar1;
        Vehicle    vVar1;
        Vector3Int local_10;

        if (hit.object2.type != 3)
        {
            GameManager.instance.FUN_2F798(this, hit);
            FUN_60(hit.normal1);
            oVar1 = hit.self;

            if (oVar1.type == 2)
            {
                vVar1    = (Vehicle)oVar1;
                local_10 = new Vector3Int();

                if (tags == 0)
                {
                    local_10.x = physics1.Z << 6;
                    local_10.y = physics1.W << 6;
                    local_10.z = physics2.X << 6;
                }
                else
                {
                    local_10.x = physics1.Z * 0x60;
                    local_10.y = physics1.W * 0x60;
                    local_10.z = physics2.X * 0x60;
                }

                vVar1.FUN_2B370(local_10, vTransform.position);
                vVar1.physics1.Y = -0x47800;

                if (vVar1.id < 0)
                {
                    GameManager.instance.FUN_15B00(~vVar1.id, 255, 8, 32);
                }

                if (tags == 0)
                {
                    vVar1.physics2.Z *= 24;
                    vVar1.physics2.X *= 24;
                }
                else
                {
                    UIManager.instance.FUN_4E414(vTransform.position, new Color32(0xff, 0xff, 0xff, 8));
                    vVar1.physics2.Z <<= 4;
                    vVar1.physics2.X <<= 4;
                }
            }

            GameManager.instance.FUN_309A0(this);
            return(0xffffffff);
        }

        return(0);
    }
示例#20
0
    public override uint OnCollision(HitDetection hit)
    {
        uint         uVar1;
        int          iVar1;
        VigTransform tVar2;
        bool         bVar3;
        VigObject    oVar3;
        Vehicle      vVar3;
        Vector3Int   local_68;
        Vector3Int   local_58;
        Vector3Int   local_48;
        HitDetection auStack56;

        oVar3 = hit.self;
        uVar1 = 0;

        if (oVar3.type == 2)
        {
            vVar3      = (Vehicle)oVar3;
            tVar2      = GameManager.instance.FUN_2CDF4(this);
            local_68   = new Vector3Int();
            local_68.x = tVar2.rotation.V02 << 3;
            local_68.z = tVar2.rotation.V22 << 3;
            local_68.y = -0x4180;
            local_58   = local_68;
            auStack56  = new HitDetection(null);
            GameManager.instance.FUN_2FB70(this, hit, auStack56);
            local_48   = new Vector3Int();
            local_48.x = auStack56.position.x / 2;
            local_48.y = auStack56.position.y / 2;
            local_48.z = auStack56.position.z / 2;
            local_48   = Utilities.FUN_24148(vVar3.vTransform, local_48);
            vVar3.FUN_2B370(local_68, local_48);

            if (vVar3.id < 0)
            {
                vVar3.FUN_3A064(-1, vTransform.position, true);
            }

            bVar3 = LevelManager.instance.FUN_39AF8(vVar3);
            uVar1 = 0;

            if (bVar3)
            {
                iVar1 = GameManager.instance.FUN_1DD9C();
                GameManager.instance.FUN_1E580(iVar1, GameManager.instance.DAT_C2C, 69, vTransform.position);
                iVar1 = GameManager.instance.FUN_1DD9C();
                GameManager.instance.FUN_1E580(iVar1, GameManager.instance.DAT_C2C, 25, vTransform.position);
                LevelManager.instance.FUN_4DE54(vTransform.position, 35);
                UIManager.instance.FUN_4E414(vTransform.position, new Color32(0x80, 0x80, 0x00, 8));
                uVar1 = 0;
            }
        }

        return(uVar1);
    }
 void Start()
 {
     soundManager    = SoundManager.instance;
     Physics.gravity = new Vector3(0, -10, 0);
     hitDetection    = GetComponent <HitDetection>();
     rigidbody       = GetComponent <Rigidbody>();
     animator        = GetComponent <Animator>();
     facingRight     = true;
     canDash         = true;
 }
示例#22
0
    public override uint OnCollision(HitDetection hit)
    {
        if (hit.self.type == 3)
        {
            return(0);
        }

        FUN_4DC94();
        return(0);
    }
示例#23
0
    public override uint OnCollision(HitDetection hit)
    {
        VigObject  oVar4;
        Vehicle    vVar4;
        int        iVar6;
        Vector3Int local_40;
        Vector3Int local_30;
        Vector3Int local_20;

        oVar4 = hit.self;

        if (oVar4.type == 2)
        {
            vVar4 = (Vehicle)oVar4;
            Utilities.FUN_2A168(out local_40, vTransform.position, vVar4.vTransform.position);
            local_30   = new Vector3Int();
            local_30.y = -0xE0000;
            iVar6      = local_40.x * 0x1400;
            local_30.x = local_40.x << 5;
            local_30.z = local_40.z << 5;

            if (iVar6 < 0)
            {
                iVar6 += 4095;
            }

            local_20   = new Vector3Int();
            local_20.x = vVar4.vTransform.position.x + (iVar6 >> 12);
            local_20.y = vVar4.vTransform.position.y;
            iVar6      = local_40.y * 0x1400;

            if (iVar6 < 0)
            {
                iVar6 += 4095;
            }

            local_20.z = vVar4.vTransform.position.z + (iVar6 >> 12);
            vVar4.FUN_2B370(local_30, local_20);

            if (tags != 0)
            {
                tags = 0;
            }

            flags |= 0x20;
            return(0);
        }

        if (oVar4.type != 8)
        {
            return(0);
        }

        return(UpdateW(8, oVar4.maxHalfHealth));
    }
示例#24
0
    public override uint OnCollision(HitDetection hit)
    {
        List <VigTuple> ppiVar1;
        VigTuple        ppiVar2;
        int             iVar3;
        bool            bVar4;
        VigObject       oVar4;

        if (hit.collider1.ReadUInt16(0) == 1 && hit.collider1.ReadUInt16(2) != 0 &&
            hit.self.type == 2)
        {
            ppiVar1 = ((OLYMPIC)LevelManager.instance.level).DAT_98;

            for (int i = 0; i < ppiVar1.Count; i++)
            {
                ppiVar2 = ppiVar1[i];
                oVar4   = ppiVar2.vObject;

                if (oVar4.id == hit.self.id)
                {
                    if (oVar4.DAT_19 != id)
                    {
                        return(0);
                    }

                    oVar4.DAT_19++;
                    iVar3 = GameManager.instance.FUN_1DD9C();
                    GameManager.instance.FUN_1E580(iVar3, vData.sndList, 2, vTransform.position);
                    GameManager.instance.FUN_1E30C(iVar3, (id - 33) * 250 + 0x1000);
                    return(0);
                }
            }
        }
        else
        {
            bVar4 = FUN_32CF0(hit);

            if (bVar4)
            {
                oVar4 = child2;

                while (oVar4 != null)
                {
                    if (oVar4.id == 1)
                    {
                        oVar4.type = 3;
                    }

                    oVar4 = oVar4.child;
                }
            }
        }

        return(0);
    }
示例#25
0
    public override uint OnCollision(HitDetection hit)
    {
        bool       bVar3;
        VigObject  oVar3;
        Vehicle    vVar3;
        Vector3Int local_20;
        Vector3Int auStack16;

        oVar3 = hit.self;

        if (oVar3.type == 8)
        {
            bVar3 = FUN_32B90(oVar3.maxHalfHealth);

            if (!bVar3)
            {
                return(0);
            }

            GameManager.instance.FUN_309A0(this);
        }
        else
        {
            if (oVar3.type != 2)
            {
                return(0);
            }

            vVar3 = (Vehicle)oVar3;

            if (-1 < physics2.Y * (vVar3.vTransform.position.z - vTransform.position.z))
            {
                GameManager.instance.FUN_2F798(this, hit);
                auStack16 = Utilities.FUN_24148(vTransform, hit.position);
                LevelManager.instance.FUN_4DE54(auStack16, 142);

                if (vVar3.physics1.Z * physics2.Y < 0)
                {
                    vVar3.physics1.Z = -vVar3.physics1.Z;
                }

                local_20   = new Vector3Int();
                local_20.x = 0;
                local_20.y = -195200;
                local_20.z = physics2.Y << 5;
                DAT_A0_2   = 60;
                physics2.Y = -physics2.Y;
                vVar3.FUN_2B370(local_20, auStack16);
                vVar3.FUN_3A020(-100, DAT_F4, true);
                return(0xffffffff);
            }
        }

        return(0xffffffff);
    }
    public override uint OnCollision(HitDetection hit)
    {
        ushort          uVar1;
        bool            bVar2;
        int             iVar2;
        VigObject       oVar2;
        uint            uVar3;
        VigTransform    tVar4;
        SheetMetalDrum2 puVar4;
        Vector3Int      local_10;

        bVar2 = FUN_32CF0(hit);
        uVar3 = 0;

        if (bVar2)
        {
            oVar2            = child2;
            tVar4            = GameManager.instance.FUN_2CDF4(oVar2);
            oVar2.vTransform = tVar4;
            oVar2.FUN_2CCBC();
            puVar4               = Utilities.FUN_52188(oVar2, typeof(SheetMetalDrum2)) as SheetMetalDrum2;
            puVar4.id            = 1000;
            iVar2                = puVar4.screen.y * -0x3243;
            puVar4.flags        |= 0x80; //originally 0x88
            uVar1                = maxFullHealth;
            puVar4.DAT_A8        = -puVar4.screen.y;
            puVar4.maxHalfHealth = uVar1;

            if (iVar2 < 0)
            {
                iVar2 += 4095;
            }

            local_10           = new Vector3Int();
            local_10.x         = puVar4.vTransform.position.x;
            puVar4.DAT_A4      = (short)(0x1000000 / (iVar2 >> 12));
            local_10.y         = puVar4.vTransform.position.y + puVar4.DAT_A8;
            local_10.z         = puVar4.vTransform.position.z;
            iVar2              = puVar4.FUN_2CFBC(local_10);
            puVar4.physics2.W  = iVar2;
            puVar4.physics2.Z  = iVar2 - 655;
            puVar4.DAT_A0_2    = 240;
            puVar4.physics2.Y  = 0x1999;
            puVar4.physics1.M6 = 0;
            puVar4.physics1.M7 = 0;
            puVar4.physics2.M0 = 0;
            puVar4.FUN_2D1DC();
            puVar4.FUN_4C98C();
            puVar4.FUN_305FC();
            GameManager.instance.FUN_4C4BC(puVar4.vShadow); //not in the original code
        }

        return(uVar3);
    }
示例#27
0
    public override uint OnCollision(HitDetection hit)
    {
        Ballistic    puVar3;
        int          iVar4;
        VigTransform puVar5;
        VigObject    oVar6;
        Vehicle      vVar6;
        Vector3Int   local_50;
        Vector3Int   local_20;
        Vector3Int   local_10;
        HitDetection auStack136;

        oVar6 = hit.self;
        FUN_32CF0(hit);
        auStack136 = new HitDetection(null);
        GameManager.instance.FUN_2FB70(this, hit, auStack136);
        local_50 = new Vector3Int(auStack136.position.x / 2, auStack136.position.y / 2, auStack136.position.z / 2);
        local_50 = Utilities.FUN_24148(oVar6.vTransform, local_50);
        puVar3   = LevelManager.instance.xobfList[19].ini.FUN_2C17C
                       ((ushort)GloryRocket.DAT_1510[DAT_19], typeof(Ballistic), 8, typeof(VigChild)) as Ballistic;
        puVar3.type   = 7;
        puVar3.flags  = 0x24;
        puVar3.screen = local_50;
        puVar3.FUN_3066C();

        if (oVar6.type == 2)
        {
            vVar6      = (Vehicle)oVar6;
            puVar5     = GameManager.instance.FUN_2CDF4(this);
            local_10   = new Vector3Int(0, 0, 0);
            local_20   = new Vector3Int();
            local_20.x = (puVar5.rotation.V02 << 11) / 96;
            local_20.y = (puVar5.rotation.V12 << 11) / 96;
            local_20.z = (puVar5.rotation.V22 << 11) / 96;
            local_10   = local_20;
            vVar6.FUN_2B370(local_20, local_50);
            vVar6.vTransform.position.y -= 0xa00;
            iVar4 = (int)GameManager.FUN_2AC5C();

            if ((iVar4 << 2) >> 15 == 0 && vVar6.GetPowerup(DAT_19) != 0)
            {
                iVar4      = (int)GameManager.FUN_2AC5C();
                local_10.x = (iVar4 * 3051 >> 15) - 1525;
                local_10.y = -4577;
                iVar4      = (int)GameManager.FUN_2AC5C();
                local_10.z = (iVar4 * 3051 >> 15) - 1525;
                LevelManager.instance.FUN_4AAC0(0x40000U << (DAT_19 + 1 & 31), vVar6.vTransform.position, local_10);
                vVar6.SetPowerup(DAT_19, 0);
            }
        }

        flags |= 0x20;
        return(0);
    }
示例#28
0
    public override uint OnCollision(HitDetection hit)
    {
        int             iVar2;
        ConfigContainer ccVar3;
        VigCamera       cVar3;
        Vehicle         puVar4;
        VigTransform    auStack40;

        if (hit.collider1.ReadUInt16(0) == 1 && hit.collider1.ReadUInt16(2) != 0 &&
            hit.self.type == 2)
        {
            ccVar3 = FUN_2C5F4(0x8000);

            if (ccVar3 != null)
            {
                puVar4 = (Vehicle)hit.self;
                iVar2  = GameManager.instance.FUN_1DD9C();
                GameManager.instance.FUN_1E580(iVar2, GameManager.instance.DAT_C2C, 36, puVar4.vTransform.position);
                GameManager.instance.FUN_1E2C8(puVar4.DAT_18, 0);
                puVar4.state  = _VEHICLE_TYPE.Lighthouse;
                puVar4.tags   = 0;
                puVar4.flags  = puVar4.flags & 0xfffffffd | 0x6000020;
                auStack40     = GameManager.instance.FUN_2CEAC(this, ccVar3);
                puVar4.screen = auStack40.position;
                puVar4.vr     = ccVar3.v3_2;
                puVar4.vr.y  += vr.y;
                GameManager.instance.FUN_2F798(this, hit);
                puVar4.physics1.X = hit.normal1.x * 476;
                puVar4.physics1.Y = hit.normal1.y * 476;
                puVar4.physics1.Z = hit.normal1.z * 476;
                puVar4.physics2.X = 0;
                puVar4.physics2.Y = 0;
                puVar4.physics2.Z = 0;
                cVar3             = puVar4.vCamera;

                if (cVar3 != null)
                {
                    cVar3.DAT_84 = new Vector3Int(0, 0, 0);
                    cVar3.flags |= 0xc000000;
                }

                GameManager.instance.FUN_30CB0(puVar4, 64);
                return(0);
            }
        }

        if (hit.self.type != 8)
        {
            return(0);
        }

        hit.object1.FUN_32B90(hit.self.maxHalfHealth);
        return(0);
    }
示例#29
0
    public override uint OnCollision(HitDetection hit)
    {
        int       iVar3;
        int       iVar6;
        int       iVar9;
        VigObject oVar9;

        oVar9 = hit.self;

        if (oVar9.type != 2)
        {
            if (oVar9.type == 8)
            {
                FUN_32B90(oVar9.maxHalfHealth);
                return(0);
            }

            return(0);
        }

        iVar3 = (int)FUN_33798(hit, DAT_8C);

        if (iVar3 == 0)
        {
            return(0);
        }

        iVar6 = GameManager.instance.FUN_1DD9C();
        GameManager.instance.FUN_1E580(iVar6, GameManager.instance.DAT_C2C, 7, oVar9.vTransform.position);

        if (tags != 12)
        {
            return(0);
        }

        iVar3 = DAT_8C - 1525;
        iVar9 = 0;

        if (0 < iVar3)
        {
            iVar9 = iVar3;
        }

        DAT_8C = iVar9;

        if (iVar9 != 0)
        {
            return(0);
        }

        //FUN_326B0
        FUN_30BA8();
        return(0);
    }
示例#30
0
        /// <summary>
        /// returns the Battleships.RadarTile that corresponds to the passed Battleships.HitDetection
        /// </summary>
        /// <param name="hitDetection">the Battleships.Hitdetection that you want to convert to a Battleships.RadarTile</param>
        /// <returns>the RadarTile that corresponds to the HitDetection</returns>
        private RadarTile HitDetectionAsRadarTile(HitDetection hitDetection)
        { 
            switch (hitDetection)
            {
                case HitDetection.Hit: return RadarTile.ship;

                case HitDetection.Miss: return RadarTile.water;

                case HitDetection.Sink: return RadarTile.debris;
                default: return RadarTile.fog;
            }
        }
示例#31
0
 private uint FUN_440(HitDetection param1)
 {
     if (DAT_C0 == null)
     {
         FUN_32CF0(param1);
         return(0);
     }
     else
     {
         return((uint)DAT_C0.FUN_3B424(this, param1));
     }
 }
示例#32
0
 private void RefreshTiles(Coord[] coords, HitDetection toTypeByHit)
 {
     for (int i = 0; i < coords.Length; i++)
     {
         homeTiles[coords[i].Row, coords[i].Col] = HitDetectionToTileContent(toTypeByHit);
     }
 }
示例#33
0
 private TileContent HitDetectionToTileContent(HitDetection hitdetection)
 {
     TileContent result = TileContent.empty;
     switch (hitdetection)
     {
         case HitDetection.Hit: result = TileContent.hitShip;
             break;
         case HitDetection.Miss: result = TileContent.shell;
             break;
         case HitDetection.Sink: result = TileContent.sunkShip;
             break;
         default:
             break;
     }
     return result;
 }
示例#34
0
 void Start()
 {
     hitDetection = HitDetection.GetInstance ();
     hitDetection.OnHit += HandleOnHit;
     GetComponent<ParticleSystem> ().startColor = this.transform.parent.gameObject.GetComponent<CylinderBeatAnimator> ().Color;
 }