コード例 #1
0
ファイル: MoverComponent.cs プロジェクト: kukash/Physics2D
    public void Init()
    {
        int     randomInt = UnityEngine.Random.Range(0, 360);
        Vector2 dir       = Vector2.up;

        dir = Vector2DFunctions.RotateVec(dir, randomInt);
        Debug.Log("random DIR:" + dir);
        _info             = GetComponent <PhysicsInfo>();
        _info.Speed       = _speed;
        _info.Direction   = dir.normalized;
        _info.OldPosition = Vector2DFunctions.GetTransform2D(this);
    }
コード例 #2
0
ファイル: SATCollider.cs プロジェクト: kukash/Physics2D
 public override void Step()
 {
     if (!Static)
     {
         Info.OldPosition = Vector2DFunctions.GetTransform2D(this);
         Vector2DFunctions.Update2DTransform(Info.NewPosition, this);
         WriteAxises();
         //   Debug.Log("not static");
         if (Info.mover)
         {
             Info.mover.Step();
             // Debug.Log("has mover");
         }
     }
 }
コード例 #3
0
ファイル: SATCollider.cs プロジェクト: kukash/Physics2D
    public override void InitPhysicsComponent()
    {
        Info             = GetComponent <PhysicsInfo>();
        radiusX          = transform.localScale.x * 0.5f;
        radiusY          = transform.localScale.y * 0.5f;
        Info.OldPosition = Vector2DFunctions.GetTransform2D(this);
        Info.NewPosition = Info.OldPosition;
        Axises           = new Axis[4];
        Info.verticies   = new Vector2[4];
        Info.IsStatic    = Static;
        Info.radius      = transform.localScale.x / 2;
        WriteAxises();

        if (GetComponent <MoverComponent>())
        {
            Info.mover = GetComponent <MoverComponent>();
            Info.mover.Init();
            Info.Speed = Info.mover.GetSpeed();
        }
    }