public static ActorPathManager GetInstance()
 {
     if (instance == null)
     {
         lock (_lock)
         {
             if (instance == null)
             {
                 instance = new ActorPathManager();
             }
         }
     }
     return(instance);
 }
Exemple #2
0
    public void CreateNewActor(Actor actor, Vector3 pos)
    {
        GameObject actorObj = (GameObject)Object.Instantiate(Resources.Load("GameScene/Actor"));
        int        actorId  = this.GenerateNewActorId();

        actorObj.transform.name       = "Actor_" + actorId.ToString("D3");
        actorObj.transform.localScale = new Vector3(1, 1, 1);
        actorObj.transform.position   = pos;
        ActorController actorCtrl = actorObj.GetComponent <ActorController>();

        actor.ActorId            = actorId;
        actorCtrl.TargetBuilding =
            BuildingsManager.GetInstance()
            .GetBaseBuildingOfFaction(actor.FactionType == FactionType.Blue ? FactionType.Red : FactionType.Blue);
        actorCtrl.ActorPath = ActorPathManager.GetInstance()
                              .GenerateNewPath(pos, actorCtrl.TargetBuilding.transform.position);
        actorCtrl.MyActor = actor;
        this.actorsDictionary.Add(actorId, actorObj);
    }