示例#1
0
    public MovementStrategyOrbitingCelestialBody(Unit unit, CelestialBody orbitingBody) : base(unit)
    {
        this.Cb                = orbitingBody;
        this.scale             = Cb.transform.localScale;
        this.rotationOffset    = UnityEngine.Random.Range(0, 2 * Mathf.PI);
        this.timeStartRotation = Time.time;
        this.rotationScale    += UnityEngine.Random.Range(rotationScaleMinMax.x, rotationScaleMinMax.y);

        Unit.GetComponent <Collider>().enabled = false;

        strategy = new MovementStrategyOrbitingCelestialBody_PrepareOrbit(Unit, Cb, this);
    }
示例#2
0
 internal void DesiredOrbitAchieved()
 {
     strategy = new MovementStrategyOrbitingCelestialBody_Orbit(Unit, Cb, this);
 }